md/bitmap: move storage allocation from bitmap_load to bitmap_create.
We should allocate memory for the storage-bitmap at create-time, not load time. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
d1244cb062
commit
bc9891a885
1 changed files with 6 additions and 5 deletions
|
@ -1032,11 +1032,6 @@ static int bitmap_init_from_disk(struct bitmap *bitmap, sector_t start)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bitmap_storage_alloc(&bitmap->storage, bitmap->chunks,
|
|
||||||
!bitmap->mddev->bitmap_info.external);
|
|
||||||
if (ret)
|
|
||||||
goto err;
|
|
||||||
|
|
||||||
oldindex = ~0L;
|
oldindex = ~0L;
|
||||||
offset = 0;
|
offset = 0;
|
||||||
if (!bitmap->mddev->bitmap_info.external)
|
if (!bitmap->mddev->bitmap_info.external)
|
||||||
|
@ -1782,6 +1777,12 @@ int bitmap_create(struct mddev *mddev)
|
||||||
if (!bitmap->bp)
|
if (!bitmap->bp)
|
||||||
goto error;
|
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",
|
printk(KERN_INFO "created bitmap (%lu pages) for device %s\n",
|
||||||
pages, bmname(bitmap));
|
pages, bmname(bitmap));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue