Bug 2217198
| Summary: | [RHEL9] liburing testing failed with null device | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | guazhang <guazhang> |
| Component: | liburing | Assignee: | 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-08-15 16:42:32 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:05:05 UTC
What module parameters do you set for the null block device (please always include information necessary to reproduce a problem in the bug report)? If you take the defaults, the device does no I/O. That's a problem for some tests, as you've discovered. Try this: modprobe null_blk memory_backed=1 cache_size=256 and re-run your tests. You should find that they now succeed. Let me know if that is not the case. 1.modprobe null_blk submit_queues=16 nr_devices=1 shared_tags=1 # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 558.9G 0 disk ├─sda1 8:1 0 600M 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 557.3G 0 part ├─rhel_storageqe--66-root 253:0 0 70G 0 lvm / ├─rhel_storageqe--66-swap 253:1 0 15.6G 0 lvm [SWAP] └─rhel_storageqe--66-home 253:2 0 471.7G 0 lvm /home sdb 8:16 1 0B 0 disk nullb0 252:0 0 250G 0 disk nvme0n1 259:1 0 1.5T 0 disk 2. build and install liburing-2.3-2.el9.src.rpm 3. [root@storageqe-66 test]# ./ringbuf-read.t /dev/nullb0 got 0, wanted 31 dio test failed [root@storageqe-66 test]# echo $? 1 [root@storageqe-66 test]# ./file-verify.t /dev/nullb0 Found 33547264, wanted 0 Buffered novec test failed [root@storageqe-66 test]# echo $? 1 [root@storageqe-66 test]# ./read-write.t /dev/nullb0 Data mismatch! bid=14, wanted=14, got=85 test_buf_select nonvec failed [root@storageqe-66 test]# echo $? 1 [root@storageqe-66 test]# ./recv-multishot.t /dev/nullb0 [root@storageqe-66 test]# echo $? 77 [root@storageqe-66 test]# [root@storageqe-66 test]# uname -a Linux storageqe-66.rhts.eng.pek2.redhat.com 5.14.0-350.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 4 12:55:29 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux [root@storageqe-66 test]# Can you test with the module parameters I suggested (in addition to the parameters that you already use). modprobe null_blk submit_queues=16 nr_devices=1 shared_tags=1 [root@dell-per730-43 test]# ./ringbuf-read.t /dev/nullb0 got 0, wanted 31 dio test failed [root@dell-per730-43 test]# ./file-verify.t /dev/nullb0 Found 32372736, wanted 0 Buffered novec test failed [root@dell-per730-43 test]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 558.4G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 557.4G 0 part ├─rhel_dell--per730--43-root 253:0 0 70G 0 lvm / ├─rhel_dell--per730--43-swap 253:1 0 15.7G 0 lvm [SWAP] └─rhel_dell--per730--43-home 253:2 0 471.7G 0 lvm /home sr0 11:0 1 1024M 0 rom nullb0 252:0 0 250G 0 disk [root@dell-per730-43 test]# modprobe -r null_blk [root@dell-per730-43 test]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 558.4G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 557.4G 0 part ├─rhel_dell--per730--43-root 253:0 0 70G 0 lvm / ├─rhel_dell--per730--43-swap 253:1 0 15.7G 0 lvm [SWAP] └─rhel_dell--per730--43-home 253:2 0 471.7G 0 lvm /home sr0 11:0 1 1024M 0 rom [root@dell-per730-43 test]# modprobe null_blk memory_backed=1 cache_size=256 [root@dell-per730-43 test]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 558.4G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 557.4G 0 part ├─rhel_dell--per730--43-root 253:0 0 70G 0 lvm / ├─rhel_dell--per730--43-swap 253:1 0 15.7G 0 lvm [SWAP] └─rhel_dell--per730--43-home 253:2 0 471.7G 0 lvm /home sr0 11:0 1 1024M 0 rom nullb0 252:0 0 250G 0 disk [root@dell-per730-43 test]# ./ringbuf-read.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 0: command not found [root@dell-per730-43 test]# ./file-verify.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 0: command not found [root@dell-per730-43 test]# ./read-write.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 0: command not found [root@dell-per730-43 test]# ./recv-multishot.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 77: command not found [root@dell-per730-43 test]# [root@dell-per730-43 test]# modprobe null_blk submit_queues=16 nr_devices=1 [root@dell-per730-43 test]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 558.4G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 557.4G 0 part ├─rhel_dell--per730--43-root 253:0 0 70G 0 lvm / ├─rhel_dell--per730--43-swap 253:1 0 15.7G 0 lvm [SWAP] └─rhel_dell--per730--43-home 253:2 0 471.7G 0 lvm /home sr0 11:0 1 1024M 0 rom nullb0 252:0 0 250G 0 disk [root@dell-per730-43 test]# ./read-write.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 0: command not found [root@dell-per730-43 test]# ./ringbuf-read.t /dev/null0 open: No such file or directory [root@dell-per730-43 test]# [root@dell-per730-43 test]# ./ringbuf-read.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 0: command not found [root@dell-per730-43 test]# ./file-verify.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 0: command not found [root@dell-per730-43 test]# ./recv-multishot.t /dev/nullb0 [root@dell-per730-43 test]# $? -bash: 77: command not found [root@dell-per730-43 test]# looks can not import `shared_tags=1` to the null_blk module. I'm not sure what you're testing. I was hoping you would specify "memory_backed=1 cache_size=256" on the modprobe command line. In comment #4, can not hit the error with the "modprobe null_blk memory_backed=1 cache_size=256", but recv-multishot.t testing. Sorry, I missed the part where you configured null_blk with those parameters.
If you run the full test suite using 'make runtests', you will see this:
Running test recv-multishot.t 0 sec [1]
Running test recv-multishot.t /dev/nullb0 Skipped
enum t_test_result {
T_EXIT_PASS = 0,
T_EXIT_FAIL = 1,
T_EXIT_SKIP = 77,
};
That 77 return code just means that the test is not valid for this device.
I'm going to close this as NOTABUG. Please re-open if I missed something.
Thanks!
|