瀏覽代碼

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>
Josef Bacik 14 年之前
父節點
當前提交
23a8519b55
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      fs/btrfs/inode.c

+ 4 - 0
fs/btrfs/inode.c

@@ -7115,6 +7115,10 @@ static long btrfs_fallocate(struct inode *inode, int mode,
 	alloc_start = offset & ~mask;
 	alloc_start = offset & ~mask;
 	alloc_end =  (offset + len + mask) & ~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
 	 * wait for ordered IO before we have any locks.  We'll loop again
 	 * below with the locks held.
 	 * below with the locks held.