From: NeilBrown Date: Thu, 8 Jan 2009 21:31:05 +0000 (+1100) Subject: md: fix bitmap-on-external-file bug. X-Git-Tag: v2.6.29-rc1~47^2~17 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=538452700d95480c16e7aa6b10ff77cd937d33f4;p=linux-2.6-omap-h63xx.git md: fix bitmap-on-external-file bug. commit a2ed9615e3222645007fc19991aedf30eed3ecfd fixed a bug with 'internal' bitmaps, but in the process broke 'in a file' bitmaps. So they are broken in 2.6.28 This fixes it, and needs to go in 2.6.28-stable. Signed-off-by: NeilBrown Cc: stable@kernel.org --- diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index ab7c8e4a61f..666b7ba47ec 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c @@ -964,9 +964,11 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start) */ page = bitmap->sb_page; offset = sizeof(bitmap_super_t); - read_sb_page(bitmap->mddev, bitmap->offset, - page, - index, count); + if (!file) + read_sb_page(bitmap->mddev, + bitmap->offset, + page, + index, count); } else if (file) { page = read_page(file, index, bitmap, count); offset = 0;