hw/block/nvme: support namespace detach
Given that now we have nvme-subsys device supported, we can manage namespace allocated, but not attached: detached. This patch introduced a parameter for nvme-ns device named 'detached'. This parameter indicates whether the given namespace device is detached from a entire NVMe subsystem('subsys' given case, shared namespace) or a controller('bus' given case, private namespace). - Allocated namespace 1) Shared ns in the subsystem 'subsys0': -device nvme-ns,id=ns1,drive=blknvme0,nsid=1,subsys=subsys0,detached=true 2) Private ns for the controller 'nvme0' of the subsystem 'subsys0': -device nvme-subsys,id=subsys0 -device nvme,serial=foo,id=nvme0,subsys=subsys0 -device nvme-ns,id=ns1,drive=blknvme0,nsid=1,bus=nvme0,detached=true 3) (Invalid case) Controller 'nvme0' has no subsystem to manage ns: -device nvme,serial=foo,id=nvme0 -device nvme-ns,id=ns1,drive=blknvme0,nsid=1,bus=nvme0,detached=true Signed-off-by:Minwoo Im <minwoo.im.dev@gmail.com> Reviewed-by:
Keith Busch <kbusch@kernel.org> Signed-off-by:
Klaus Jensen <k.jensen@samsung.com>
Showing
- hw/block/nvme-ns.c 1 addition, 0 deletionshw/block/nvme-ns.c
- hw/block/nvme-ns.h 1 addition, 0 deletionshw/block/nvme-ns.h
- hw/block/nvme-subsys.h 1 addition, 0 deletionshw/block/nvme-subsys.h
- hw/block/nvme.c 39 additions, 2 deletionshw/block/nvme.c
- hw/block/nvme.h 22 additions, 0 deletionshw/block/nvme.h
Loading
Please register or sign in to comment