SCSI descriptor sense changes, testing needed
Marius Strobl
marius at alchemy.franken.de
Fri Sep 23 15:08:44 UTC 2011
On Thu, Sep 22, 2011 at 01:33:05PM -0600, Kenneth D. Merry wrote:
>
> I have attached a set of patches against head that implement SCSI
> descriptor sense support for CAM.
>
> Descriptor sense is a new sense (SCSI error) format introduced in the SPC-3
> spec in 2006. FreeBSD doesn't currently support it.
>
> Seagate's new 3TB SAS drives come with descriptor sense enabled by default,
> and it's possible that other newer drives do as well. Because all the
> sense key, additional sense code, and additional sense code qualifier
> fields are in different places, the CAM error recovery code will not do the
> right thing when it gets descriptor sense.
>
> These patches do bump up the size of struct scsi_sense_data, and so I have
> incremented CAM_VERSION as well. I have discussed this with re@, and it
> looks like we'll be putting the changes in before 9.0, so it ships with
> support for newer SCSI devices.
Hi Ken,
as far as I understand this also requires consumers of scsi_sense_data
and SSD_FULL_SIZE etc in userland to be recompiled. So while you are at
breaking the API and ABI of CAM anyway, could you please take the
opportunity to change CAM_XPT_PATH_ID and CAM_BUS_WILDCARD to not use
the same value so incorrect uses will fail? Currently, there seems to
be a lot of confusion when to use which one, including camcontrol(8)
just encoding this as -1:
/*
* We don't want to rescan or reset the xpt bus.
* See above.
*/
if ((int)bus_result->path_id == -1)
continue;
Moreover, AFAICT CAM_XPT_PATH_ID corresponds to what the ANSI CAM Draft
refers to as "XPT Path ID" and specifies a value of 0xff for.
Marius
More information about the freebsd-scsi
mailing list