aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r--fs/btrfs/file.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index c78f184ee5cc..8915f2dc1bce 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -338,6 +338,13 @@ static int noinline dirty_and_release_pages(struct btrfs_trans_handle *trans,
338 btrfs_drop_extent_cache(inode, start_pos, aligned_end - 1); 338 btrfs_drop_extent_cache(inode, start_pos, aligned_end - 1);
339 BUG_ON(err); 339 BUG_ON(err);
340 mutex_unlock(&BTRFS_I(inode)->extent_mutex); 340 mutex_unlock(&BTRFS_I(inode)->extent_mutex);
341
342 /*
343 * an ugly way to do all the prop accounting around
344 * the page bits and mapping tags
345 */
346 set_page_writeback(pages[0]);
347 end_page_writeback(pages[0]);
341 did_inline = 1; 348 did_inline = 1;
342 } 349 }
343 if (end_pos > isize) { 350 if (end_pos > isize) {
@@ -833,11 +840,7 @@ again:
833 start_pos, last_pos - 1, GFP_NOFS); 840 start_pos, last_pos - 1, GFP_NOFS);
834 } 841 }
835 for (i = 0; i < num_pages; i++) { 842 for (i = 0; i < num_pages; i++) {
836#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18) 843 clear_page_dirty_for_io(pages[i]);
837 ClearPageDirty(pages[i]);
838#else
839 cancel_dirty_page(pages[i], PAGE_CACHE_SIZE);
840#endif
841 set_page_extent_mapped(pages[i]); 844 set_page_extent_mapped(pages[i]);
842 WARN_ON(!PageLocked(pages[i])); 845 WARN_ON(!PageLocked(pages[i]));
843 } 846 }