On Fri, 2016-10-07 at 17:37 +0000, txcy uio wrote: > Hello > > > What is the correct way of analyzing spdk error message (as below which was > encountered against a spdk writev cmd) to quickly know what went wrong? These messages are dumping compact notes about the command that was sent and the completion returned. The values are pulled directly from the specification - see section 4.6 of NVMe 1.2.1 (http://www.nvmexpress.org/wp-content/uploads/NVM_Expr ess_1_2_1_Gold_20160603.pdf) for a full description. > > > WRITE sqid:2 cid:125 nsid:1 lba:4194304 len:16 WRITE - Command Type sqid - Submission Queue Id (2) cid - Command Id (125). This is an arbitrary number we picked for this command. We match completions to commands by this number. nsid - Namespace Id (1) lba - Logical Block Address (4194304) len - Number of logical blocks (16) > WRITE FAULTS (02/80) sqid:2 cid:125 cdw0:0 sqhd:002a p:1 m:1 dnr:0 WRITE FAULTS - The error encountered. The (02/80) is (Status Code Type, Status Code Value). 02 means media error type, and 80 in the media error category means write fault. These values are in hex. sqid - Submission Queue Id (2) cid - Command Id (125). Note how it matches up to the command sent. cdw0 - Command DWORD 0 (0). Dumped as hex. sqhd - Submission Queue Head (2a). The current location of the device's submission queue head index. p - Phase bit (1) m - More (1). If set to 1, there is additional error information available that can be obtained by sending a Get Log Page command. dnr - Do Not Retry (0). This error seems to indicate that there was a write failure in the media on your device.  > > > > > > --Tyc >