Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Mar 2017 16:09:36 +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: r315488 - head/sys/dev/isp
Message-ID:  <201703181609.v2IG9aFc011847@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Sat Mar 18 16:09:36 2017
New Revision: 315488
URL: https://svnweb.freebsd.org/changeset/base/315488

Log:
  Extend nt_lun to full 8 byte.
  
  MFC after:	2 weeks

Modified:
  head/sys/dev/isp/isp_freebsd.c
  head/sys/dev/isp/isp_target.c
  head/sys/dev/isp/isp_target.h

Modified: head/sys/dev/isp/isp_freebsd.c
==============================================================================
--- head/sys/dev/isp/isp_freebsd.c	Sat Mar 18 16:09:30 2017	(r315487)
+++ head/sys/dev/isp/isp_freebsd.c	Sat Mar 18 16:09:36 2017	(r315488)
@@ -2303,7 +2303,8 @@ isp_handle_platform_notify_fc(ispsoftc_t
 		break;
 	case IN_ABORT_TASK:
 	{
-		uint16_t nphdl, lun;
+		lun_id_t lun;
+		uint16_t nphdl;
 		uint32_t sid;
 		uint64_t wwn;
 		fcportdb_t *lp;
@@ -2602,7 +2603,7 @@ isp_handle_platform_target_tmf(ispsoftc_
 	inot_private_data_t *ntp = NULL;
 	lun_id_t lun;
 
-	isp_prt(isp, ISP_LOGTDEBUG0, "%s: code 0x%x sid  0x%x tagval 0x%016llx chan %d lun 0x%x", __func__, notify->nt_ncode,
+	isp_prt(isp, ISP_LOGTDEBUG0, "%s: code 0x%x sid  0x%x tagval 0x%016llx chan %d lun %jx", __func__, notify->nt_ncode,
 	    notify->nt_sid, (unsigned long long) notify->nt_tagval, notify->nt_channel, notify->nt_lun);
 	/*
 	 * NB: This assignment is necessary because of tricky type conversion.

Modified: head/sys/dev/isp/isp_target.c
==============================================================================
--- head/sys/dev/isp/isp_target.c	Sat Mar 18 16:09:30 2017	(r315487)
+++ head/sys/dev/isp/isp_target.c	Sat Mar 18 16:09:36 2017	(r315488)
@@ -709,8 +709,8 @@ static void
 isp_got_msg_fc(ispsoftc_t *isp, in_fcentry_t *inp)
 {
 	isp_notify_t notify;
-	static const char f1[] = "%s from N-port handle 0x%x lun %x seq 0x%x";
-	static const char f2[] = "unknown %s 0x%x lun %x N-Port handle 0x%x task flags 0x%x seq 0x%x\n";
+	static const char f1[] = "%s from N-port handle 0x%x lun %jx seq 0x%x";
+	static const char f2[] = "unknown %s 0x%x lun %jx N-Port handle 0x%x task flags 0x%x seq 0x%x\n";
 	uint16_t seqid, nphdl;
 
 	ISP_MEMZERO(&notify, sizeof (isp_notify_t));
@@ -772,8 +772,8 @@ static void
 isp_got_tmf_24xx(ispsoftc_t *isp, at7_entry_t *aep)
 {
 	isp_notify_t notify;
-	static const char f1[] = "%s from PortID 0x%06x lun %x seq 0x%08x";
-	static const char f2[] = "unknown Task Flag 0x%x lun %x PortID 0x%x tag 0x%08x";
+	static const char f1[] = "%s from PortID 0x%06x lun %jx seq 0x%08x";
+	static const char f2[] = "unknown Task Flag 0x%x lun %jx PortID 0x%x tag 0x%08x";
 	fcportdb_t *lp;
 	uint16_t chan;
 	uint32_t sid, did;
@@ -781,7 +781,7 @@ isp_got_tmf_24xx(ispsoftc_t *isp, at7_en
 	ISP_MEMZERO(&notify, sizeof (isp_notify_t));
 	notify.nt_hba = isp;
 	notify.nt_wwn = INI_ANY;
-	notify.nt_lun = (aep->at_cmnd.fcp_cmnd_lun[0] << 8) | (aep->at_cmnd.fcp_cmnd_lun[1]);
+	notify.nt_lun = CAM_EXTLUN_BYTE_SWIZZLE(be64dec(aep->at_cmnd.fcp_cmnd_lun));
 	notify.nt_tagval = aep->at_rxid;
 	notify.nt_tagval |= (((uint64_t)(isp->isp_serno++)) << 32);
 	notify.nt_lreserved = aep;

Modified: head/sys/dev/isp/isp_target.h
==============================================================================
--- head/sys/dev/isp/isp_target.h	Sat Mar 18 16:09:30 2017	(r315487)
+++ head/sys/dev/isp/isp_target.h	Sat Mar 18 16:09:36 2017	(r315488)
@@ -64,16 +64,15 @@ typedef struct isp_notify {
 	uint64_t	nt_wwn;		/* source (wwn) */
 	uint64_t	nt_tgt;		/* destination (wwn) */
 	uint64_t	nt_tagval;	/* tag value */
+	lun_id_t	nt_lun;		/* logical unit */
 	uint32_t
 			nt_sid		: 24;	/* source port id */
 	uint32_t
 			nt_failed	: 1,	/* notify operation failed */
 			nt_need_ack	: 1,	/* this notify needs an ACK */
 			nt_did		: 24;	/* destination port id */
-	uint32_t
-			nt_lun		: 16,	/* logical unit */
-			nt_nphdl  	: 16;	/* n-port handle */
-	uint8_t		nt_channel;		/* channel id */
+	uint16_t	nt_nphdl;	/* n-port handle */
+	uint8_t		nt_channel;	/* channel id */
 	isp_ncode_t	nt_ncode;	/* action */
 } isp_notify_t;
 #define MATCH_TMD(tmd, iid, lun, tag)                   \



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