Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Oct 2011 08:30:39 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Pawel Jakub Dawidek <pjd@freebsd.org>
Cc:        Xin LI <delphij@gmail.com>, freebsd-geom@freebsd.org
Subject:   Re: GELI devices produced with 9.0+ fail when mounted on 8.2, etc?
Message-ID:  <CAGH67wSbF7xazeX7GbHsghDCH2qiLd1ciyOBr_j=hfBW8kPxcw@mail.gmail.com>
In-Reply-To: <CAGH67wRSVtsophbJ4cF5Y2x=5a9HHB5_SE6HqvwwyjyVtUd9oA@mail.gmail.com>
References:  <924643A0-0798-4FAC-8F82-4AFBC56DC8D7@gmail.com> <CAGMYy3tX=Xr1k%2B=7FqV5=Ddooopodtmv1hG=zy5G2Ye5KCuO_Q@mail.gmail.com> <7EC93C28-6405-443F-92C6-0291F8D88995@gmail.com> <CAGMYy3veJQ-pBg1BuAZyH3rvMxEaFQOYPTJYgWPteohw-HE%2BuA@mail.gmail.com> <EDE63E3A-A2BF-4422-B0F5-8DB4AFE5B573@gmail.com> <20111017132945.GG1679@garage.freebsd.pl> <CAGH67wRSVtsophbJ4cF5Y2x=5a9HHB5_SE6HqvwwyjyVtUd9oA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 17, 2011 at 11:29 AM, Garrett Cooper <yanegomi@gmail.com> wrote=
:
> On Mon, Oct 17, 2011 at 6:29 AM, Pawel Jakub Dawidek <pjd@freebsd.org> wr=
ote:
>> On Sun, Oct 16, 2011 at 11:36:29PM -0700, Garrett Cooper wrote:
>>> On Oct 16, 2011, at 7:51 PM, Xin LI wrote:
>>> > Backward compatibility is that you can expect what's working in an
>>> > older version of FreeBSD would just work on a newer version of
>>> > FreeBSD, not the contrary.
>>>
>>> =A0 =A0 =A0 Perhaps, but the fact that this behavior / set of expectati=
ons isn't clearly called out in the geli manpage -- and the fact that there=
 isn't official versioning (or at the very least this isn't made a requirem=
ent based on the output above) associated with each metadata format is a fa=
ult that should be corrected. Otherwise, how can GELI be considered a viabl=
e mechanism for encrypting data across multiple versions of FreeBSD? It see=
ms very shortsighted that there isn't at least a mechanism for reading -- o=
r at least rejecting -- later versions of metadata in an intuitive manner.
>>> =A0 =A0 =A0 FWIW if you use geli from an earlier version of FreeBSD (hi=
nt: chroot, jail), it does the right thing.. which means that I have a mean=
s for producing encrypted images on later versions of FreeBSD now. Neverthe=
less, having to do so in such a roundabout manner is annoying and I'm sure =
I won't be the only one that will be affected by this.
>>
>> Thanks Garrett for your comments.
>>
>> As Xin pointed out, GELI is not forward compatible, but is backwards
>> compatible (GELI device initialized on FreeBSD 8.x will work on 9.x, but
>> this may not be true the other way around).
>>
>> I fully agree that the error should be clear on what exactly is wrong
>> and this should be easy to fix.
>>
>> As for creating forward compatible GELI devices I think the right thing
>> to do here is to:
>> 1. Add '-V version' option for 'geli init' subcommand that will allow to
>> =A0 specify metadata version number to use for device initialization.
>> 2. Add 'geli upgrade [-V <version>] [prov ...]' subcommand that will
>> =A0 allow to upgrade the given device to the given metadata version (onl=
y
>> =A0 to version greater than the current version). If only providers are
>> =A0 given, but -V is not given, metadata of the given providers would be
>> =A0 upgraded to the latest version support by the system.
>> =A0 Would be nice if backup file could be also upgraded.
>> =A0 If 'geli upgrade' is executed with no arguments a list of supported
>> =A0 metadata versions with some short description and ideally FreeBSD
>> =A0 versions that can run the given GELI version will be printed.
>> 3. Print metadata version in 'geli list' output.
>
> =A0 =A0That suggestion's brilliant. All that we need now is a short blurb
> in the manpage describing when which metadata was implemented when and
> I think this will be on the right track.

Patch added for the first suggestion here:
http://www.freebsd.org/cgi/query-pr.cgi?pr=3D161807 . I'll see if I can
get around to the other two sometime before the end of the week.
Thanks,
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wSbF7xazeX7GbHsghDCH2qiLd1ciyOBr_j=hfBW8kPxcw>