Re: [bug report] block/005 hangs with NVMe device and linux-block/for-next
From: Damien Le Moal <hidden>
Date: 2021-11-02 08:28:12
Also in:
linux-nvme
+linux-nvme (Keith and Christoph) On 2021/11/02 17:19, Shinichiro Kawasaki wrote:
On Nov 02, 2021 / 03:07, Chaitanya Kulkarni wrote:quoted
quoted
The NVMe device I use is a U.2 NVMe ZNS SSD. It has a zoned name space and a regular name space, and the hang is observed with both name spaces. I have not yet tried other NVME devices, so I will try them.I tried another NVMe device, WD Black SN750, but it did not recreate the hang.quoted
quoted
See if you can produce this with QEMU NVMe emulation (ZNS and NON-ZNS mode), if you can then it will be easier to reproduce for everyone.Chaitanya, thank you for the advice. I have managed to reproduce the hang with QEMU NVMe emulation. Actually, ZNS mode is not required. I tried some device set up configuration with QEMU, and the hang was recreated when a single NVMe device has two namespaces. With single namespace in a single NVMe device, the hang is not observed. So it looks like that the number of namespaces may be related to the cause. The WD Black SN750 without hang has single namespace. I reduced the number of namespaces of the U.2 NVMe ZNS SSD from 2 to 1, then the hang was not observed. FYI, the QEMU command line options that I used was as follows. It prepares /dev/nvme0n1 and /dev/nvme0n2, and the block/005 run on /dev/nvme0n1 recreated the hang. -device nvme,id=nvme0,serial=qemunvme,logical_block_size=4096,physical_block_size=4096 \ -drive file=(path)/nvme0n1.img,id=nvme0n1,format=raw,if=none \ -device nvme-ns,drive=nvme0n1,bus=nvme0,nsid=1 \ -drive file=(path)/nvme0n2.img,id=nvme0n2,format=raw,if=none \ -device nvme-ns,drive=nvme0n2,bus=nvme0,nsid=2 Regarding the two image files, I created them beforehand with the command below: $ qemu-img create -f raw "${image_file_path}" 1024M Hope this helps.
-- Damien Le Moal Western Digital Research