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