On Fri, 18 May 2012 19:38:34 +0800 "majianpeng" <majianpeng@xxxxxxxxx> wrote: > Signed-off-by: majianpeng <majianpeng@xxxxxxxxx> > --- > 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; Hi, thanks for the patch. However it doesn't apply against the current code in linux-next. Some changes have been made which might make this fix unnecessary as the page is not freed until later. Could you check the latest code and see if the problem still exists? Thanks, NeilBrown
Attachment:
signature.asc
Description: PGP signature