From 7a3b32a8aeb1e5d535d71caf3d9d90762d109cbd Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Mon, 25 Oct 2010 15:01:12 +0900 Subject: [PATCH] --- yaml --- r: 217787 b: refs/heads/master c: 309f77ad9bea057d55b04580b5a711e9e3727e83 h: refs/heads/master i: 217785: 8794fb881b5df16b883cc9ce8de89d45fef97326 217783: e5810903100c00bbeb42a008c69212d8e742f95e v: v3 --- [refs] | 2 +- trunk/fs/buffer.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index bb1728ddbef0..e94f289fc284 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a3314a0ed389f51a51695120b429eccd45b3a165 +refs/heads/master: 309f77ad9bea057d55b04580b5a711e9e3727e83 diff --git a/trunk/fs/buffer.c b/trunk/fs/buffer.c index 74566c6f67b1..d895d9fd5b71 100644 --- a/trunk/fs/buffer.c +++ b/trunk/fs/buffer.c @@ -2458,11 +2458,10 @@ int nobh_write_begin(struct address_space *mapping, *fsdata = NULL; if (page_has_buffers(page)) { - unlock_page(page); - page_cache_release(page); - *pagep = NULL; - return block_write_begin(mapping, pos, len, flags, pagep, - get_block); + ret = __block_write_begin(page, pos, len, get_block); + if (unlikely(ret)) + goto out_release; + return ret; } if (PageMappedToDisk(page))