* [PATCH] Consider namespace with size as active namespace
@ 2019-08-07 4:39 Aneesh Kumar K.V
2019-10-16 22:31 ` Verma, Vishal L
0 siblings, 1 reply; 5+ messages in thread
From: Aneesh Kumar K.V @ 2019-08-07 4:39 UTC (permalink / raw)
To: dan.j.williams; +Cc: Aneesh Kumar K.V, linux-nvdimm
This enables us to mark a namespace as disabled due to pfn_sb
mismatch. We have pending kernel patches at that will mark the
namespace disabled when the PAGE_SIZE or struct page size didn't
match with the value stored in pfn_sb.
We need to make sure we don't use this disabled namespace as seed namespace
for new namespace creation.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
ndctl/namespace.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ndctl/namespace.c b/ndctl/namespace.c
index 58a9e3c53474..1f212a2b3a9b 100644
--- a/ndctl/namespace.c
+++ b/ndctl/namespace.c
@@ -455,7 +455,8 @@ static int is_namespace_active(struct ndctl_namespace *ndns)
return ndns && (ndctl_namespace_is_enabled(ndns)
|| ndctl_namespace_get_pfn(ndns)
|| ndctl_namespace_get_dax(ndns)
- || ndctl_namespace_get_btt(ndns));
+ || ndctl_namespace_get_btt(ndns)
+ || ndctl_namespace_get_size(ndns));
}
/*
--
2.21.0
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Consider namespace with size as active namespace
2019-08-07 4:39 [PATCH] Consider namespace with size as active namespace Aneesh Kumar K.V
@ 2019-10-16 22:31 ` Verma, Vishal L
2019-10-17 3:05 ` Aneesh Kumar K.V
0 siblings, 1 reply; 5+ messages in thread
From: Verma, Vishal L @ 2019-10-16 22:31 UTC (permalink / raw)
To: aneesh.kumar, Williams, Dan J; +Cc: linux-nvdimm
On Wed, 2019-08-07 at 10:09 +0530, Aneesh Kumar K.V wrote:
> This enables us to mark a namespace as disabled due to pfn_sb
> mismatch. We have pending kernel patches at that will mark the
> namespace disabled when the PAGE_SIZE or struct page size didn't
> match with the value stored in pfn_sb.
>
> We need to make sure we don't use this disabled namespace as seed namespace
> for new namespace creation.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
> ---
> ndctl/namespace.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/ndctl/namespace.c b/ndctl/namespace.c
> index 58a9e3c53474..1f212a2b3a9b 100644
> --- a/ndctl/namespace.c
> +++ b/ndctl/namespace.c
> @@ -455,7 +455,8 @@ static int is_namespace_active(struct ndctl_namespace *ndns)
> return ndns && (ndctl_namespace_is_enabled(ndns)
> || ndctl_namespace_get_pfn(ndns)
> || ndctl_namespace_get_dax(ndns)
> - || ndctl_namespace_get_btt(ndns));
> + || ndctl_namespace_get_btt(ndns)
> + || ndctl_namespace_get_size(ndns));
> }
>
> /*
Hi Aneesh,
I was going through pending ndctl patches and found this - this seems to
break some of the unit tests. Also, have the relevant kernel patches
been posted?
The failing unit tests are sector-mode.sh and dax.sh
-Vishal
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Consider namespace with size as active namespace
2019-10-16 22:31 ` Verma, Vishal L
@ 2019-10-17 3:05 ` Aneesh Kumar K.V
2019-10-30 23:39 ` Verma, Vishal L
0 siblings, 1 reply; 5+ messages in thread
From: Aneesh Kumar K.V @ 2019-10-17 3:05 UTC (permalink / raw)
To: Verma, Vishal L, Williams, Dan J; +Cc: linux-nvdimm
On 10/17/19 4:01 AM, Verma, Vishal L wrote:
> On Wed, 2019-08-07 at 10:09 +0530, Aneesh Kumar K.V wrote:
>> This enables us to mark a namespace as disabled due to pfn_sb
>> mismatch. We have pending kernel patches at that will mark the
>> namespace disabled when the PAGE_SIZE or struct page size didn't
>> match with the value stored in pfn_sb.
>>
>> We need to make sure we don't use this disabled namespace as seed namespace
>> for new namespace creation.
>>
>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
>> ---
>> ndctl/namespace.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/ndctl/namespace.c b/ndctl/namespace.c
>> index 58a9e3c53474..1f212a2b3a9b 100644
>> --- a/ndctl/namespace.c
>> +++ b/ndctl/namespace.c
>> @@ -455,7 +455,8 @@ static int is_namespace_active(struct ndctl_namespace *ndns)
>> return ndns && (ndctl_namespace_is_enabled(ndns)
>> || ndctl_namespace_get_pfn(ndns)
>> || ndctl_namespace_get_dax(ndns)
>> - || ndctl_namespace_get_btt(ndns));
>> + || ndctl_namespace_get_btt(ndns)
>> + || ndctl_namespace_get_size(ndns));
>> }
>>
>> /*
>
> Hi Aneesh,
>
> I was going through pending ndctl patches and found this - this seems to
> break some of the unit tests. Also, have the relevant kernel patches
> been posted?
Yes. The required changes in kernel got merged as part of
commit 1c97afa714098aab2ca588cc654f8ff67dd46dcb
Author: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Date: Thu Sep 5 21:15:58 2019 +0530
libnvdimm/pmem: Advance namespace seed for specific probe errors
>
> The failing unit tests are sector-mode.sh and dax.sh
>
I will see if i can run them on ppc64. We still had issues in getting
ndctl check to be running on ppc64.
-aneesh
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Consider namespace with size as active namespace
2019-10-17 3:05 ` Aneesh Kumar K.V
@ 2019-10-30 23:39 ` Verma, Vishal L
2019-10-31 18:10 ` Dan Williams
0 siblings, 1 reply; 5+ messages in thread
From: Verma, Vishal L @ 2019-10-30 23:39 UTC (permalink / raw)
To: aneesh.kumar, Williams, Dan J; +Cc: linux-nvdimm
On Thu, 2019-10-17 at 08:35 +0530, Aneesh Kumar K.V wrote:
>
> > > ---
> > > ndctl/namespace.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/ndctl/namespace.c b/ndctl/namespace.c
> > > index 58a9e3c53474..1f212a2b3a9b 100644
> > > --- a/ndctl/namespace.c
> > > +++ b/ndctl/namespace.c
> > > @@ -455,7 +455,8 @@ static int is_namespace_active(struct ndctl_namespace *ndns)
> > > return ndns && (ndctl_namespace_is_enabled(ndns)
> > > || ndctl_namespace_get_pfn(ndns)
> > > || ndctl_namespace_get_dax(ndns)
> > > - || ndctl_namespace_get_btt(ndns));
> > > + || ndctl_namespace_get_btt(ndns)
> > > + || ndctl_namespace_get_size(ndns));
> > > }
> > >
> > > /*
[..]
>
> > The failing unit tests are sector-mode.sh and dax.sh
> >
>
> I will see if i can run them on ppc64. We still had issues in getting
> ndctl check to be running on ppc64.
>
I dug into this a bit more.
The failure happens on 'legacy' namespaces (ND_DEVICE_NAMESPACE_IO).
There is an assumption that legacy namespaces cannot be fully deleted,
so as part of a reconfigure, when it comes time to delete the namespace
(ndctl_namespace_delete()), we refuse to do that, and bail, before
setting the size to zero.
libndctl.c:4467
case ND_DEVICE_NAMESPACE_BLK:
break;
default:
dbg(ctx, "%s: nstype: %d not deletable\n",
ndctl_namespace_get_devname(ndns),
ndctl_namespace_get_type(ndns));
return 0;
}
rc = namespace_set_size(ndns, 0);
...
Indeed, destroy namespace wouldn't even get to that point, because that
assumption is repeated in namespace_destroy(), where we switch on
namespace type, and potentially skip over the ndctl_namespace_destroy
call entirely.
If setting the size to zero is now significant we'd need to rework both
of these sites. In destroy_namespace(), delay the did_zero checking
until after ndctl_namespace_delete(), and in ndctl_namespace_delete(),
set the size to zero before the type check.
Dan, does the above make sense - was there reason to refrain from
touching the size on legacy namespaces?
-Vishal
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Consider namespace with size as active namespace
2019-10-30 23:39 ` Verma, Vishal L
@ 2019-10-31 18:10 ` Dan Williams
0 siblings, 0 replies; 5+ messages in thread
From: Dan Williams @ 2019-10-31 18:10 UTC (permalink / raw)
To: Verma, Vishal L; +Cc: aneesh.kumar, linux-nvdimm
On Wed, Oct 30, 2019 at 4:39 PM Verma, Vishal L
<vishal.l.verma@intel.com> wrote:
>
> On Thu, 2019-10-17 at 08:35 +0530, Aneesh Kumar K.V wrote:
> >
> > > > ---
> > > > ndctl/namespace.c | 3 ++-
> > > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/ndctl/namespace.c b/ndctl/namespace.c
> > > > index 58a9e3c53474..1f212a2b3a9b 100644
> > > > --- a/ndctl/namespace.c
> > > > +++ b/ndctl/namespace.c
> > > > @@ -455,7 +455,8 @@ static int is_namespace_active(struct ndctl_namespace *ndns)
> > > > return ndns && (ndctl_namespace_is_enabled(ndns)
> > > > || ndctl_namespace_get_pfn(ndns)
> > > > || ndctl_namespace_get_dax(ndns)
> > > > - || ndctl_namespace_get_btt(ndns));
> > > > + || ndctl_namespace_get_btt(ndns)
> > > > + || ndctl_namespace_get_size(ndns));
> > > > }
> > > >
> > > > /*
> [..]
> >
> > > The failing unit tests are sector-mode.sh and dax.sh
> > >
> >
> > I will see if i can run them on ppc64. We still had issues in getting
> > ndctl check to be running on ppc64.
> >
>
> I dug into this a bit more.
>
> The failure happens on 'legacy' namespaces (ND_DEVICE_NAMESPACE_IO).
>
> There is an assumption that legacy namespaces cannot be fully deleted,
> so as part of a reconfigure, when it comes time to delete the namespace
> (ndctl_namespace_delete()), we refuse to do that, and bail, before
> setting the size to zero.
>
> libndctl.c:4467
>
> case ND_DEVICE_NAMESPACE_BLK:
> break;
> default:
> dbg(ctx, "%s: nstype: %d not deletable\n",
> ndctl_namespace_get_devname(ndns),
> ndctl_namespace_get_type(ndns));
> return 0;
> }
>
> rc = namespace_set_size(ndns, 0);
> ...
>
> Indeed, destroy namespace wouldn't even get to that point, because that
> assumption is repeated in namespace_destroy(), where we switch on
> namespace type, and potentially skip over the ndctl_namespace_destroy
> call entirely.
>
> If setting the size to zero is now significant we'd need to rework both
> of these sites. In destroy_namespace(), delay the did_zero checking
> until after ndctl_namespace_delete(), and in ndctl_namespace_delete(),
> set the size to zero before the type check.
>
> Dan, does the above make sense - was there reason to refrain from
> touching the size on legacy namespaces?
It's because the size is read-only on legacy namespaces, so writes
will always fail so the assumption is that ndctl_namespace_delete() is
a nop. Hmm, but that makes me think that size == read-only might be a
good gate for this idle check, i.e.:
if (size_is_writable(ndns) && size(ndns) != 0)
return not_idle;
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-10-31 18:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-07 4:39 [PATCH] Consider namespace with size as active namespace Aneesh Kumar K.V
2019-10-16 22:31 ` Verma, Vishal L
2019-10-17 3:05 ` Aneesh Kumar K.V
2019-10-30 23:39 ` Verma, Vishal L
2019-10-31 18:10 ` Dan Williams
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).