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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 25 Feb 2009 23:54:57 +0200
Or Gerlitz <or.gerlitz@xxxxxxxxx> 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@xxxxxxxxxxxxx>
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@xxxxxxxxxxxxx>
---
 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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux