Date: Wed, 9 Jul 2014 09:44:54 -0700 From: Jim Harris <jim.harris@gmail.com> To: dgilbert@interlog.com Cc: FreeBSD-scsi <freebsd-scsi@freebsd.org>, Alex Samorukov <samm@os2.kiev.ua>, Christian Franke <Christian.Franke@t-online.de> Subject: Re: [Bug 191717] [iscsi] smartctl -H gives "ATA output registers missing" for a disk using the isci driver Message-ID: <CAJP=Hc9Z8wcD=T60uYzkDKrb0ndjdMwFAXFT8h8UvxRq8zHJzw@mail.gmail.com> In-Reply-To: <53BC2DC5.60005@interlog.com> References: <bug-191717-5312@https.bugs.freebsd.org/bugzilla/> <bug-191717-5312-kh8g7nOcew@https.bugs.freebsd.org/bugzilla/> <53BB619B.4060908@interlog.com> <201407081145.s68Bjxn6006452@higson.cam.lispworks.com> <53BC2DC5.60005@interlog.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--e89a8ff1ce12834f2404fdc56d7f Content-Type: text/plain; charset=UTF-8 On Tue, Jul 8, 2014 at 10:43 AM, Douglas Gilbert <dgilbert@interlog.com> wrote: > On 14-07-08 07:45 AM, Martin Simmons wrote: > >> On Mon, 07 Jul 2014 23:12:27 -0400, Douglas Gilbert said: >>>>>>> >>>>>> >>> On 14-07-07 09:45 PM, bugzilla-noreply at freebsd.org wrote: >>> >>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191717 >>>> >>>> Mark Linimon <linimon at FreeBSD.org> changed: >>>> >>>> What |Removed |Added >>>> ------------------------------------------------------------ >>>> ---------------- >>>> Assignee|freebsd-bugs at FreeBSD.org |freebsd-scsi at >>>> FreeBSD.org >>>> Summary|smartctl -H gives "ATA |[iscsi] smartctl -H >>>> gives >>>> |output registers missing" |"ATA output registers >>>> |for a disk using the isci |missing" for a disk >>>> using >>>> |driver |the isci driver >>>> >>>> --- Comment #1 from Mark Linimon <linimon at FreeBSD.org> --- >>>> Over to maintainers. >>>> >>>> >>> At the point of failure "whatever" produces this SCSI sense data: >>> f0 00 01 00 50 40 00 00 00 c2 4f 00 00 1d 00 00 00 00 >>> >>> FreeBSD is wrong to print out 18 bytes because that is an 8 >>> byte (deferred, fixed type) buffer because byte 7 (the >>> additional length) is 0. Whatever produced that broken >>> sense data is the probably culprit. >>> >>> It is trying to say there is "ATA pass-through information >>> available" but fails to get its message across. >>> >> >> Hi, >> >> I'm the original reporter. >> >> The sense data is smartctl's interpretation of the ccb union. >> >> In particular, the bytes are from ccb->csio.sense_data and it calculates >> 18 >> from ccb->csio.sense_len - ccb->csio.sense_resid (32 - 14). I don't know >> if >> that is correct or not. >> >> FWIW, here is the output from CentOS 6.3 on the same machine: >> >> REPORT-IOCTL: Device=/dev/sdc Command=SMART STATUS CHECK >> Input: FR=0xda, SC=...., LL=...., LM=0x4f, LH=0xc2, DEV=...., CMD=0xb0 >> [ata pass-through(16): 85 06 2c 00 da 00 00 00 00 00 4f 00 c2 00 b0 00 ] >> scsi_status=0x2, host_status=0x0, driver_status=0x8 >> info=0x1 duration=17 milliseconds resid=0 >> >>> Sense buffer, len=22: >> 00 72 00 00 00 00 00 00 0e 09 0c 00 00 00 00 00 00 >> 10 00 4f 00 c2 40 50 >> status=2: [desc] sense_key=0 asc=0 ascq=0 >> Values from ATA Return Descriptor are: >> 00 09 0c 00 00 00 00 00 00 00 4f 00 c2 40 50 >> [Duration: 0.016s] >> Output: ERR=0x00, SC=0x00, LL=0x00, LM=0x4f, LH=0xc2, DEV=0x40, STS=0x50 >> REPORT-IOCTL: Device=/dev/sdc Command=SMART STATUS CHECK returned 0 >> >> It appears to have the same ata pass-through command but completely >> different >> sense data. >> > > The SAT standard originally only defined "descriptor" sense > data format for passing back ATA errors and warning. That is > what is being done properly in the Centos 6.3 output that > you have shown above. > > More recently someone at T10 objected that SAT ignored the D_SENSE > flag which allows an application client to choose whether it wants > "fixed" or "descriptor" sense data format. It looks like the FreeBSD > case is trying to produce the equivalent "fixed" sense data, but it > fails to format it properly. > > So in the FreeBSD case you are looking for the SAT Layer (SATL). It > could be in the FreeBSD CAM mid-level, the driver code or firmware, > or in a remote device like a USB bridge. However if it was in something > like a USB bridge then you would expect FreeBSD and Linux to react > the same way. So it looks like a FreeBSD bug. > > Doug Gilbert > > Apologies for missing this thread until now. The SATL that is generating this fixed format sense data is in the isci driver itself. I think isci is returning the fixed format sense data correctly. My reading of the SPC spec is that fixed format sense data is 18 bytes + additional sense length, so if sense_data[7] == 0, then the sense data should indeed be 18 bytes long. SAT-3 also indicates that for fixed format sense data for ATA PASSTHROUGH commands, there are no additional sense bytes - everything is returned in the INFORMATION and COMMAND-SPECIFIC INFORMATION bytes which are part of the first 18 bytes. I have looked a little at the smartctl code, and it does not look like it supports fixed format sense data - at least for ATA PASSTHROUGH. It expects additional sense length to be non-zero. smartctl could be fixed, but I think for compatibility, I should have isci return descriptor sense for ATA PASSTHROUGH commands instead. Martin - could you please test the attached patch? This passes your test case using smartctl 6.3 r3939. Thanks, -Jim --e89a8ff1ce12834f2404fdc56d7f Content-Type: application/octet-stream; name="sati_passthrough_sense.patch" Content-Disposition: attachment; filename="sati_passthrough_sense.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hxevf8v30 SW5kZXg6IHN5cy9kZXYvaXNjaS9zY2lsL2ludGVsX3Njc2kuaAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMv ZGV2L2lzY2kvc2NpbC9pbnRlbF9zY3NpLmgJKHJldmlzaW9uIDI2NjQ3MykKKysrIHN5cy9kZXYv aXNjaS9zY2lsL2ludGVsX3Njc2kuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ3LDYgKzE0Nyw4IEBA CiAjZGVmaW5lIFNDU0lfSU5GT1JNQVRJT05fREVTQ1JJUFRPUl9MRU5HVEggICAgICAgICAgICAg ICAgMHgwYwogI2RlZmluZSBTQ1NJX0JMT0NLX0RFU0NSSVBUT1JfQURESVRJT05BTF9MRU5HVEgg ICAgICAgICAgICAweDIKICNkZWZpbmUgU0NTSV9CTE9DS19ERVNDUklQVE9SX0xFTkdUSCAgICAg ICAgICAgICAgICAgICAgMHg0CisjZGVmaW5lIFNDU0lfQVRBX1NUQVRVU19SRVRVUk5fREVTQ1JJ UFRPUl9BRERJVElPTkFMX0xFTkdUSAkweGMKKyNkZWZpbmUgU0NTSV9BVEFfU1RBVFVTX1JFVFVS Tl9ERVNDUklQVE9SX0xFTkdUSAkJMHhlCiAKICNkZWZpbmUgU0NTSV9TRU5TRV9EQVRBX0RFU0Nf QklUICAgIDB4MDEKIApJbmRleDogc3lzL2Rldi9pc2NpL3NjaWwvc2F0aV9wYXNzdGhyb3VnaC5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHN5cy9kZXYvaXNjaS9zY2lsL3NhdGlfcGFzc3Rocm91Z2guYwkocmV2 aXNpb24gMjY2NDczKQorKysgc3lzL2Rldi9pc2NpL3NjaWwvc2F0aV9wYXNzdGhyb3VnaC5jCSh3 b3JraW5nIGNvcHkpCkBAIC0xNzYsOCArMTc2LDYgQEAKICAgIFU4ICAgICAgICAgICAgICAgICAg ICAqIHNlbnNlX2RhdGE7CiAgICBVMzIgICAgICAgICAgICAgICAgICAgICBzZW5zZV9sZW47CiAg ICBVOCAgICAgICAgICAgICAgICAgICAgKiBjZGI7Ci0gICB1bnNpZ25lZCBjaGFyICAgICAgICAg ICBzZWN0b3JfY291bnRfdXBwZXI7Ci0gICB1bnNpZ25lZCBjaGFyICAgICAgICAgICBsYmFfdXBw ZXI7CiAKICNpZmRlZiBTQVRJX1RSQU5TUE9SVF9TVVBQT1JUU19TQVMKICAgIFNDSV9TU1BfUkVT UE9OU0VfSVVfVCAqIHJzcF9pdSA9IChTQ0lfU1NQX1JFU1BPTlNFX0lVX1QqKQpAQCAtMjA4LDMy ICsyMDYsMjkgQEAKIAogICAgY2RiID0gc2F0aV9jYl9nZXRfY2RiX2FkZHJlc3Moc2NzaV9pbyk7 CiAKLSAgIGlmIChzYXRpX2dldF9hdGFfc2VjdG9yX2NvdW50X2V4dChyZWdpc3Rlcl9maXMpICE9 IDApIHsKLSAgICAgIHNlY3Rvcl9jb3VudF91cHBlciA9IDE7Ci0gICB9IGVsc2UgewotICAgICAg IHNlY3Rvcl9jb3VudF91cHBlciA9IDA7Ci0gICB9CisgICBzYXRpX3NldF9zZW5zZV9kYXRhX2J5 dGUoc2Vuc2VfZGF0YSwgc2Vuc2VfbGVuLCA4KzAsIFNDU0lfQVRBX1NUQVRVU19SRVRVUk5fREVT Q1JJUFRPUl9UWVBFKTsKKyAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBz ZW5zZV9sZW4sIDgrMSwgU0NTSV9BVEFfU1RBVFVTX1JFVFVSTl9ERVNDUklQVE9SX0FERElUSU9O QUxfTEVOR1RIKTsKKyAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5z ZV9sZW4sIDgrMiwgUEFTU1RIUk9VR0hfQ0RCX0VYVEVORChjZGIpKTsKKyAgIHNhdGlfc2V0X3Nl bnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5zZV9sZW4sIDgrMywgKFU4KXNhdGlfZ2V0X2F0 YV9lcnJvcihyZWdpc3Rlcl9maXMpKTsKKyAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5z ZV9kYXRhLCBzZW5zZV9sZW4sIDgrNSwgc2F0aV9nZXRfYXRhX3NlY3Rvcl9jb3VudChyZWdpc3Rl cl9maXMpKTsKKyAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5zZV9s ZW4sIDgrNywgc2F0aV9nZXRfYXRhX2xiYV9sb3cocmVnaXN0ZXJfZmlzKSk7CisgICBzYXRpX3Nl dF9zZW5zZV9kYXRhX2J5dGUoc2Vuc2VfZGF0YSwgc2Vuc2VfbGVuLCA4KzksIHNhdGlfZ2V0X2F0 YV9sYmFfbWlkKHJlZ2lzdGVyX2ZpcykpOworICAgc2F0aV9zZXRfc2Vuc2VfZGF0YV9ieXRlKHNl bnNlX2RhdGEsIHNlbnNlX2xlbiwgOCsxMSwgc2F0aV9nZXRfYXRhX2xiYV9oaWdoKHJlZ2lzdGVy X2ZpcykpOworICAgc2F0aV9zZXRfc2Vuc2VfZGF0YV9ieXRlKHNlbnNlX2RhdGEsIHNlbnNlX2xl biwgOCsxMiwgc2F0aV9nZXRfYXRhX2RldmljZShyZWdpc3Rlcl9maXMpKTsKKyAgIHNhdGlfc2V0 X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5zZV9sZW4sIDgrMTMsIChVOClzYXRpX2dl dF9hdGFfc3RhdHVzKHJlZ2lzdGVyX2ZpcykpOwogCi0gICBpZiAoc2F0aV9nZXRfYXRhX2xiYV9o aWdoX2V4dChyZWdpc3Rlcl9maXMpICE9IDAgfHwKLSAgICAgICBzYXRpX2dldF9hdGFfbGJhX21p ZF9leHQocmVnaXN0ZXJfZmlzKSAhPSAwIHx8Ci0gICAgICAgc2F0aV9nZXRfYXRhX2xiYV9sb3df ZXh0KHJlZ2lzdGVyX2ZpcykgIT0gMCkgewotICAgICAgbGJhX3VwcGVyID0gMTsKKyAgIGlmIChQ QVNTVEhST1VHSF9DREJfRVhURU5EKGNkYikpIHsKKyAgICAgIHNhdGlfc2V0X3NlbnNlX2RhdGFf Ynl0ZShzZW5zZV9kYXRhLCBzZW5zZV9sZW4sIDgrNCwgc2F0aV9nZXRfYXRhX3NlY3Rvcl9jb3Vu dF9leHQocmVnaXN0ZXJfZmlzKSk7CisgICAgICBzYXRpX3NldF9zZW5zZV9kYXRhX2J5dGUoc2Vu c2VfZGF0YSwgc2Vuc2VfbGVuLCA4KzYsIHNhdGlfZ2V0X2F0YV9sYmFfbG93X2V4dChyZWdpc3Rl cl9maXMpKTsKKyAgICAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5z ZV9sZW4sIDgrOCwgc2F0aV9nZXRfYXRhX2xiYV9taWRfZXh0KHJlZ2lzdGVyX2ZpcykpOworICAg ICAgc2F0aV9zZXRfc2Vuc2VfZGF0YV9ieXRlKHNlbnNlX2RhdGEsIHNlbnNlX2xlbiwgOCsxMCwg c2F0aV9nZXRfYXRhX2xiYV9oaWdoX2V4dChyZWdpc3Rlcl9maXMpKTsKICAgIH0gZWxzZSB7Ci0g ICAgICAgbGJhX3VwcGVyID0gMDsKKyAgICAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5z ZV9kYXRhLCBzZW5zZV9sZW4sIDgrNCwgMCk7CisgICAgICBzYXRpX3NldF9zZW5zZV9kYXRhX2J5 dGUoc2Vuc2VfZGF0YSwgc2Vuc2VfbGVuLCA4KzYsIDApOworICAgICAgc2F0aV9zZXRfc2Vuc2Vf ZGF0YV9ieXRlKHNlbnNlX2RhdGEsIHNlbnNlX2xlbiwgOCs4LCAwKTsKKyAgICAgIHNhdGlfc2V0 X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5zZV9sZW4sIDgrMTAsIDApOwogICAgfQog Ci0gICAvLyBJbmZvcm1hdGlvbiBzZWN0aW9uCi0gICBzYXRpX3NldF9zZW5zZV9kYXRhX2J5dGUo c2Vuc2VfZGF0YSwgc2Vuc2VfbGVuLCAzLCAgKFU4KXNhdGlfZ2V0X2F0YV9lcnJvcihyZWdpc3Rl cl9maXMpKTsKLSAgIHNhdGlfc2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5zZV9s ZW4sIDQsICAoVTgpc2F0aV9nZXRfYXRhX3N0YXR1cyhyZWdpc3Rlcl9maXMpKTsKLSAgIHNhdGlf c2V0X3NlbnNlX2RhdGFfYnl0ZShzZW5zZV9kYXRhLCBzZW5zZV9sZW4sIDUsICBzYXRpX2dldF9h dGFfZGV2aWNlKHJlZ2lzdGVyX2ZpcykpOwotICAgc2F0aV9zZXRfc2Vuc2VfZGF0YV9ieXRlKHNl bnNlX2RhdGEsIHNlbnNlX2xlbiwgNiwgIHNhdGlfZ2V0X2F0YV9zZWN0b3JfY291bnQocmVnaXN0 ZXJfZmlzKSk7Ci0KLSAgIC8vIENvbW1hbmQgc3BlY2lmaWMgc2VjdGlvbgotICAgc2F0aV9zZXRf c2Vuc2VfZGF0YV9ieXRlKHNlbnNlX2RhdGEsIHNlbnNlX2xlbiwgOCwgIChQQVNTVEhST1VHSF9D REJfRVhURU5EKGNkYikgPDwgNykgfCAoc2VjdG9yX2NvdW50X3VwcGVyIDw8IDYpIHwgKGxiYV91 cHBlciA8PCA1KSk7Ci0gICBzYXRpX3NldF9zZW5zZV9kYXRhX2J5dGUoc2Vuc2VfZGF0YSwgc2Vu c2VfbGVuLCA5LCAgc2F0aV9nZXRfYXRhX2xiYV9oaWdoKHJlZ2lzdGVyX2ZpcykpOwotICAgc2F0 aV9zZXRfc2Vuc2VfZGF0YV9ieXRlKHNlbnNlX2RhdGEsIHNlbnNlX2xlbiwgMTAsIHNhdGlfZ2V0 X2F0YV9sYmFfbWlkKHJlZ2lzdGVyX2ZpcykpOwotICAgc2F0aV9zZXRfc2Vuc2VfZGF0YV9ieXRl KHNlbnNlX2RhdGEsIHNlbnNlX2xlbiwgMTEsIHNhdGlfZ2V0X2F0YV9sYmFfbG93KHJlZ2lzdGVy X2ZpcykpOwotCiAgICBzZXF1ZW5jZS0+aXNfc2Vuc2VfcmVzcG9uc2Vfc2V0ID0gVFJVRTsKIH0K IApJbmRleDogc3lzL2Rldi9pc2NpL3NjaWwvc2F0aV91dGlsLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lz L2Rldi9pc2NpL3NjaWwvc2F0aV91dGlsLmMJKHJldmlzaW9uIDI2NjQ3MykKKysrIHN5cy9kZXYv aXNjaS9zY2lsL3NhdGlfdXRpbC5jCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsNyArNDg1LDkgQEAK IHN0YXRpYwogVTggc2F0aV9zY3NpX2dldF9zZW5zZV9kYXRhX3Jlc3BvbnNlX2NvZGUoU0FUSV9U UkFOU0xBVE9SX1NFUVVFTkNFX1QgKiBzZXF1ZW5jZSkKIHsKLSAgICBpZiAoc2VxdWVuY2UtPmRl dmljZS0+ZGVzY3JpcHRvcl9zZW5zZV9lbmFibGUpCisgICAgaWYgKHNlcXVlbmNlLT5kZXZpY2Ut PmRlc2NyaXB0b3Jfc2Vuc2VfZW5hYmxlIHx8CisgICAgICAgIHNlcXVlbmNlLT50eXBlID09IFNB VElfU0VRVUVOQ0VfQVRBX1BBU1NUSFJPVUdIXzEyIHx8CisgICAgICAgIHNlcXVlbmNlLT50eXBl ID09IFNBVElfU0VRVUVOQ0VfQVRBX1BBU1NUSFJPVUdIXzE2KQogICAgIHsKICAgICAgICByZXR1 cm4gU0NTSV9ERVNDUklQVE9SX0NVUlJFTlRfUkVTUE9OU0VfQ09ERTsKICAgICB9CkBAIC01NDgs NiArNTUwLDEyIEBACiAgICAgICAgLy8gJiYgIWRlZmluZWQoRElTQUJMRV9TQVRJX1dSSVRFKQog ICAgICAgICBsZW5ndGggKz0gU0NTSV9JTkZPUk1BVElPTl9ERVNDUklQVE9SX0xFTkdUSDsKICAg ICAgICAgYnJlYWs7CisjaWYgIWRlZmluZWQoRElTQUJMRV9TQVRJX0FUQV9QQVNTVEhST1VHSCkK KyAgICBjYXNlIFNDU0lfQVRBX1BBU1NUSFJVXzEyOgorICAgIGNhc2UgU0NTSV9BVEFfUEFTU1RI UlVfMTY6CisgICAgICAgIGxlbmd0aCArPSBTQ1NJX0FUQV9TVEFUVVNfUkVUVVJOX0RFU0NSSVBU T1JfTEVOR1RIOworICAgICAgICBicmVhazsKKyNlbmRpZiAvLyAhZGVmaW5lZChESVNBQkxFX1NB VElfQVRBX1BBU1NUSFJPVUdIKQogICAgIH0KIAogICAgIHJldHVybiBsZW5ndGg7Cg== --e89a8ff1ce12834f2404fdc56d7f--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJP=Hc9Z8wcD=T60uYzkDKrb0ndjdMwFAXFT8h8UvxRq8zHJzw>