2019-07-31 11:31:41

by Pankaj Gupta

[permalink] [raw]
Subject: [PATCH] libnvdimm: change disk name of virtio pmem disk

This patch adds prefix 'v' in disk name for virtio pmem.
This differentiates virtio-pmem disks from the pmem disks.

Signed-off-by: Pankaj Gupta <[email protected]>
---
drivers/nvdimm/namespace_devs.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index a16e52251a30..8e5d29266fb0 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -182,8 +182,12 @@ const char *nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
char *name)
{
struct nd_region *nd_region = to_nd_region(ndns->dev.parent);
+ const char *prefix = "";
const char *suffix = NULL;

+ if (!is_nvdimm_sync(nd_region))
+ prefix = "v";
+
if (ndns->claim && is_nd_btt(ndns->claim))
suffix = "s";

@@ -201,7 +205,7 @@ const char *nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
sprintf(name, "pmem%d.%d%s", nd_region->id, nsidx,
suffix ? suffix : "");
else
- sprintf(name, "pmem%d%s", nd_region->id,
+ sprintf(name, "%spmem%d%s", prefix, nd_region->id,
suffix ? suffix : "");
} else if (is_namespace_blk(&ndns->dev)) {
struct nd_namespace_blk *nsblk;
--
2.20.1


2019-08-13 05:02:46

by Pankaj Gupta

[permalink] [raw]
Subject: Re: [PATCH] libnvdimm: change disk name of virtio pmem disk


Ping.

>
> This patch adds prefix 'v' in disk name for virtio pmem.
> This differentiates virtio-pmem disks from the pmem disks.
>
> Signed-off-by: Pankaj Gupta <[email protected]>
> ---
> drivers/nvdimm/namespace_devs.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/nvdimm/namespace_devs.c
> b/drivers/nvdimm/namespace_devs.c
> index a16e52251a30..8e5d29266fb0 100644
> --- a/drivers/nvdimm/namespace_devs.c
> +++ b/drivers/nvdimm/namespace_devs.c
> @@ -182,8 +182,12 @@ const char *nvdimm_namespace_disk_name(struct
> nd_namespace_common *ndns,
> char *name)
> {
> struct nd_region *nd_region = to_nd_region(ndns->dev.parent);
> + const char *prefix = "";
> const char *suffix = NULL;
>
> + if (!is_nvdimm_sync(nd_region))
> + prefix = "v";
> +
> if (ndns->claim && is_nd_btt(ndns->claim))
> suffix = "s";
>
> @@ -201,7 +205,7 @@ const char *nvdimm_namespace_disk_name(struct
> nd_namespace_common *ndns,
> sprintf(name, "pmem%d.%d%s", nd_region->id, nsidx,
> suffix ? suffix : "");
> else
> - sprintf(name, "pmem%d%s", nd_region->id,
> + sprintf(name, "%spmem%d%s", prefix, nd_region->id,
> suffix ? suffix : "");
> } else if (is_namespace_blk(&ndns->dev)) {
> struct nd_namespace_blk *nsblk;
> --
> 2.20.1
>
>

2019-08-15 19:24:25

by Dan Williams

[permalink] [raw]
Subject: Re: [PATCH] libnvdimm: change disk name of virtio pmem disk

On Wed, Jul 31, 2019 at 4:12 AM Pankaj Gupta <[email protected]> wrote:
>
> This patch adds prefix 'v' in disk name for virtio pmem.
> This differentiates virtio-pmem disks from the pmem disks.

I don't think the small matter that this device does not support
MAP_SYNC warrants a separate naming scheme. That said I do think we
need to export this attribute in sysfs, likely at the region level,
and then display that information in ndctl. This is distinct from the
btt case where it is operating a different data consistency contract
than baseline pmem.
>
> Signed-off-by: Pankaj Gupta <[email protected]>
> ---
> drivers/nvdimm/namespace_devs.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
> index a16e52251a30..8e5d29266fb0 100644
> --- a/drivers/nvdimm/namespace_devs.c
> +++ b/drivers/nvdimm/namespace_devs.c
> @@ -182,8 +182,12 @@ const char *nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
> char *name)
> {
> struct nd_region *nd_region = to_nd_region(ndns->dev.parent);
> + const char *prefix = "";
> const char *suffix = NULL;
>
> + if (!is_nvdimm_sync(nd_region))
> + prefix = "v";
> +
> if (ndns->claim && is_nd_btt(ndns->claim))
> suffix = "s";
>
> @@ -201,7 +205,7 @@ const char *nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
> sprintf(name, "pmem%d.%d%s", nd_region->id, nsidx,
> suffix ? suffix : "");
> else
> - sprintf(name, "pmem%d%s", nd_region->id,
> + sprintf(name, "%spmem%d%s", prefix, nd_region->id,
> suffix ? suffix : "");
> } else if (is_namespace_blk(&ndns->dev)) {
> struct nd_namespace_blk *nsblk;
> --
> 2.20.1
>

2019-08-16 07:40:17

by Pankaj Gupta

[permalink] [raw]
Subject: Re: [PATCH] libnvdimm: change disk name of virtio pmem disk


> >
> > This patch adds prefix 'v' in disk name for virtio pmem.
> > This differentiates virtio-pmem disks from the pmem disks.
>
> I don't think the small matter that this device does not support
> MAP_SYNC warrants a separate naming scheme. That said I do think we
> need to export this attribute in sysfs, likely at the region level,
> and then display that information in ndctl. This is distinct from the
> btt case where it is operating a different data consistency contract
> than baseline pmem.

o.k. I will look to add the information in sysfs and display using ndctl.

Thanks,
Pankaj

> >
> > Signed-off-by: Pankaj Gupta <[email protected]>
> > ---
> > drivers/nvdimm/namespace_devs.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/nvdimm/namespace_devs.c
> > b/drivers/nvdimm/namespace_devs.c
> > index a16e52251a30..8e5d29266fb0 100644
> > --- a/drivers/nvdimm/namespace_devs.c
> > +++ b/drivers/nvdimm/namespace_devs.c
> > @@ -182,8 +182,12 @@ const char *nvdimm_namespace_disk_name(struct
> > nd_namespace_common *ndns,
> > char *name)
> > {
> > struct nd_region *nd_region = to_nd_region(ndns->dev.parent);
> > + const char *prefix = "";
> > const char *suffix = NULL;
> >
> > + if (!is_nvdimm_sync(nd_region))
> > + prefix = "v";
> > +
> > if (ndns->claim && is_nd_btt(ndns->claim))
> > suffix = "s";
> >
> > @@ -201,7 +205,7 @@ const char *nvdimm_namespace_disk_name(struct
> > nd_namespace_common *ndns,
> > sprintf(name, "pmem%d.%d%s", nd_region->id, nsidx,
> > suffix ? suffix : "");
> > else
> > - sprintf(name, "pmem%d%s", nd_region->id,
> > + sprintf(name, "%spmem%d%s", prefix, nd_region->id,
> > suffix ? suffix : "");
> > } else if (is_namespace_blk(&ndns->dev)) {
> > struct nd_namespace_blk *nsblk;
> > --
> > 2.20.1
> >
>