diff options
author | Josef Bacik <josef@redhat.com> | 2010-11-17 20:46:19 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-01-12 20:16:44 -0500 |
commit | 23a8519b55235660f6fb7d6f394a912de9d23208 (patch) | |
tree | 7df68ca9459ccc15cb40902a3c9c8b62b710aefa /fs/btrfs | |
parent | d6dc8462f471f7bbb49c42c147bf84de0c977099 (diff) | |
download | op-kernel-dev-23a8519b55235660f6fb7d6f394a912de9d23208.zip op-kernel-dev-23a8519b55235660f6fb7d6f394a912de9d23208.tar.gz |
Btrfs: fail if we try to use hole punch
Btrfs 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,
Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/inode.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index f870aef..a3798a3 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -7115,6 +7115,10 @@ static long btrfs_fallocate(struct inode *inode, int mode, alloc_start = offset & ~mask; alloc_end = (offset + len + mask) & ~mask; + /* We only support the FALLOC_FL_KEEP_SIZE mode */ + if (mode && (mode != FALLOC_FL_KEEP_SIZE)) + return -EOPNOTSUPP; + /* * wait for ordered IO before we have any locks. We'll loop again * below with the locks held. |