From: Vishal Verma <vishal.l.verma@intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: "linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>
Subject: Re: [PATCH] libnvdimm, btt: BTT updates for UEFI 2.7 format
Date: Mon, 26 Jun 2017 13:31:16 -0600 [thread overview]
Message-ID: <20170626193115.GA4947@omniknight.lm.intel.com> (raw)
In-Reply-To: <CAPcyv4iny0uz1=7tQhQKwYQ=Cg0ETDQcnwnNHddJuYZQsHrVBg@mail.gmail.com>
On 06/25, Dan Williams wrote:
> On Fri, Jun 23, 2017 at 7:17 PM, Vishal Verma <vishal.l.verma@intel.com> wrote:
> > The UEFI 2.7 specification defines an updated BTT metadata format,
> > bumping the revision to 2.0. Add support for the new format, while
> > retaining compatibility for the old 1.1 format.
> >
> > New BTTs will be created using the newest (2.0 as of this writing)
> > format.
> >
> > Cc: Toshi Kani <toshi.kani@hpe.com>
> > Cc: Linda Knippers <linda.knippers@hpe.com>
> > Cc: Dan Williams <dan.j.williams@intel.com>
> > Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
> > ---
> > drivers/nvdimm/btt.c | 28 ++++++++++++++++++++--------
> > drivers/nvdimm/btt.h | 7 +++++++
> > drivers/nvdimm/btt_devs.c | 44 +++++++++++++++++++++++++++++++++++++++-----
> > drivers/nvdimm/nd.h | 1 +
> > 4 files changed, 67 insertions(+), 13 deletions(-)
> >
> > diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
> > index 983718b..629c376 100644
> > --- a/drivers/nvdimm/btt.c
> > +++ b/drivers/nvdimm/btt.c
> [..]
> > @@ -576,8 +576,10 @@ static struct arena_info *alloc_arena(struct btt *btt, size_t size,
> > arena->internal_lbasize = roundup(arena->external_lbasize,
> > INT_LBASIZE_ALIGNMENT);
> > arena->nfree = BTT_DEFAULT_NFREE;
> > - arena->version_major = 1;
> > - arena->version_minor = 1;
> > +
> > + /* New BTTs will always be v2.0 */
> > + arena->version_major = 2;
> > + arena->version_minor = 0;
>
> I don't think this is correct. The v2.0 format is generally more
> dangerous than v1.1 because its info block can coexist with other
> nvdimm info-blocks and fs-super-blocks. So we should always default to
> v1.1 unless explicitly forced into v2.0 mode with the claim-class /
> address-abstraction-guid set in the v1.2 namespace label. Without that
> indicator to tie break ambiguous situations we can't use the v2.0
> format which is strictly for inter-OS / UEFI compatibility.
Hm, I tend to agree, but in that case, shouldn't the holder class for
BTTs automatically default to BTT instead of NONE, i.e. add the address
abstraction guid by default, thus creating v2 BTTs. I feel it might come
as more of a surprise if we continue to create v1.1 BTTs by default when
the spec states 2.0..
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
next prev parent reply other threads:[~2017-06-26 19:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-24 2:17 [PATCH] libnvdimm, btt: BTT updates for UEFI 2.7 format Vishal Verma
2017-06-25 19:00 ` Dan Williams
2017-06-26 19:31 ` Vishal Verma [this message]
2017-06-26 19:49 ` Dan Williams
2017-06-26 20:13 ` Vishal Verma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170626193115.GA4947@omniknight.lm.intel.com \
--to=vishal.l.verma@intel.com \
--cc=dan.j.williams@intel.com \
--cc=linux-nvdimm@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.