linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V6 0/2] nvme: enable char device per namespace
@ 2021-03-01 19:24 javier
  2021-03-01 19:24 ` [PATCH V6 1/2] " javier
  2021-03-01 19:24 ` [PATCH V6 2/2] nvme: allow open for nvme-generic char device javier
  0 siblings, 2 replies; 17+ messages in thread
From: javier @ 2021-03-01 19:24 UTC (permalink / raw)
  To: linux-nvme
  Cc: sagi, linux-block, minwoo.im.dev, kbusch, Javier González, hch

From: Javier González <javier.gonz@samsung.com>

These two patches enable a char device per namespace, also through
multipath. It is possible to test this in QEMU using Keith's and Klaus'
tree in nvme-next

     http://git.infradead.org/qemu-nvme.git/shortlog/refs/heads/nvme-next


One question that came up while preparing V6 is what to do with the bdev
sysfs entries when the block device fails. On the one hand, these values
are useful for the char device, but on the other, they are in principle
only valid for the block device. We have 3 options: (i) clear sysfs when
bdev fails and require user-space to query the nvme device directly
through sysfs, (ii) maintain the bdev sysfs entries, and (iii) make char
device dedicated sysfs entries, which might be redundant when both the
char device and the block device are brought up. Thoughts?

Keith: Regarding nvme-cli support, once this is in place, we will send a
patch to nvme-cli so that this device is shown in verbose mode. Do you
have anu thoughts about this?

Changes since V5
  - Addressed style and naming comments from Christoph
  - Change the logic around nvme_update_ns_info() to (i) make the
    GENHD_FL_HIDDEN more explicit in the init logic, and (ii) to support
    an error path that also stops the char device from being created.
    This error path is not exercised currently.

Changes since V4
  - Added support for multipath (from Minwoo)
  - Fixed typo in commit message for sysfs naming
  - Rebase into nvme-5.12

Changes since V3
  - Use a dedicated ida for the generic handle
  - Do not abort namespace greation if the generic handle fails

Changes since V2:
  - Apply a number of naming and code structure improvements (from
    Christoph)
  - Use i_cdev to pull struct nvme_ns in the ioctl path instead of
    populating file->private_data (from Christoph)
  - Change char device and sysfs entries to /dev/nvme-generic-XcYnZ to
    follow the hidden device naming scheme (from Christoph and Keith)

Changes since V1:
  - Remove patches 1-3 which are already picked up by Christoph
  - Change the char device and sysfs entries to nvmeXnYc / c signals
    char device
  - Address Minwoo's comments on inline functions and style


Javier González (1):
  nvme: enable char device per namespace

Minwoo Im (1):
  nvme: allow open for nvme-generic char device

 drivers/nvme/host/core.c | 198 ++++++++++++++++++++++++++++++++++-----
 drivers/nvme/host/nvme.h |   5 +
 2 files changed, 182 insertions(+), 21 deletions(-)

-- 
2.17.1


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-03-25 15:15 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-01 19:24 [PATCH V6 0/2] nvme: enable char device per namespace javier
2021-03-01 19:24 ` [PATCH V6 1/2] " javier
2021-03-03  9:10   ` Christoph Hellwig
2021-03-03 10:02     ` Javier González
2021-03-09 11:31       ` Christoph Hellwig
2021-03-09 12:42         ` Javier González
2021-03-09 15:05           ` Christoph Hellwig
2021-03-09 21:18             ` Javier González
2021-03-24 12:29   ` Niklas Cassel
2021-03-25  2:09     ` Minwoo Im
2021-03-25  8:26       ` hch
2021-03-25  8:39         ` Niklas Cassel
2021-03-25  9:34           ` Minwoo Im
2021-03-25 12:25   ` Niklas Cassel
2021-03-25 12:33     ` Minwoo Im
2021-03-25 15:14     ` Keith Busch
2021-03-01 19:24 ` [PATCH V6 2/2] nvme: allow open for nvme-generic char device javier

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).