aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/file.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index b0352b5958a..1a47251a9d4 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -762,6 +762,13 @@ static int prepare_pages(struct btrfs_root *root, struct file *file,
set_page_extent_mapped(pages[i]);
WARN_ON(!PageLocked(pages[i]));
}
+ if (start_pos < inode->i_size) {
+ u64 last_pos;
+ last_pos = (index + num_pages) << PAGE_CACHE_SHIFT;
+ clear_extent_bits(&BTRFS_I(inode)->io_tree, start_pos,
+ last_pos - 1, EXTENT_DIRTY | EXTENT_DELALLOC,
+ GFP_NOFS);
+ }
return 0;
}