[stgt] [PATCH] use LUN association and SNS ID type for the VPD (0x83) page
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Wed Feb 25 17:40:04 CET 2009
On Wed, 25 Feb 2009 17:57:11 +0200
Or Gerlitz <ogerlitz at Voltaire.com> wrote:
> FUJITA Tomonori wrote:
> > Your patch does the right thing for only iSCSI? We need to do the
> > right things for other protocols.
>
> My patch wasn't related to the protocol id field. Your patch removes the
> reporting of tgt on iscsi id type and I'm fine with this, but per my understanding
> it has nothing to do with the problem I had and the fix I suggested.
I'm talking about 'iqn.' stuff in your patch.
> > A simple patch like this doesn't work for you? I guess that we still
> > need to add a new user interface to change 0x83 VPD page freely though.
>
> Yes, it works fine, thanks! To make sure we're on the same page, your patch
> does four changes to vpd page 0x83
>
> 1. doesn't report protocol id anymore (PIV set to zero)
Yes. I checked some SAS, FC, iSCSI drives and none sets PIV bit. So I
guess that it's fine to drop PIV bit and the protocol bit.
> 2. reports LUN association (zero) instead of target port association
Yes,
> 3. reports T10 identifier type instead of vendor specific
Yes,
> 4. uses the T10 IET assigned name in the identifier
Yes,
> I am fine with the patch and it allows me to achieve the interop
> with the vmware stack, to make it clearer I would add the LU association
I see, thanks for confirmation. I'll merge it.
>
> --- tgt.orig/usr/spc.c
> +++ tgt/usr/spc.c
> @@ -133,8 +133,8 @@ static void update_vpd_83(struct scsi_lu
> struct vpd *vpd_pg = lu->attrs.lu_vpd[3];
> uint8_t *data = vpd_pg->data;
>
> - data[0] = (PIV_ISCSI << 4) | INQ_CODE_ASCII;
> - data[1] = PIV_VALID | ASS_TGT_PORT | DESG_VENDOR;
> + data[0] = INQ_CODE_ASCII;
> + data[1] = ASS_LU | DESG_T10;
> data[3] = SCSI_ID_LEN;
>
> strncpy((char *)data + 4, id, SCSI_ID_LEN);
> @@ -1029,7 +1029,7 @@ int spc_lu_init(struct scsi_lu *lu)
> snprintf(lu->attrs.product_rev, sizeof(lu->attrs.product_rev),
> "%s", "0001");
> snprintf(lu->attrs.scsi_id, sizeof(lu->attrs.scsi_id),
> - "deadbeaf%d:%" PRIu64, tgt->tid, lu->lun);
> + "IET %04x%04" PRIx64, tgt->tid, lu->lun);
> snprintf(lu->attrs.scsi_sn, sizeof(lu->attrs.scsi_sn),
> "beaf%d%" PRIu64, tgt->tid, lu->lun);
>
> --
> To unsubscribe from this list: send the line "unsubscribe stgt" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list