Bug 2217198 - [RHEL9] liburing testing failed with null device
Summary: [RHEL9] liburing testing failed with null device
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: liburing
Version: 9.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Jeff Moyer
QA Contact: guazhang@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-06-25 01:05 UTC by guazhang@redhat.com
Modified: 2023-08-15 16:42 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-15 16:42:32 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-164899 0 None None None 2023-08-08 18:09:50 UTC

Description guazhang@redhat.com 2023-06-25 01:05:05 UTC
Description of problem:
please confirm the liburing support block null device, because liburing testing failed with the device 

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]# cat config.local 
TEST_FILES=/dev/nullb0  
[root@storageqe-66 test]# 

2. make runtests
3.

Actual results:


Expected results:


Additional info:


[FAIL][20:50:21][storageqe-66.rhts.eng.pek2.redhat.com]make runtests
STDOUT:
make[1]: Entering directory '/root/rpmbuild/BUILD/liburing-2.3/src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/root/rpmbuild/BUILD/liburing-2.3/src'
make[1]: Entering directory '/root/rpmbuild/BUILD/liburing-2.3/test'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/root/rpmbuild/BUILD/liburing-2.3/test'
make[1]: Entering directory '/root/rpmbuild/BUILD/liburing-2.3/examples'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/root/rpmbuild/BUILD/liburing-2.3/examples'
make[1]: Entering directory '/root/rpmbuild/BUILD/liburing-2.3/test'
Running test 232c93d07b74.t                                         4 sec [5]
Running test 232c93d07b74.t /dev/nullb0                             Skipped
Running test 35fa71a030ca.t                                         5 sec [5]
Running test 35fa71a030ca.t /dev/nullb0                             Skipped
Running test 500f9fbadef8.t                                         0 sec [0]
Running test 500f9fbadef8.t /dev/nullb0                             Skipped
Running test 7ad0e4b2f83c.t                                         1 sec [1]
Running test 7ad0e4b2f83c.t /dev/nullb0                             Skipped
Running test 8a9973408177.t                                         0 sec [0]
Running test 8a9973408177.t /dev/nullb0                             Skipped
Running test 917257daa0fe.t                                         0 sec [0]
Running test 917257daa0fe.t /dev/nullb0                             Skipped
Running test a0908ae19763.t                                         0 sec [0]
Running test a0908ae19763.t /dev/nullb0                             Skipped
Running test a4c0b3decb33.t                                         9 sec [9]
Running test a4c0b3decb33.t /dev/nullb0                             Skipped
Running test accept.t                                               1 sec [1]
Running test accept.t /dev/nullb0                                   Skipped
Running test accept-link.t                                          0 sec [0]
Running test accept-link.t /dev/nullb0                              Skipped
Running test accept-reuse.t                                         0 sec [0]
Running test accept-reuse.t /dev/nullb0                             Skipped
Running test accept-test.t                                          0 sec [0]
Running test accept-test.t /dev/nullb0                              Skipped
Running test across-fork.t                                          0 sec [0]
Running test across-fork.t /dev/nullb0                              Skipped
Running test b19062a56726.t                                         0 sec [0]
Running test b19062a56726.t /dev/nullb0                             Skipped
Running test b5837bd5311d.t                                         0 sec [0]
Running test b5837bd5311d.t /dev/nullb0                             Skipped
Running test buf-ring.t                                             1 sec [0]
Running test buf-ring.t /dev/nullb0                                 Skipped
Running test ce593a6c480a.t                                         1 sec [1]
Running test ce593a6c480a.t /dev/nullb0                             Skipped
Running test close-opath.t                                          0 sec [0]
Running test close-opath.t /dev/nullb0                              0 sec [0]
Running test connect.t                                              0 sec [0]
Running test connect.t /dev/nullb0                                  Skipped
Running test cq-full.t                                              0 sec [0]
Running test cq-full.t /dev/nullb0                                  Skipped
Running test cq-overflow.t                                          10 sec [10]
Running test cq-overflow.t /dev/nullb0                              Skipped
Running test cq-peek-batch.t                                        0 sec [0]
Running test cq-peek-batch.t /dev/nullb0                            Skipped
Running test cq-ready.t                                             0 sec [0]
Running test cq-ready.t /dev/nullb0                                 Skipped
Running test cq-size.t                                              0 sec [0]
Running test cq-size.t /dev/nullb0                                  Skipped
Running test d4ae271dfaae.t                                         0 sec [0]
Running test d4ae271dfaae.t /dev/nullb0                             0 sec [0]
Running test d77a67ed5f27.t                                         0 sec [0]
Running test d77a67ed5f27.t /dev/nullb0                             Skipped
Running test defer.t                                                3 sec [3]
Running test defer.t /dev/nullb0                                    Skipped
Running test defer-taskrun.t                                        0 sec [0]
Running test defer-taskrun.t /dev/nullb0                            0 sec [0]
Running test double-poll-crash.t                                    0 sec [0]
Running test double-poll-crash.t /dev/nullb0                        Skipped
Running test drop-submit.t                                          0 sec [0]
Running test drop-submit.t /dev/nullb0                              Skipped
Running test eeed8b54e0df.t                                         0 sec [0]
Running test eeed8b54e0df.t /dev/nullb0                             Skipped
Running test empty-eownerdead.t                                     0 sec [0]
Running test empty-eownerdead.t /dev/nullb0                         Skipped
Running test eventfd.t                                              0 sec [0]
Running test eventfd.t /dev/nullb0                                  Skipped
Running test eventfd-disable.t                                      0 sec [0]
Running test eventfd-disable.t /dev/nullb0                          Skipped
Running test eventfd-reg.t                                          0 sec [0]
Running test eventfd-reg.t /dev/nullb0                              Skipped
Running test eventfd-ring.t                                         0 sec [0]
Running test eventfd-ring.t /dev/nullb0                             Skipped
Running test exec-target.t                                          0 sec [0]
Running test exec-target.t /dev/nullb0                              0 sec [0]
Running test exit-no-cleanup.t                                      0 sec [0]
Running test exit-no-cleanup.t /dev/nullb0                          Skipped
Running test fadvise.t                                              0 sec [0]
Running test fadvise.t /dev/nullb0                                  0 sec [0]
Running test fallocate.t                                            0 sec [0]
Running test fallocate.t /dev/nullb0                                Skipped
Running test fc2a85cb02ef.t                                         Test needs failslab/fail_futex/fail_page_alloc enabled, skipped
Skipped
Running test fc2a85cb02ef.t /dev/nullb0                             Skipped
Running test fd-pass.t                                              0 sec [0]
Running test fd-pass.t /dev/nullb0                                  Skipped
Running test file-register.t                                        3 sec [3]
Running test file-register.t /dev/nullb0                            Skipped
Running test files-exit-hang-poll.t                                 1 sec [1]
Running test files-exit-hang-poll.t /dev/nullb0                     Skipped
Running test files-exit-hang-timeout.t                              1 sec [1]
Running test files-exit-hang-timeout.t /dev/nullb0                  Skipped
Running test file-update.t                                          0 sec [0]
Running test file-update.t /dev/nullb0                              Skipped
Running test file-verify.t                                          0 sec [1]
Running test file-verify.t /dev/nullb0                              Test file-verify.t failed with ret 1
Running test fixed-buf-iter.t                                       0 sec [0]
Running test fixed-buf-iter.t /dev/nullb0                           Skipped
Running test fixed-link.t                                           0 sec [0]
Running test fixed-link.t /dev/nullb0                               Skipped
Running test fixed-reuse.t                                          0 sec [0]
Running test fixed-reuse.t /dev/nullb0                              Skipped
Running test fpos.t                                                 0 sec [0]
Running test fpos.t /dev/nullb0                                     Skipped
Running test fsync.t                                                0 sec [0]
Running test fsync.t /dev/nullb0                                    Skipped
Running test hardlink.t                                             0 sec [0]
Running test hardlink.t /dev/nullb0                                 Skipped
Running test io-cancel.t                                            2 sec [2]
Running test io-cancel.t /dev/nullb0                                Skipped
Running test iopoll.t                                               1 sec [0]
Running test iopoll.t /dev/nullb0                                   0 sec [0]
Running test iopoll-leak.t                                          0 sec [0]
Running test iopoll-leak.t /dev/nullb0                              0 sec [0]
Running test io_uring_enter.t                                       0 sec [0]
Running test io_uring_enter.t /dev/nullb0                           Skipped
Running test io_uring_passthrough.t                                 Skipped
Running test io_uring_passthrough.t /dev/nullb0                     Skipped
Running test io_uring_register.t                                    1 sec [0]
Running test io_uring_register.t /dev/nullb0                        Skipped
Running test io_uring_setup.t                                       0 sec [0]
Running test io_uring_setup.t /dev/nullb0                           Skipped
Running test lfs-openat.t                                           0 sec [0]
Running test lfs-openat.t /dev/nullb0                               0 sec [0]
Running test lfs-openat-write.t                                     0 sec [0]
Running test lfs-openat-write.t /dev/nullb0                         Skipped
Running test link.t                                                 0 sec [0]
Running test link.t /dev/nullb0                                     Skipped
Running test link_drain.t                                           0 sec [1]
Running test link_drain.t /dev/nullb0                               0 sec [0]
Running test link-timeout.t                                         2 sec [1]
Running test link-timeout.t /dev/nullb0                             Skipped
Running test madvise.t                                              0 sec [0]
Running test madvise.t /dev/nullb0                                  0 sec [1]
Running test mkdir.t                                                0 sec [0]
Running test mkdir.t /dev/nullb0                                    Skipped
Running test msg-ring.t                                             0 sec [0]
Running test msg-ring.t /dev/nullb0                                 Skipped
Running test multicqes_drain.t                                      20 sec [20]
Running test multicqes_drain.t /dev/nullb0                          Skipped
Running test nolibc.t                                               0 sec [0]
Running test nolibc.t /dev/nullb0                                   Skipped
Running test nop-all-sizes.t                                        0 sec [0]
Running test nop-all-sizes.t /dev/nullb0                            0 sec [0]
Running test nop.t                                                  0 sec [0]
Running test nop.t /dev/nullb0                                      0 sec [0]
Running test openat2.t                                              0 sec [0]
Running test openat2.t /dev/nullb0                                  0 sec [0]
Running test open-close.t                                           0 sec [0]
Running test open-close.t /dev/nullb0                               0 sec [0]
Running test open-direct-link.t                                     0 sec [0]
Running test open-direct-link.t /dev/nullb0                         0 sec [0]
Running test open-direct-pick.t                                     0 sec [0]
Running test open-direct-pick.t /dev/nullb0                         0 sec [0]
Running test personality.t                                          0 sec [0]
Running test personality.t /dev/nullb0                              0 sec [0]
Running test pipe-eof.t                                             0 sec [0]
Running test pipe-eof.t /dev/nullb0                                 0 sec [0]
Running test pipe-reuse.t                                           0 sec [0]
Running test pipe-reuse.t /dev/nullb0                               0 sec [0]
Running test poll.t                                                 0 sec [0]
Running test poll.t /dev/nullb0                                     0 sec [0]
Running test poll-cancel.t                                          0 sec [0]
Running test poll-cancel.t /dev/nullb0                              0 sec [0]
Running test poll-cancel-all.t                                      0 sec [0]
Running test poll-cancel-all.t /dev/nullb0                          0 sec [0]
Running test poll-cancel-ton.t                                      0 sec [0]
Running test poll-cancel-ton.t /dev/nullb0                          0 sec [0]
Running test poll-link.t                                            1 sec [0]
Running test poll-link.t /dev/nullb0                                0 sec [0]
Running test poll-many.t                                            1 sec [1]
Running test poll-many.t /dev/nullb0                                0 sec [0]
Running test poll-mshot-update.t                                    3 sec [3]
Running test poll-mshot-update.t /dev/nullb0                        0 sec [0]
Running test poll-mshot-overflow.t                                  0 sec [0]
Running test poll-mshot-overflow.t /dev/nullb0                      Skipped
Running test poll-ring.t                                            0 sec [0]
Running test poll-ring.t /dev/nullb0                                0 sec [0]
Running test poll-v-poll.t                                          0 sec [0]
Running test poll-v-poll.t /dev/nullb0                              1 sec [1]
Running test pollfree.t                                             10 sec [10]
Running test pollfree.t /dev/nullb0                                 0 sec [0]
Running test probe.t                                                0 sec [0]
Running test probe.t /dev/nullb0                                    0 sec [0]
Running test read-before-exit.t                                     0 sec [1]
Running test read-before-exit.t /dev/nullb0                         0 sec [0]
Running test read-write.t                                           2 sec [2]
Running test read-write.t /dev/nullb0                               Test read-write.t failed with ret 1
Running test recv-msgall.t                                          0 sec [0]
Running test recv-msgall.t /dev/nullb0                              0 sec [0]
Running test recv-msgall-stream.t                                   0 sec [0]
Running test recv-msgall-stream.t /dev/nullb0                       0 sec [0]
Running test recv-multishot.t                                       Test recv-multishot.t failed with ret 1
Running test recv-multishot.t /dev/nullb0                           Skipped
Running test register-restrictions.t                                0 sec [0]
Running test register-restrictions.t /dev/nullb0                    0 sec [0]
Running test rename.t                                               0 sec [0]
Running test rename.t /dev/nullb0                                   0 sec [0]
Running test ringbuf-read.t                                         0 sec [0]
Running test ringbuf-read.t /dev/nullb0                             Test ringbuf-read.t failed with ret 1
Running test ring-leak2.t                                           1 sec [1]
Running test ring-leak2.t /dev/nullb0                               0 sec [0]
Running test ring-leak.t                                            0 sec [0]
Running test ring-leak.t /dev/nullb0                                0 sec [0]
Running test rsrc_tags.t                                            14 sec [15]
Running test rsrc_tags.t /dev/nullb0                                0 sec [0]
Running test rw_merge_test.t                                        0 sec [0]
Running test rw_merge_test.t /dev/nullb0                            0 sec [0]
Running test self.t                                                 0 sec [0]
Running test self.t /dev/nullb0                                     0 sec [0]
Running test sendmsg_fs_cve.t                                       0 sec [0]
Running test sendmsg_fs_cve.t /dev/nullb0                           0 sec [0]
Running test send_recv.t                                            0 sec [0]
Running test send_recv.t /dev/nullb0                                0 sec [0]
Running test send_recvmsg.t                                         0 sec [0]
Running test send_recvmsg.t /dev/nullb0                             0 sec [0]
Running test shared-wq.t                                            0 sec [0]
Running test shared-wq.t /dev/nullb0                                0 sec [0]
Running test short-read.t                                           0 sec [0]
Running test short-read.t /dev/nullb0                               0 sec [0]
Running test shutdown.t                                             0 sec [0]
Running test shutdown.t /dev/nullb0                                 0 sec [0]
Running test sigfd-deadlock.t                                       0 sec [0]
Running test sigfd-deadlock.t /dev/nullb0                           0 sec [0]
Running test skip-cqe.t                                             0 sec [0]
Running test skip-cqe.t /dev/nullb0                                 0 sec [0]
Running test socket.t                                               0 sec [0]
Running test socket.t /dev/nullb0                                   0 sec [0]
Running test socket-rw.t                                            0 sec [0]
Running test socket-rw.t /dev/nullb0                                0 sec [0]
Running test socket-rw-eagain.t                                     0 sec [0]
Running test socket-rw-eagain.t /dev/nullb0                         0 sec [0]
Running test socket-rw-offset.t                                     0 sec [0]
Running test socket-rw-offset.t /dev/nullb0                         0 sec [0]
Running test splice.t                                               0 sec [0]
Running test splice.t /dev/nullb0                                   0 sec [0]
Running test sq-full.t                                              0 sec [0]
Running test sq-full.t /dev/nullb0                                  0 sec [0]
Running test sq-full-cpp.t                                          0 sec [0]
Running test sq-full-cpp.t /dev/nullb0                              0 sec [0]
Running test sqpoll-cancel-hang.t                                   1 sec [1]
Running test sqpoll-cancel-hang.t /dev/nullb0                       1 sec [1]
Running test sqpoll-disable-exit.t                                  0 sec [1]
Running test sqpoll-disable-exit.t /dev/nullb0                      0 sec [0]
Running test sq-poll-dup.t                                          1 sec [1]
Running test sq-poll-dup.t /dev/nullb0                              0 sec [0]
Running test sqpoll-exit-hang.t                                     1 sec [1]
Running test sqpoll-exit-hang.t /dev/nullb0                         0 sec [0]
Running test sq-poll-kthread.t                                      2 sec [3]
Running test sq-poll-kthread.t /dev/nullb0                          0 sec [0]
Running test sq-poll-share.t                                        0 sec [0]
Running test sq-poll-share.t /dev/nullb0                            0 sec [0]
Running test sqpoll-sleep.t                                         0 sec [0]
Running test sqpoll-sleep.t /dev/nullb0                             0 sec [0]
Running test sq-space_left.t                                        0 sec [0]
Running test sq-space_left.t /dev/nullb0                            0 sec [0]
Running test stdout.t                                               This is a pipe test
This is a fixed pipe test
0 sec [0]
Running test stdout.t /dev/nullb0                                   0 sec [0]
Running test submit-and-wait.t                                      1 sec [1]
Running test submit-and-wait.t /dev/nullb0                          0 sec [0]
Running test submit-link-fail.t                                     0 sec [0]
Running test submit-link-fail.t /dev/nullb0                         0 sec [0]
Running test submit-reuse.t                                         0 sec [1]
Running test submit-reuse.t /dev/nullb0                             0 sec [0]
Running test sync-cancel.t                                          0 sec [0]
Running test sync-cancel.t /dev/nullb0                              Skipped
Running test symlink.t                                              0 sec [0]
Running test symlink.t /dev/nullb0                                  0 sec [0]
Running test teardowns.t                                            0 sec [0]
Running test teardowns.t /dev/nullb0                                0 sec [0]
Running test thread-exit.t                                          0 sec [0]
Running test thread-exit.t /dev/nullb0                              0 sec [0]
Running test timeout.t                                              6 sec [6]
Running test timeout.t /dev/nullb0                                  0 sec [0]
Running test timeout-new.t                                          3 sec [2]
Running test timeout-new.t /dev/nullb0                              0 sec [0]
Running test timeout-overflow.t                                     Skipped
Running test timeout-overflow.t /dev/nullb0                         Skipped
Running test tty-write-dpoll.t                                      0 sec [0]
Running test tty-write-dpoll.t /dev/nullb0                          0 sec [0]
Running test unlink.t                                               0 sec [0]
Running test unlink.t /dev/nullb0                                   0 sec [0]
Running test wakeup-hang.t                                          2 sec [2]
Running test wakeup-hang.t /dev/nullb0                              0 sec [0]
Running test xattr.t                                                0 sec [0]
Running test xattr.t /dev/nullb0                                    0 sec [0]
Running test skip-cqe.t                                             0 sec [0]
Running test skip-cqe.t /dev/nullb0                                 0 sec [0]
Running test single-issuer.t                                        0 sec [0]
Running test single-issuer.t /dev/nullb0                            Skipped
Running test send-zerocopy.t                                        2 sec [2]
Running test send-zerocopy.t /dev/nullb0                            Skipped
Running test statx.t                                                0 sec [0]
Running test statx.t /dev/nullb0                                    0 sec [0]
Running test sq-full-cpp.t                                          0 sec [0]
Running test sq-full-cpp.t /dev/nullb0                              0 sec [0]
Tests failed (4): <file-verify.t /dev/nullb0> <read-write.t /dev/nullb0> <recv-multishot.t> <ringbuf-read.t /dev/nullb0>
make[1]: Leaving directory '/root/rpmbuild/BUILD/liburing-2.3/test'
STDERR:Found 33547264, wanted 0
Buffered novec test failed
Data mismatch! bid=14, wanted=14, got=85
test_buf_select nonvec failed
not last cqe had error 4
test stream=0 wait_each=0 recvmsg=0 early_error=4  defer=0 failed
got 0, wanted 31
dio test failed
make[1]: *** [Makefile:231: runtests] Error 1
make: *** [Makefile:21: runtests] Error 2
RETURN:2

