7812d86f03
and predictable way, and I apologize if I have gotten it wrong anywhere, getting prior review on a patch like this is not feasible, considering the number of people involved and hardware availability etc.) If struct disklabel is the messenger: kill the messenger. Inside struct disk we had a struct disklabel which disk drivers used to communicate certain metrics to the disklayer above (GEOM or the disk mini-layer). This commit changes this communication to use four explicit fields instead. Amongst the benefits is that the fields do not get overwritten by wrong or bogus on-disk disklabels. Once that is clear, <sys/disk.h> which is included in the drivers no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in, the few places that needs them, have gotten explicit #includes for them. The disklabel inside struct disk is now only for internal use in the disk mini-layer, so instead of embedding it, we malloc it as we need it. This concludes (modulus any mistakes) the series of disklabel related commits. I belive it all amounts to a NOP for all the rest of you :-) Sponsored by: DARPA & NAI Labs. |
||
---|---|---|
.. | ||
geom_aes.c | ||
geom_bsd.c | ||
geom_ccd.c | ||
geom_dev.c | ||
geom_disk.c | ||
geom_dump.c | ||
geom_enc.c | ||
geom_event.c | ||
geom_gpt.c | ||
geom_int.h | ||
geom_io.c | ||
geom_kern.c | ||
geom_mbr.c | ||
geom_pc98.c | ||
geom_slice.c | ||
geom_slice.h | ||
geom_subr.c | ||
geom_sunlabel.c | ||
geom.h |