ciss(4) malformed vendor/product data
Scott Long
scott4long at yahoo.com
Tue Apr 9 19:55:30 UTC 2013
Brilliant!
Thanks a lot of pursuing this.
Scott
On Apr 9, 2013, at 3:42 PM, Sean Bruno <seanwbruno at 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);
> }
> }
>
More information about the freebsd-scsi
mailing list