NetBSD-Bugs archive

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

Re: port-pmax/54114 (pmax on gxemul hangs with "UNIMPLEMENTED SCSI command")



I looked at the emulator and it follows a very straightforward but non-standards compliant strategy:

        switch (xferp->cmd[0]) {

        [ case ..... ]

        default:
                fatal("[ UNIMPLEMENTED SCSI command 0x%02x, disk id=%i ]\n",
                    xferp->cmd[0], id);
                exit(1);
        }

Exiting the emulator in not an option here.

To quote the SPC-4 SCSI Primary Command standard:

Section 2.4.1 CDB usage and structure

[...§4] If a device server receives a CDB containing
an operation code that is invalid or not supported, the device server shall terminate the command with
CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the additional sense code set
to INVALID COMMAND OPERATION CODE.

Correctly refusing unimplemented SCSI CDB commands is one of the basic operations of a device server.


On 04/11/19 09:40, martin%NetBSD.org@localhost wrote:
Synopsis: pmax on gxemul hangs with "UNIMPLEMENTED SCSI command"

Responsible-Changed-From-To: port-pmax-maintainer->kardel
Responsible-Changed-By: martin%NetBSD.org@localhost
Responsible-Changed-When: Thu, 11 Apr 2019 07:40:31 +0000
Responsible-Changed-Why:
Over to commiter - could you please have a look and check whether their
emulation is broken for this optional comand?






Home | Main Index | Thread Index | Old Index