#
114556 |
|
02-May-2003 |
phk |
Make bsd_disklabel_le_enc calculate the checksum and fill it in. (If there is a legitimate need to correctly encode and pack a disklabel with an invalid checksum custom tools can be built for that.)
Make bsd_disklabel_le_dec() validate the magics, number of partitions (against a new parameter) and the checksum.
Vastly simplify the logic of the GEOM::BSD class implementation:
Let g_bsd_modify() always take a byte-stream label.
This simplifies all users, except the ioctl's which now have to convert to a byte-stream first. Their loss.
g_bsd_modify() is called with topology held now, and it returns with it held.
Always update the md5sum in g_bsd_modify(), otherwise the check is no use after the first modification of the label. Make the MD5 over the bytestream version of the label.
Move the rawoffset hack to g_bsd_modify() and remove all the inram/ondisk conversions.
Don't configure hotspots in g_bsd_modify(), do it in taste instead, we do not support moving the label to a different location on the fly anyway.
This passes all current regression tests.
|