Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2014 07:09:00 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r271702 - head/sys/cam/ctl
Message-ID:  <201409170709.s8H790C3068335@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Sep 17 07:08:59 2014
New Revision: 271702
URL: http://svnweb.freebsd.org/changeset/base/271702

Log:
  Fix tpc_create_token() introduced in r269497 to encode CREATOR LOGICAL UNIT
  DESCRIPTOR field as Identification Descriptor CSCD descriptor, not just as
  Identification Descriptor.
  
  MFC after:	3 days

Modified:
  head/sys/cam/ctl/ctl_tpc.c

Modified: head/sys/cam/ctl/ctl_tpc.c
==============================================================================
--- head/sys/cam/ctl/ctl_tpc.c	Wed Sep 17 07:06:02 2014	(r271701)
+++ head/sys/cam/ctl/ctl_tpc.c	Wed Sep 17 07:08:59 2014	(r271702)
@@ -1811,6 +1811,7 @@ tpc_create_token(struct ctl_lun *lun, st
 {
 	static int id = 0;
 	struct scsi_vpd_id_descriptor *idd = NULL;
+	struct scsi_ec_cscd_id *cscd;
 	int targid_len;
 
 	scsi_ulto4b(ROD_TYPE_AUR, token->type);
@@ -1824,8 +1825,12 @@ tpc_create_token(struct ctl_lun *lun, st
 		idd = scsi_get_devid_desc((struct scsi_vpd_id_descriptor *)
 		    lun->lun_devid->data, lun->lun_devid->len,
 		    scsi_devid_is_lun_eui64);
-	if (idd != NULL)
-		memcpy(&token->body[8], idd, 4 + idd->length);
+	if (idd != NULL) {
+		cscd = (struct scsi_ec_cscd_id *)&token->body[8];
+		cscd->type_code = EC_CSCD_ID;
+		cscd->luidt_pdt = T_DIRECT;
+		memcpy(&cscd->codeset, idd, 4 + idd->length);
+	}
 	scsi_u64to8b(0, &token->body[40]);
 	scsi_u64to8b(len, &token->body[48]);
 	if (port->target_devid) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201409170709.s8H790C3068335>