summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorLiu Hui <onlyflyer@gmail.com>2008-12-01 20:31:40 -0500
committerChris Mason <chris.mason@oracle.com>2008-12-01 20:31:40 -0500
commitce397c0616de9bfb678569f1dfa655838a711594 (patch)
tree7268154f484cb442f25a5876697f211bef9dd7c5 /fs/btrfs
parentea6a478ed9758cb0f5af228104b9434840aa20ff (diff)
downloadlinux-ce397c0616de9bfb678569f1dfa655838a711594.tar.bz2
Btrfs: Fix cow semantic in run_delalloc_nocow()
The file preallocation code reversed the logic to force nodatacow. This fixes it.
Diffstat (limited to 'fs/btrfs')
-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 7a8ad4292f75..b3d4078b69a6 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);