From e3cc2171dbd289ec3b2a527a59725f8cc6d35277 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 22 May 2012 13:55:12 +1000 Subject: [PATCH] --- yaml --- r: 305944 b: refs/heads/master c: bc9891a8853842a19c33dda0ba02fbacf7da067f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/bitmap.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 03a276549206..698b31a0ea96 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1244cb062750bdb2298ca2565239d3d8cbd91a8 +refs/heads/master: bc9891a8853842a19c33dda0ba02fbacf7da067f diff --git a/trunk/drivers/md/bitmap.c b/trunk/drivers/md/bitmap.c index 4ac60ed66c49..1a93ed1fb8df 100644 --- a/trunk/drivers/md/bitmap.c +++ b/trunk/drivers/md/bitmap.c @@ -1032,11 +1032,6 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start) goto err; } - ret = bitmap_storage_alloc(&bitmap->storage, bitmap->chunks, - !bitmap->mddev->bitmap_info.external); - if (ret) - goto err; - oldindex = ~0L; offset = 0; if (!bitmap->mddev->bitmap_info.external) @@ -1782,6 +1777,12 @@ int bitmap_create(struct mddev *mddev) if (!bitmap->bp) goto error; + if (file || mddev->bitmap_info.offset) { + err = bitmap_storage_alloc(&bitmap->storage, bitmap->chunks, + !mddev->bitmap_info.external); + if (err) + goto error; + } printk(KERN_INFO "created bitmap (%lu pages) for device %s\n", pages, bmname(bitmap));