diff options
author | pjd <pjd@FreeBSD.org> | 2011-10-25 13:57:50 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2011-10-25 13:57:50 +0000 |
commit | df493c630e427108e6a11aefe72cb786a421ac22 (patch) | |
tree | fa76710fc589753eb33ec21359c6f8b2f57e6c38 /sys/geom/eli/g_eli.c | |
parent | 9df0cca1543d03a0a0131f37eb927f9df4592b7b (diff) | |
download | FreeBSD-src-df493c630e427108e6a11aefe72cb786a421ac22.zip FreeBSD-src-df493c630e427108e6a11aefe72cb786a421ac22.tar.gz |
Add support for creating GELI devices with older metadata version for use
with older FreeBSD versions:
- Add -V option to 'geli init' to specify version number. If no -V is given
the most recent version is used.
- If -V is given don't allow to use features not supported by this version.
- Print version in 'geli list' output.
- Update manual page and add table describing which GELI version is
supported by which FreeBSD version, so one can use it when preparing GELI
device for older FreeBSD version.
Inspired by: Garrett Cooper <yanegomi@gmail.com>
MFC after: 3 days
Diffstat (limited to 'sys/geom/eli/g_eli.c')
-rw-r--r-- | sys/geom/eli/g_eli.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/geom/eli/g_eli.c b/sys/geom/eli/g_eli.c index fce52ae..b5e4f7b 100644 --- a/sys/geom/eli/g_eli.c +++ b/sys/geom/eli/g_eli.c @@ -713,6 +713,7 @@ g_eli_create(struct gctl_req *req, struct g_class *mp, struct g_provider *bpp, else gp->access = g_std_access; + sc->sc_version = md->md_version; sc->sc_inflight = 0; sc->sc_crypto = G_ELI_CRYPTO_UNKNOWN; sc->sc_flags = md->md_flags; @@ -1210,6 +1211,7 @@ g_eli_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp, sbuf_printf(sb, "%s<UsedKey>%u</UsedKey>\n", indent, sc->sc_nkey); } + sbuf_printf(sb, "%s<Version>%u</Version>\n", indent, sc->sc_version); sbuf_printf(sb, "%s<Crypto>", indent); switch (sc->sc_crypto) { case G_ELI_CRYPTO_HW: |