]> git.kernelconcepts.de Git - mv-sheeva.git/commitdiff
Btrfs: fail if we try to use hole punch
authorJosef Bacik <josef@redhat.com>
Thu, 18 Nov 2010 01:46:19 +0000 (20:46 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 13 Jan 2011 01:16:44 +0000 (20:16 -0500)
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>
fs/btrfs/inode.c

index f870aefc59dd5545f2a908a0be9fc5787d6ce4ae..a3798a3aa0d213823a977bbe46f65e2484bc7a7e 100644 (file)
@@ -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.