[stgt] [PATCH] use LUN association and SNS ID type for the VPD (0x83) page

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Mon Mar 2 09:11:41 CET 2009


On Wed, 25 Feb 2009 23:54:57 +0200
Or Gerlitz <or.gerlitz at gmail.com> wrote:

> >> 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.
> 
> by "drives" you mean targets?

Yeah.

Martin's post might interest you too:

http://marc.info/?l=linux-scsi&m=123579441400774&w=2


> >> 2. reports LUN association (zero) instead of target port association
> >> 3. reports T10 identifier type instead of vendor specific
> >> 4. uses the T10 IET assigned name in the identifier
> >> 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.
> 
> thanks, lets just document changes 1-4 and the ASS LU in the
> change-log, for the future...

The following looks fine?

=
From: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
Subject: [PATCH] spc: change vpd page 0x83 scheme

1. doesn't report protocol id anymore (PIV set to zero)
2. reports LUN association (zero) instead of target port association
3. reports T10 identifier type instead of vendor specific
4. uses the T10 IET assigned name in the identifier

VMware needs LUN association. 3) and 4) changes are not necessary
though. The further information is available at:

http://lists.wpkg.org/pipermail/stgt/2009-February/002652.html

Signed-off-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
---
 usr/spc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/usr/spc.c b/usr/spc.c
index ac5c3de..2fc8e8e 100644
--- a/usr/spc.c
+++ b/usr/spc.c
@@ -133,8 +133,8 @@ static void update_vpd_83(struct scsi_lu *lu, void *id)
 	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] = 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);
 
-- 
1.6.0.6



--
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