Re: [PATCH] BTT: Change nd_btt_arena_is_valid() to verify UUID

From: Dan Williams
Date: Tue Jan 12 2016 - 11:38:39 EST


On Tue, Jan 12, 2016 at 7:02 AM, Toshi Kani <toshi.kani@xxxxxxx> wrote:
> On Fri, 2015-12-18 at 14:23 -0800, Dan Williams wrote:
>> On Fri, Dec 18, 2015 at 10:52 AM, Toshi Kani <toshi.kani@xxxxxxx> wrote:
>> > On Fri, 2015-12-18 at 09:54 -0800, Dan Williams wrote:
>> > > On Fri, Dec 18, 2015 at 7:15 AM, Toshi Kani <toshi.kani@xxxxxxx>
>> > > wrote:
>> > > > On Fri, 2015-12-18 at 01:34 -0700, Vishal Verma wrote:
>> > > > > Also, I wonder if this problem is solved by using libndctl to
>> > > > > manage
>> > > > > BTTs.
>> > > >
>> > > > I have not tested with libndctl yet, but I think our bind/unbind
>> > > > scripts do the same procedures.
>> > >
>> > > We loop through all combinations of sector size in our unit test. If
>> > > you want to change the sector size the expectation is that the
>> > > namespace is destroyed and fully re-created, especially due to the
>> > > fact that changing sector size invalidates all data on the namespace.
>> > >
>> > > See: https://github.com/pmem/ndctl/blob/master/lib/test-libndctl.c
>> >
>> > The parent_uuid is not set on our NVDIMM-N systems. I do not see
>> > 'uuid' file under sysfs 'namespaceX.X' per namespace_visible(), either.
>> > This concept of creating/destroying a namespace is a bit foreign to us
>> > since we've never needed to do. Can you elaborate how it's supposed to
>> > work for NVDIMM-N?
>> >
>>
>> Ugh, yes. An oversight on my part, let me give this some thought.
>> Whatever we decide, I want the libndctl api to be identical for the
>> two cases.
>>
>> I expect the simplest option is to have
>> ndctl_namespace_disable_invalidate() destroy the btt-info block in the
>> NVDIMM-N case.
>
> Do you have any update on this? If we are going to use ndctl to address
> this issue, does it mean that we will have to use ndctl to manage BTT?

This is my current proposal:

https://github.com/pmem/ndctl/blob/pending/Documentation/ndctl-create-namespace.txt