On 1/27/21 6:45 AM, Dmitriy Bogdanov wrote:
Hi Martin,
+ switch (sr) {
+ case SCSI_SELECT_WELLKNOWN:
+ case SCSI_SELECT_ADMINISTRATIVE:
+ case SCSI_SELECT_SUBSIDIARY:
+ /* report empty lun list */
+ goto out;
I'm a bit concerned about things inadvertently breaking if we return an empty list for the well known LUNs.
>
According to SPC we shall report an empty list if there is no well-known LUNS.
FreeBSD has the same logic in REPORT LUNS handling. SCST does not support SELECT_WELLKNOWN case at all.
I don't know the history of the existing behaviour to send always LUN0 instead of empty list. Probably it was
for the SCSI_SELECT_ALL_ACCESSIBLE(0x02) case, where SPC allows LUN0. My patch keeps it for the 0x00, 0x02, 0x11 cases.
Thus, I believe it does not break the backward compatibility.
Will this change require users to update their LUN configuration? Some
initiator operating systems require presence of a dummy LUN 0. Although
I agree that it is cleaner not to provide a hardcoded LUN 0, I think
Martin is concerned about this patch potentially breaking existing
configurations and causing frustration among LIO users.
Bart.