Thread (2 messages) 2 messages, 2 authors, 2012-05-21

[PATCH] md/bitmap:If bmap() failed,free buffers must check bitmap->pending_writes == 0.

flat view
STALE5251d

From: majianpeng <hidden>
Date: 2012-05-18 11:38:34
Subsystem: the rest · Maintainer: Linus Torvalds

Signed-off-by: majianpeng <redacted>
---
 drivers/md/bitmap.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
index 17e2b47..74540d7 100644
--- a/drivers/md/bitmap.c
+++ b/drivers/md/bitmap.c
@@ -376,6 +376,8 @@ static struct page *read_page(struct file *file, unsigned long index,
 			bh->b_blocknr = bmap(inode, block);
 			if (bh->b_blocknr == 0) {
 				/* Cannot use this file! */
+				wait_event(bitmap->write_wait,
+					atomic_read(&bitmap->pending_writes) == 0);
 				free_buffers(page);
 				page = ERR_PTR(-EINVAL);
 				goto out;
-- 
1.7.5.4

 				
--------------
majianpeng
2012-05-18
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help