Date: Tue, 9 Apr 2013 15:55:22 -0400 From: Scott Long <scott4long@yahoo.com> To: "sbruno@freebsd.org" <sbruno@freebsd.org> Cc: "FreeBSD-scsi@freebsd.org" <FreeBSD-scsi@freebsd.org> Subject: Re: ciss(4) malformed vendor/product data Message-ID: <47084443-5BBF-4014-B15B-A4F50BF5F8FA@yahoo.com> In-Reply-To: <1365536578.2158.4.camel@localhost> References: <1365452066.2312.30.camel@localhost> <1365536578.2158.4.camel@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
Brilliant! Thanks a lot of pursuing this. Scott On Apr 9, 2013, at 3:42 PM, Sean Bruno <seanwbruno@gmail.com> wrote: > On Mon, 2013-04-08 at 13:14 -0700, Sean Bruno wrote: >> I think, at some point in the mists of time, vendor and product inquiry >> were expand to 16bytes and 48 bytes respectively, at least when I look >> at camcontrol, that's what I see. >> >> I noted that the camcontrol devlist output was slightly mangled (note >> the lack of 1+0): >> >> -bash-4.2$ sudo camcontrol devlist >> <COMPAQ RAID 1(1VOLUME OK> at scbus0 target 0 lun 0 (pass0,da0) >> <COMPAQ RAID 1(1VOLUME OK> at scbus0 target 1 lun 0 (pass1,da1) >> <TEAC CD-224E 9.9A> at scbus3 target 0 lun 0 (pass2,cd0) >> >> When I updated this to have the same padded sizes as camcontrol, then >> things realigned and became clear: >> >> <COMPAQ RAID 1(1+0) OK> at scbus0 target 0 lun 0 (pass0,da0) >> <COMPAQ RAID 0 OK> at scbus0 target 1 lun 0 (pass1,da1) >> >> >> Not sure if there's a global that should be used here, or >> > > > Thought better of the patch, and thought, "Hey! Why don't I just use > the values that CAM already defines for this purpose!" > > This will have the same result as the previous version, but be slightly > more future proofish. > > Index: ciss.c > =================================================================== > --- ciss.c (revision 249314) > +++ ciss.c (working copy) > @@ -3346,9 +3346,12 @@ > > cl = &sc->ciss_logical[bus][target]; > > - padstr(inq->vendor, "COMPAQ", 8); > - padstr(inq->product, > ciss_name_ldrive_org(cl->cl_ldrive->fault_tolerance), 8); > - padstr(inq->revision, ciss_name_ldrive_status(cl->cl_lstatus->status), > 16); > + padstr(inq->vendor, "COMPAQ", > + SID_VENDOR_SIZE); > + padstr(inq->product, > ciss_name_ldrive_org(cl->cl_ldrive->fault_tolerance), > + SID_PRODUCT_SIZE); > + padstr(inq->revision, ciss_name_ldrive_status(cl->cl_lstatus->status), > + SID_REVISION_SIZE); > } > } >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47084443-5BBF-4014-B15B-A4F50BF5F8FA>