Bug 2217199

Summary: [RHEL9] liburing testing io_uring_passthrough.t failed with device name like /dev/nvme0n1
Product: Red Hat Enterprise Linux 9 Reporter: guazhang <guazhang>
Component: liburingAssignee: Jeff Moyer <jmoyer>
Status: CLOSED NOTABUG QA Contact: guazhang <guazhang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.3   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-26 18:21:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description guazhang@redhat.com 2023-06-25 01:14:49 UTC
Description of problem:
please confirm the liburing case io_uring_passthrough.t if support device name like '/dev/nvme0n1'

Version-Release number of selected component (if applicable):
5.14.0-329.el9.x86_64
liburing-2.3-2.el9.x86_64

How reproducible:


Steps to Reproduce:
[root@storageqe-66 test]# ./io_uring_passthrough.t /dev/nvme0n1 
cqe res -95, wanted 0
test_io failed 0/0/0/0
[root@storageqe-66 test]# $?
-bash: 1: command not found
[root@storageqe-66 test]# 
[root@storageqe-66 test]# ./io_uring_passthrough.t /dev/ng0n1 
Device doesn't support polled IO
[root@storageqe-66 test]# $?
-bash: 0: command not found
[root@storageqe-66 test]# 
[root@storageqe-66 test]# cat /proc/cmdline 
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.14.0-329.el9.x86_64 root=/dev/mapper/rhel_storageqe--66-root ro loglevel=5 resume=/dev/mapper/rhel_storageqe--66-swap rd.lvm.lv=rhel_storageqe-66/root rd.lvm.lv=rhel_storageqe-66/swap selinux=0 console=ttyS0,115200n81 crashkernel=1G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G nvme.poll_queues=0 nvme_core.multipath=N io_uring.enable=y
[root@storageqe-66 test]# 


Actual results:


Expected results:


Additional info:

Comment 1 Jeff Moyer 2023-06-26 18:21:21 UTC
(In reply to guazhang from comment #0)
> Description of problem:
> please confirm the liburing case io_uring_passthrough.t if support device
> name like '/dev/nvme0n1'

No, the nvme pass-through commands must be issued to the generic device, ng<#>n<#>

> Version-Release number of selected component (if applicable):
> 5.14.0-329.el9.x86_64
> liburing-2.3-2.el9.x86_64
> 
> How reproducible:
> 
> 
> Steps to Reproduce:
> [root@storageqe-66 test]# ./io_uring_passthrough.t /dev/nvme0n1 
> cqe res -95, wanted 0
> test_io failed 0/0/0/0

As noted above, this is an invalid test.

> [root@storageqe-66 test]# $?
> -bash: 1: command not found

ITYM "echo $?"

> [root@storageqe-66 test]# 
> [root@storageqe-66 test]# ./io_uring_passthrough.t /dev/ng0n1 
> Device doesn't support polled IO

This is expected.  FYI, the upstream added code to the io_uring_passthrough test skip the test when polling isn't supported by the device.  See liburing commit 9e0acb2 ("test/io_uring_passthrough: skip test if bit sqe/cqe support not there").

> [root@storageqe-66 test]# $?
> -bash: 0: command not found

Again, "echo $?"  :)