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

alan.adamson at oracle.com alan.adamson at oracle.com
Tue Feb 20 09:40:26 PST 2024


> 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





More information about the Linux-nvme mailing list