qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v11 00/13] hw/block/nvme: Support Namespace Types and Zoned N


From: Minwoo Im
Subject: Re: [PATCH v11 00/13] hw/block/nvme: Support Namespace Types and Zoned Namespace Command Set
Date: Fri, 5 Feb 2021 21:33:54 +0900
User-agent: Mutt/1.11.4 (2019-03-13)

On 21-02-05 12:42:30, Klaus Jensen wrote:
> On Feb  5 12:25, info@dantalion.nl wrote:
> > On 05-02-2021 11:39, Klaus Jensen wrote:
> > > This is a good way to report it ;)
> > > It is super helpful and super appreciated! Thanks!
> > 
> > Good to know :)
> > 
> > > I cant reproduce that. Can you share your qemu configuration, kernel
> > > version?
> > 
> > I create the image and launch QEMU with:
> > qemu-img create -f raw znsssd.img 16777216
> > 
> > qemu-system-x86_64 -name qemuzns -m 4G -cpu Haswell -smp 2 -hda \
> > ./arch-qemu.qcow2 -net user,hostfwd=tcp::7777-:22,\
> > hostfwd=tcp::2222-:2000 -net nic \
> > -drive file=./znsssd.img,id=mynvme,format=raw,if=none \
> > -device nvme-subsys,id=subsys0 \
> > -device nvme,serial=baz,id=nvme2,zoned.append_size_limit=131072,\
> > subsys=subsys0 \
> > -device nvme-ns,id=ns2,drive=mynvme,nsid=2,logical_block_size=4096,\
> > physical_block_size=4096,zoned=true,zoned.zone_size=131072,\
> > zoned.zone_capacity=131072,zoned.max_open=0,zoned.max_active=0,bus=nvme2
> > 
> > This should create 128 zones as 16777216 / 131072 = 128. My qemu version
> > is on d79d797b0dd02c33dc9428123c18ae97127e967b of nvme-next.
> > 
> > I don't actually think the subsys is needed when you use bus=, that is
> > just something left over from trying to identify why the nvme device was
> > not initializing.
> > 
> > I use an Arch qcow image with kernel version 5.10.12
> 
> Thanks - I can reproduce it now.
> 
> Happens only when the subsystem is involved. Looks like a kernel issue
> to me since the zones are definitely there when using nvme-cli.

Yes, it looks like it happens when CONFIG_NVME_MULTIPATH=y and subsys is
given for namespace sharing.  In that case, the actual hidden namespace
for nvme0n1 might be nvme0c0n1.

lrwxrwxrwx 1 root root 0 Feb  5 12:30 /sys/block/nvme0c0n1 -> 
../devices/pci0000:00/0000:00:06.0/nvme/nvme0/nvme0c0n1/
lrwxrwxrwx 1 root root 0 Feb  5 12:30 /sys/block/nvme0n1 -> 
../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0n1/   

cat /sys/block/nvme0c0n1/queue/nr_zones returns proper value.

> 
> Stuff also seems to be initialized in the kernel since blkzone report
> works.
> 
> Keith, this might be some fun for you :) ?

I also really want to ask about the policy of head namespace policy
in kernel. :)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]