Skip site navigation (1)Skip section navigation (2)
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: <http://docs.FreeBSD.org/cgi/mid.cgi?47084443-5BBF-4014-B15B-A4F50BF5F8FA>