Re: [PATCH blktests] nvme/039: drain udev events before passthru error injection

John Garry <[email protected]>
Newsgroups org.infradead.lists.linux-nvme,org.kernel.vger.linux-block
Organization Oracle Corporation
Message-ID <[email protected]>
On 30/06/2026 12:29, John Garry wrote:
> + linux-nvme

Hi Shin'ichiro,

Can you kindly picking up this change, below?

Thanks!

> 
> On 30/06/2026 11:19, Mateusz Nowicki wrote:
>> From: Mateusz Nowicki <[email protected]>
>>
>> When run repeatedly, nvme/039 fails intermittently with a regular block
>> read error instead of the expected passthru line, e.g.:
>>
>>    nvme0n1: Read(0x2) @ LBA 0, 8 blocks, Invalid Command Opcode (sct 
>> 0x0 / sc 0x1) DNR
> 
> This is not the error which I was seeing, however this change seems to 
> make the test pass reliably for the me. I have not debugged why the test 
> was intermittently failing for me.
> 
> Please also note that I did trigger a kernel warn previously for this 
> test and I posted a proposed fix in:
> 
> https://lore.kernel.org/linux-nvme/20260630102717.2671475-1- 
> [email protected]/T/#u
> 
> thanks
> 
>>
>> inject_write_fault_on_write() writes LBA 0 of the whole-disk device,
>> whose release emits a change uevent that makes udev run blkid, reading
>> LBA 0 asynchronously. The following passthru injection arms a one-shot
>> fault (times=1); if the stray blkid read races in first it consumes the
>> fault and is logged via nvme_log_error() (no cdw fields), so the expected
>> passthru line is never emitted and the test fails.
>>
>> Drain the pending uevent with udevadm settle before the passthru section.
>>
>> Signed-off-by: Mateusz Nowicki <[email protected]>
>> ---
>>   tests/nvme/039 | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/tests/nvme/039 b/tests/nvme/039
>> index 7ca48ec..8c70c5c 100755
>> --- a/tests/nvme/039
>> +++ b/tests/nvme/039
>> @@ -206,6 +206,8 @@ test_device() {
>>       inject_invalid_status_on_read "${ns_dev}"
>>       inject_write_fault_on_write "${ns_dev}"
>> +    udevadm settle
>> +
>>       if [ -e "$TEST_DEV_SYSFS/passthru_err_log_enabled" ]; then
>>           _nvme_passthru_logging_setup "${ns_dev}" "${ctrl_dev}"
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.