aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/buffer.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index 74566c6f67b1..d895d9fd5b71 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2458,11 +2458,10 @@ int nobh_write_begin(struct address_space *mapping,
2458 *fsdata = NULL; 2458 *fsdata = NULL;
2459 2459
2460 if (page_has_buffers(page)) { 2460 if (page_has_buffers(page)) {
2461 unlock_page(page); 2461 ret = __block_write_begin(page, pos, len, get_block);
2462 page_cache_release(page); 2462 if (unlikely(ret))
2463 *pagep = NULL; 2463 goto out_release;
2464 return block_write_begin(mapping, pos, len, flags, pagep, 2464 return ret;
2465 get_block);
2466 } 2465 }
2467 2466
2468 if (PageMappedToDisk(page)) 2467 if (PageMappedToDisk(page))