On 06/27/12 16:28, John Baldwin wrote: > On Wednesday, June 27, 2012 8:45:45 am Andrey V. Elsukov wrote: > >> When we are in the FreeBSD, our loader can detect that device size >> is lower than it see and it will work. When primary header is OK, then >> other OSes should work with this GPT. When it isn't OK, you just can't >> load other OS :) > > Ah, yes. The solution to violating standards is to make sure you never > use standards-compliant software. That's a great argument. :) > > (Although not entirely uncommon. Standards aren't always perfect, but if > we had a way to not gratuitously violate them it would be nice to avoid > doing so.) To be standards compliant and allow whole-disk based mirroring to work at the same time wouldn't nested GPT work like this? Whole disk (start) | GPT header | GPT partition of type freebsd-geom (start) | | gmirror device (start) | | | GPT header | | | | freebsd-boot | | | | freebsd-ufs | | | | freebsd-swap | | | GPT backup header | | gmirror metadata | | gmirror device (end) | GPT partition of type freebsd-geom (end) | GPT backup header Whole disk (end) Nothing but FreeBSD would understand the freebsd-geom partition type, so the inner GPT device should be valid and standards compliant. The boot loader would of course need to understand this setup but that shouldn't be impossible. Just a thought. It might be too complicated compared to the non-standards compliant way it works now which works quite well in practice though. -- Christian LaursenReceived on Wed Jun 27 2012 - 17:08:55 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:28 UTC