Date: Fri, 29 Jun 2012 00:04:17 +0200 From: Miroslav Lachman <000.fbsd@quip.cz> To: Pawel Jakub Dawidek <pjd@FreeBSD.org> Cc: Doug Rabson <dfr@FreeBSD.org>, Marcel Moolenaar <marcel@FreeBSD.org>, Christian Laursen <xi@borderworlds.dk>, freebsd-hackers <freebsd-hackers@FreeBSD.org>, Andriy Gapon <avg@FreeBSD.org>, Stefan Esser <se@FreeBSD.org>, "Andrey V. Elsukov" <bu7cher@yandex.ru>, freebsd-current <freebsd-current@FreeBSD.org> Subject: Re: [CFC/CFT] large changes in the loader(8) code Message-ID: <4FECD4E1.1070505@quip.cz> In-Reply-To: <20120628172526.GA1438@garage.freebsd.pl> References: <4FE9B01C.30306@yandex.ru> <201206270807.23347.jhb@freebsd.org> <4FEB0079.7050008@yandex.ru> <201206271028.54477.jhb@freebsd.org> <4FEB5A3C.5050900@borderworlds.dk> <1900D4C1-E5E5-446F-ABBF-976A2DFEB36B@xcllnt.net> <4FEC22A0.9000109@freebsd.org> <4FEC2D86.2040505@freebsd.org> <8D85513D-CDFC-4D62-AA5A-F82F46E28CE5@xcllnt.net> <20120628172526.GA1438@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
Pawel Jakub Dawidek wrote: > On Thu, Jun 28, 2012 at 08:33:17AM -0700, Marcel Moolenaar wrote: >> >> On Jun 28, 2012, at 3:10 AM, Stefan Esser wrote: >>> >>> All of the above is ugly, U'm afraid :( >> >> Indeed. The only sane way is to put the metadata in a partition of its own. >> Every compliant OS will respect that and consequently will not scribble over >> the data unintentionally. Any other scheme that puts valuable data in some >> undocumented or unregistered location is violating the GPT spec right away >> and is susceptible to being clobbered unintentionally. > > If the user runs: > > # gpart create -s GPT /dev/mirror/foo > > for me it is obvious that he wants to partition the mirror device and > not individual disks. Because the mirror was configured earlier, do you > expect gmirror to somehow detect that someone is writting GPT metadata > later and magically place GPT metadata on the raw disk and move mirror's > metadata to some magic partition? Not to mention that the mirror itself > doesn't have to be configured on top of raw disks. And not to mention > that the mirror may never be partitioned. > > If GPT in your opinion is limited only to raw disks then I guess the > best way to fix that is to refuse to configure GPT on anything except > raw disks (which was already proposed by Andrey?). In my opinion this is > unacceptable, but I think this is what you are suggesting. > > One of the GEOM design goals was to be flexible. Let the user decide in > what order he wants to configure various layers. How do you know that in > every possible scenerio software mirroring should come after > partitioning and encryption after mirroring? Why can't we provide > flexible tools to the user and let him decide? Maybe GPT nesting > violates standards, but why can't we support it as an extention, really? > > I recognize the need to warn users if they use FreeBSD-specific > features. We do that with non-standard APIs. So how about this. > > Let's modify gpart(8) to print a warning if GPT is configured on > something else than raw disk. Let's the warning say that such > configuration is non-standard and problems are expected if the disk is > shared between other OSes. > > In my opinion that's fair. > > With such a warning in place, I think we can allow users to decide on > their own if they really want that or not. Then, we can also improve > FreeBSD boot loader to play nice with FreeBSD-specific extensions. I think this is valid point of view. FreeBSD already does things not supported by other OSes and I am completely fine with it - I am running FreeBSD on servers, not sharing anything with other OSes so I prefer extended FreeBSD specific features over 100% standard compliant behaviour crippling SW mirroring etc. I think that our tools should support / provide all standard compliant (compatible) features, but let user to choose any other extended non-compatible features if user wants it. Even if it can be seen as foot shooting by somebody else. And maybe one day our solution will be widespread and taken as a standard. Miroslav Lachman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FECD4E1.1070505>