diff options
author | Josef Bacik <josef@redhat.com> | 2010-11-17 20:46:18 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-01-12 20:16:44 -0500 |
commit | d6dc8462f471f7bbb49c42c147bf84de0c977099 (patch) | |
tree | 64624b26b2c2f551e2b579013d149c51c0716583 /fs | |
parent | db47fef2cd9aab76ab976e8b45a06a1b3ad0e3e4 (diff) | |
download | linux-stable-d6dc8462f471f7bbb49c42c147bf84de0c977099.tar.gz linux-stable-d6dc8462f471f7bbb49c42c147bf84de0c977099.tar.bz2 linux-stable-d6dc8462f471f7bbb49c42c147bf84de0c977099.zip |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext4/extents.c | 4 |
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) struct ext4_map_blocks map; unsigned int credits, blkbits = inode->i_blkbits; + /* We only support the FALLOC_FL_KEEP_SIZE mode */ + if (mode && (mode != FALLOC_FL_KEEP_SIZE)) + return -EOPNOTSUPP; + /* * currently supporting (pre)allocate mode for extent-based * files _only_ |