Re: [PATCH blktests] nvme: Add passthru error logging tests to nvme/039

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

 



I also ran nvme/039 on the kernel v6.7 and observed a different failure symptom
below. Old kernels do not have the sysfs attribute passthru_err_log_enabled,
hence the failure.

---------------------------------------------------------------------
nvme/039 => nvme0n1 (test error logging)                     [failed]
     runtime  5.570s  ...  5.308s
     --- tests/nvme/039.out      2024-02-19 15:59:12.143488379 +0900
     +++ /home/shin/Blktests/blktests/results/nvme0n1/nvme/039.out.bad   2024-02-19 16:23:02.669330853 +0900
     @@ -1,7 +1,15 @@
      Running nvme/039
     +cat: /sys/class/nvme/nvme0/passthru_err_log_enabled: No such file or directory
     +cat: /sys/class/nvme/nvme0/nvme0n1/passthru_err_log_enabled: No such file or directory
     +tests/nvme/rc: line 1017: /sys/class/nvme/nvme0/passthru_err_log_enabled: Permission denied
     +tests/nvme/rc: line 1022: /sys/class/nvme/nvme0/nvme0n1/passthru_err_log_enabled: Permission denied
       Read(0x2) @ LBA 0, 1 blocks, Unrecovered Read Error (sct 0x2 / sc 0x81) DNR
       Read(0x2) @ LBA 0, 1 blocks, Unknown (sct 0x3 / sc 0x75) DNR
     ...
     (Run 'diff -u tests/nvme/039.out /home/shpin/Blktests/blktests/results/nvme0n1/nvme/039.out.bad' to see the entire diff)
---------------------------------------------------------------------

Then the added tests should be executed only when the kernel has the sysfs
attribute. If such control is introduced in the test case, the output of the
test case will have variations and can not be compared with static 039.out
file. Check for the added tests must be done by the test case in a different
way.

Another idea is to create another test case dedicated for the added tests.
It will allow comparison with static out file. It also allow to use
_require_test_dev_sysfs() helper function in device_requires() to check the
sysfs attribute (ref: block/005). On the other hand, this approach will need to
move more functions from nvme/039 to nvme/rc.

Which way looks the better for you?

I would prefer to keep all the error logging tests within 039. I'll need to fake out the new test output if it is a pre-6.8 kernel.

Thanks,

Alan






[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux