Problem with size after growing a device

From: Lars Michael Jogbäck
Date: Tue Jul 03 2007 - 07:41:13 EST


Hi,

I don't know really which subsystem this, so I'm sending this to the linux-kernel list.
Please direct me to a more appropriate place if this is not correct.

I'm using a 3ware 9500 with Linux 2.6.18.1. I've grown the HW raid5-array and here is where the problem begins. After the card had expanded the array, I used "blockdev --rereadpt /dev/sdk" to get the kernel to recognize the now larger device. The last step was to do a "pvresize /dev/sdk". The problem is that pvresize still thought that the device was at the original size.

From the lvm mailinglist I found out that pvresize used the same mechanism as "blockdev --getsz" to get the size of the disks, so I tested this and found that blockdev also reported the device to have the wrong size.

So, if I do:
# cat /sys/block/sdk/size
4882708480

and
# blockdev --getsz /dev/sdk
3906166784

Apparently /sys/block/sdk/size is updated with the new size, but whatever "blockdev --getsz" and "pvresize" is querying is not. If I reboot, everything works correctly.

Best Regards,
/LM

Ps. please keep me as Cc: on this; since I'm not subscibed to the linux-kernel list..

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/