diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 5c121fe19c5f9b6122b687cc14bbcd7b1bbe0dc9..d1715b30f6c439d0a7532e8b59297a32f9496157 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -1529,7 +1529,6 @@ static int fuse_writepage_locked(struct page *page) inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK); inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); - end_page_writeback(page); spin_lock(&fc->lock); list_add(&req->writepages_entry, &fi->writepages); @@ -1537,6 +1536,8 @@ static int fuse_writepage_locked(struct page *page) fuse_flush_writepages(inode); spin_unlock(&fc->lock); + end_page_writeback(page); + return 0; err_free: