aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2010-11-17 20:46:18 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2011-01-12 20:16:44 -0500
commitd6dc8462f471f7bbb49c42c147bf84de0c977099 (patch)
tree64624b26b2c2f551e2b579013d149c51c0716583
parentdb47fef2cd9aab76ab976e8b45a06a1b3ad0e3e4 (diff)
Ext4: fail if we try to use hole punch
Ext4 doesn't have the ability to punch holes yet, so make sure we return EOPNOTSUPP if we try to use hole punching through fallocate. This support can be added later. Thanks, Acked-by: Jan Kara <jack@suse.cz> Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/ext4/extents.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index e910720e8bb8..2e061dffb722 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -3644,6 +3644,10 @@ long ext4_fallocate(struct inode *inode, int mode, loff_t offset, loff_t len)
3644 struct ext4_map_blocks map; 3644 struct ext4_map_blocks map;
3645 unsigned int credits, blkbits = inode->i_blkbits; 3645 unsigned int credits, blkbits = inode->i_blkbits;
3646 3646
3647 /* We only support the FALLOC_FL_KEEP_SIZE mode */
3648 if (mode && (mode != FALLOC_FL_KEEP_SIZE))
3649 return -EOPNOTSUPP;
3650
3647 /* 3651 /*
3648 * currently supporting (pre)allocate mode for extent-based 3652 * currently supporting (pre)allocate mode for extent-based
3649 * files _only_ 3653 * files _only_