aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r--fs/btrfs/extent_io.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index f284d4e5f447..b40ba75f4483 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -2613,10 +2613,16 @@ retry:
2613 * swizzled back from swapper_space to tmpfs file 2613 * swizzled back from swapper_space to tmpfs file
2614 * mapping 2614 * mapping
2615 */ 2615 */
2616 if (tree->ops && tree->ops->write_cache_pages_lock_hook) 2616 if (tree->ops &&
2617 tree->ops->write_cache_pages_lock_hook(page); 2617 tree->ops->write_cache_pages_lock_hook) {
2618 else 2618 tree->ops->write_cache_pages_lock_hook(page,
2619 lock_page(page); 2619 data, flush_fn);
2620 } else {
2621 if (!trylock_page(page)) {
2622 flush_fn(data);
2623 lock_page(page);
2624 }
2625 }
2620 2626
2621 if (unlikely(page->mapping != mapping)) { 2627 if (unlikely(page->mapping != mapping)) {
2622 unlock_page(page); 2628 unlock_page(page);