[DRBD-user] Resized the Raid....

David A. Smith dsmith at terrasoftsolutions.com
Tue Apr 19 15:46:31 CEST 2005

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Ack.... Is there ANYWAY to clean this out? - i have no data i want to save - 
but i have a customer waiting on this getting back up and running.

D>

----- Original Message ----- 
From: "Lars Ellenberg" <Lars.Ellenberg at linbit.com>
To: <drbd-user at lists.linbit.com>
Sent: Tuesday, April 19, 2005 4:47 AM
Subject: Re: [DRBD-user] Resized the Raid....


>/ 2005-04-19 02:03:33 -0500
> \ David A. Smith:
>> Needed to replace the Disks in a Raid.  Total size ended up being
>> smaller....so when i try to RE Initialize the drives the drbdsetup
>> crashes on me.  Im assuming there needs to be some sort of Cleaning of
>> what the System THINKS the drive should be?
>>
>> drbdsetup /dev/drbd0 disk /dev/md0 internal -1
>>
>>
>> drbd0: BM resizing failed. Leaving size unchanged at size = 2556165888 KB
>> drbd0: Assuming that all blocks are out of sync (aka FullSync)
>> drbd0: drbd_bm_set_all: (!(b && b->bm)) in 
>> drivers/block/drbd/drbd_bitmap.c:553
>> Call Trace:
>> .drbd_bm_set_all+0x1b4/0x1bc [drbd]
>> .drbd_ioctl_set_disk+0x824/0x8c4 [drbd]
>> .drbd_ioctl+0x10d4/0x1754 [drbd]
>> .blkdev_ioctl+0xd4/0xa1c
>> .block_ioctl+0x28/0x40
>> .sys_ioctl+0x314/0x4dc
>> .compat_sys_ioctl+0x130/0x398
>> syscall_exit+0x0/0x18
>
> At that point, b and b->bm are pointers, b points to the bitmap struct,
> which contains some housekeeping fields and the bm member, which points
> to the actual bitmap.  One of them (looking at the code path, obviously
> b->bm) is NULL, i.e. points nowhere. Which means somewhen we had
> not enough memory to allocate enough room for it.
> Which is an unlikely code path, and was not exercised much in testing.
>
> So you found a bug, which I thought we had fixed long ago.
> If there is not enough memory to allocate the bitmap,
> it bugs during drbdsetup disk.
> And it does not even give a useful error message.
> The BUG is easy to remove, but it would leave you with a drbd device
> with effective size 0, and I won't bet on code stability with no drbd
> device size: we never tested whether it would work with no data at all.
>
> So the right thing to do is fail the setup with ENOMEM.
> Which is not as easy to fix as one might think, because the disk setup
> code is currently that convoluted and bitmap allocation happens at a
> point where it is difficult to undo changes. Some of the ioctls need to
> be rewriten.
>
>
> Lars Ellenberg
>
> -- 
> please use the "List-Reply" function of your email client.
> _______________________________________________
> drbd-user mailing list
> drbd-user at lists.linbit.com
> http://lists.linbit.com/mailman/listinfo/drbd-user 





More information about the drbd-user mailing list