Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jul 2014 12:45:59 +0100
From:      Martin Simmons <martin@lispworks.com>
To:        freebsd-scsi@FreeBSD.org
Subject:   Re: [Bug 191717] [iscsi] smartctl -H gives "ATA output registers missing" for a disk using the isci driver
Message-ID:  <201407081145.s68Bjxn6006452@higson.cam.lispworks.com>
In-Reply-To: <53BB619B.4060908@interlog.com> ((Unparsable address -- Missing comma between addresses or badly-formatted address: "dgilbert at interlog.com_^_"))
References:  <bug-191717-5312@https.bugs.freebsd.org/bugzilla/> <bug-191717-5312-kh8g7nOcew@https.bugs.freebsd.org/bugzilla/> <53BB619B.4060908@interlog.com>

next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> 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.

__Martin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407081145.s68Bjxn6006452>