summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Hui <onlyflyer@gmail.com>2008-12-02 01:31:40 (GMT)
committerChris Mason <chris.mason@oracle.com>2008-12-02 01:31:40 (GMT)
commitce397c0616de9bfb678569f1dfa655838a711594 (patch)
tree7268154f484cb442f25a5876697f211bef9dd7c5
parentea6a478ed9758cb0f5af228104b9434840aa20ff (diff)
downloadlinux-ce397c0616de9bfb678569f1dfa655838a711594.tar.xz
Btrfs: Fix cow semantic in run_delalloc_nocow()
The file preallocation code reversed the logic to force nodatacow. This fixes it.
-rw-r--r--fs/btrfs/inode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 7a8ad42..b3d4078 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1114,10 +1114,10 @@ static int run_delalloc_range(struct inode *inode, struct page *locked_page,
if (btrfs_test_opt(root, NODATACOW) ||
btrfs_test_flag(inode, NODATACOW))
ret = run_delalloc_nocow(inode, locked_page, start, end,
- page_started, 0, nr_written);
+ page_started, 1, nr_written);
else if (btrfs_test_flag(inode, PREALLOC))
ret = run_delalloc_nocow(inode, locked_page, start, end,
- page_started, 1, nr_written);
+ page_started, 0, nr_written);
else
ret = cow_file_range_async(inode, locked_page, start, end,
page_started, nr_written);