cvs commit: src/sys/geom geom_bsd.c geom_bsd_enc.c src/sys/sys
disklabel.h
Poul-Henning Kamp
phk at FreeBSD.org
Fri May 2 15:46:14 PDT 2003
phk 2003/05/02 15:46:13 PDT
FreeBSD src repository
Modified files:
sys/geom geom_bsd.c geom_bsd_enc.c
sys/sys disklabel.h
Log:
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.
Revision Changes Path
1.53 +108 -262 src/sys/geom/geom_bsd.c
1.3 +40 -5 src/sys/geom/geom_bsd_enc.c
1.102 +1 -1 src/sys/sys/disklabel.h
More information about the cvs-all
mailing list