Re: [PATCH] scsi: core: Add BLIST_NO_ASK_VPD_SIZE for some VDASD

From: Hannes Reinecke
Date: Tue Nov 08 2022 - 01:57:14 EST


On 11/8/22 03:50, Martin K. Petersen wrote:

Hannes,

I have been contemplating this for a bit.

Has it been considered instead of introducing a blacklist flag to not
use the reported VPD page size if the device reports that the VPD
page size is zero? I am not aware of any VPD pages for which zero is
a valid size.

That would also be my preferred approach, I think. I haven't received
any bug reports about devices returning short VPD pages since this
change was introduced. So I think I'd prefer falling back to a
(hopefully small) default if a device returns a 0 page length.

Now, my question is which VPD pages are actually supported by this
device and how large are they?

But pre-SPC drives will ignore the VPD bit in the inquiry size. And
these devices do not set an additional length in the inquiry data

Can you elaborate a bit on your experience with older devices? I checked
SCSI-2 (1991) and don't see any indication this would be valid behavior
even back then.

This is primarily crappy USB devices, which implement only the absolute minimum to get SCSI rolling.
In particular, if devices do _not_ check the VPD bit in the inquiry command they will continue to return the standard inquiry data.
And if the additional length is zero we have exactly the scenario above.

However, we _could_ turn things around, and use the BLIST_NO_VPD flag for these cases; so I'd be fine with having a default length for the VPD page and delegate any fallout from the to use the BLIST_NO_VPD flags.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman