Re: [PATCH v2] scsi: target: core: check SR field in REPORT LUNS

David Disseldorp
2021-01-28T20:30:00Z

Hi Roman,

On Tue, 26 Jan 2021 12:13:44 +0300, Roman Bolshakov wrote:

> Hi David,
>
> SELECT REPORT field can be used for vVOL (LU conglomerate) discovery and
> for well-known lun listing.
>
> The field is used by VMware ESXi:
> https://support.purestorage.com/Solutions/VMware_Platform_Guide/User_Guides_for_VMware_Solutions/Virtual_Volumes_User_Guide/vVols_User_Guide%3A_Protocol_Endpoints
>
> "PEs greatly extend the number of vVols that can be connected to an ESXi
> cluster; each PE can have up to 16,383 vVols per host bound to it
> simultaneously. Moreover, a new binding does not require a complete I/O
> rescan. Instead, ESXi issues a REPORT_LUNS SCSI command with SELECT
> REPORT to the PE to which the sub-lun is bound. The PE returns a list of
> sub-lun IDs for the vVols bound to that host. In large clusters,
> REPORT_LUNS is significantly faster than a full I/O rescan because it is
> more precisely targeted."

Interesting, thanks.

...
> With regards to bumping TCM to SPC-4, are there any objections if we
> submit a separate patch for that? Or resubmit a series with the patch?

I don't object to that. FWIW, the following crude metrics could be seen
as an argument in favour of SPC-4 versioning:
linux> git grep -ic -e "SPC4" -e "SPC-4" -- drivers/target/
drivers/target/target_core_alua.c:7
drivers/target/target_core_alua.h:5
drivers/target/target_core_device.c:1
drivers/target/target_core_fabric_lib.c:5
drivers/target/target_core_pr.c:37
drivers/target/target_core_spc.c:19
drivers/target/target_core_tmr.c:3
drivers/target/target_core_transport.c:2
drivers/target/target_core_ua.c:1
drivers/target/target_core_ua.h:1
drivers/target/target_core_xcopy.c:3
drivers/target/target_core_xcopy.h:1
linux> git grep -ic -e "SPC3" -e "SPC-3" -- drivers/target/
drivers/target/target_core_alua.c:1
drivers/target/target_core_configfs.c:14
drivers/target/target_core_pr.c:75
drivers/target/target_core_spc.c:4
drivers/target/target_core_tmr.c:1
drivers/target/target_core_transport.c:4
drivers/target/target_core_ua.c:1

Most of the SPC3 target_core_pr and target_core_configfs matches above
are debug/error messages, rather than spec references.

Cheers, David