On 10/2/22 23:16, Bart Van Assche wrote:
On 9/28/22 11:13, Lee Duncan wrote:
From: Lee Duncan <lduncan@xxxxxxxx>
Some storage, such as AIX VDASD (virtual storage) and IBM 2076
(front end) do not like the recent commit:
commit c92a6b5d6335 ("scsi: core: Query VPD size before getting full
page")
That commit changed getting SCSI VPD pages so that we now read
just enough of the page to get the actual page size, then read
the whole page in a second read. The problem is that the above
mentioned hardware returns zero for the page size, because of
a firmware error. In such cases, until the firmware is fixed,
this new black flag says to revert to the original method of
reading the VPD pages, i.e. try to read as a whole buffer's
worth on the first try.
Fixes: c92a6b5d6335 ("scsi: core: Query VPD size before getting full
page")
Hi Lee,
If we introduce a blacklist flag to skip querying the VPD page size then
we will have to find all SCSI devices that do not handle querying the
VPD page size correctly. 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.
True.
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 we
will interpret the VPD page response as a zero-length VPD page.
Not good.
And really, we've seen only _one_ instance of this particular behaviour.
And even that could arguably been fixed with a firmware update on the
target side. But to not introduce regressions we've opted for this flag.
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