[root@storageqe-66 test]# cat config.local 
TEST_FILES=/dev/nullb0  
[root@storageqe-66 test]# 
[root@storageqe-66 test]# ./ringbuf-read.t /dev/nullb0
got 0, wanted 31
dio test failed
[root@storageqe-66 test]# $?
-bash: 1: command not found
[root@storageqe-66 test]# ./file-verify.t /dev/nullb0
Found 33547264, wanted 0
Buffered novec test failed
[root@storageqe-66 test]# $?
-bash: 1: command not found
[root@storageqe-66 test]# ./ringbuf-read.t /dev/nullb0
got 0, wanted 31
dio test failed
[root@storageqe-66 test]#

Comment 1 Jeff Moyer 2023-08-08 18:08:47 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.

Comment 2 guazhang@redhat.com 2023-08-09 03:52:59 UTC
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]#

Comment 3 Jeff Moyer 2023-08-10 13:18:29 UTC
Can you test with the module parameters I suggested (in addition to the parameters that you already use).

Comment 4 guazhang@redhat.com 2023-08-10 23:40:16 UTC
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.

Comment 5 Jeff Moyer 2023-08-14 15:01:12 UTC
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.

Comment 6 guazhang@redhat.com 2023-08-15 01:01:50 UTC
In comment #4, can not hit the error with the "modprobe null_blk memory_backed=1 cache_size=256", but recv-multishot.t testing.

Comment 7 Jeff Moyer 2023-08-15 16:42:32 UTC
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!


Note You need to log in before you can comment on or make changes to this bug.