[Bug 278289] nvme_opc_delete_io_sq NOT PERMITTED queue id 0

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 14 Apr 2024 21:36:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278289

Chuck Tuffli <chuck@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |chuck@FreeBSD.org
             Status|New                         |Open

--- Comment #1 from Chuck Tuffli <chuck@FreeBSD.org> ---
Queue ID 0 is the Admin queue, and per the specification (e.g. section 5.6 in
the 1.4 version of the specification):

    Note: It is not possible to delete the Admin Submission Queue.

The specification (section 5.6.1 in the 1.4 version) also defines the command
specific error status 0x1 for Delete I/O Queue:

    Invalid Queue Identifier: The Queue Identifier specified in the command
    is invalid. This error is also indicated if the Admin Submission Queue
    identifier is specified.

Not only is the NVMe emulation's behavior correct, but the UNH IOL [1] Command
Set Conformance tests check for this behavior in tests 1.4.2-5,7-8. Taking this
check out for Windows would make the conformance tests fail.

As to why Windows is doing this? I don't know and would be curious to find out
why.

But as to the failure you observe, I suspect the I/O queue deletion error isn't
the cause,  and it would have occurred prior to the device reset (all the I/O
queue delete commands would have failed). It would be interesting to see if any
Write commands to the device returned a non-good status as that would more
closely match "ReFS: The file system was unable to write metadata"

[1] https://www.iol.unh.edu/testing/storage/nvme

-- 
You are receiving this mail because:
You are the assignee for the bug.