Comment 1 for bug 133773

Revision history for this message
Daniel Pittman (daniel-rimspace) wrote :

Please find attached a patch the resolves this issue.

I have tracked it down to the vol_id code using the wrong superblock offset to locate the metadata within the partition, at least for version 1.0 (new, at end of device) superblocks.

The attached patch implements the correct location calculation for the 1.0 superblock based on the code present in the current gutsy version of mdadm, suitably modified to fit the coding style of the udev helper.

I have tested this and verified that it does, correctly, determine the use of my devices as RAID members rather than as simple ext3 file system content.

I think my patch is technically in error, in that it uses both the old and new calculations to try and locate the superblock on the device for both version 0.9 and 1.0 metadata. I suspect, but due to illness don't have the time to verify, that we should use the older method only for 0.9 superblocks and the new method only for 1.0 superblocks.

That said this isn't actually a big problem. The system notes that there isn't a valid RAID superblock there and simply continues to the next test, so this is harmless.

This is an upstream bug, so far as I can tell, since the vol_id code is not modified in the Ubuntu/Debian patch applied to the package.

I also think this should be pushed into the gutsy release -- at the moment Gutsy will fail to boot on a software RAID device with 1.0 metadata despite the system being full and correct.

Regards, Daniel