PERFORCE change 120066 for review

Matt Jacob mjacob at FreeBSD.org
Sat May 19 18:26:19 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=120066

Change 120066 by mjacob at mjexp on 2007/05/19 18:25:21

	Note integrated raid completion and do some LOR fixes.

Affected files ...

.. //depot/projects/mjexp/sys/dev/mpt/mpt_raid.c#8 edit

Differences ...

==== //depot/projects/mjexp/sys/dev/mpt/mpt_raid.c#8 (text+ko) ====

@@ -368,6 +368,11 @@
 	int i;
 	int print_event;
 
+	if (msg->Event == MPI_EVENT_IR_RESYNC_UPDATE) {
+		mpt_prt(mpt, "IR resync update %d completed.",
+		    (le32toh(msg->Data[0]) > 16) & 0xff);
+		return (1);
+	}
 	if (msg->Event != MPI_EVENT_INTEGRATED_RAID) {
 		return (0);
 	}
@@ -701,19 +706,20 @@
 
 			mpt->raid_rescan = 0;
 
+			MPTLOCK_2_CAMLOCK(mpt);
 			ccb = malloc(sizeof(*ccb), M_DEVBUF, M_WAITOK);
 			error = xpt_create_path(&path, xpt_periph,
 			    cam_sim_path(mpt->phydisk_sim),
 			    CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD);
 			if (error != CAM_REQ_CMP) {
 				free(ccb, M_DEVBUF);
+				CAMLOCK_2_MPTLOCK(mpt);
 				mpt_prt(mpt, "Unable to rescan RAID Bus!\n");
 			} else {
 				xpt_setup_ccb(&ccb->ccb_h, path, 5);
 				ccb->ccb_h.func_code = XPT_SCAN_BUS;
 				ccb->ccb_h.cbfcnp = mpt_cam_rescan_callback;
 				ccb->crcn.flags = CAM_FLAG_NONE;
-				MPTLOCK_2_CAMLOCK(mpt);
 				xpt_action(ccb);
 				CAMLOCK_2_MPTLOCK(mpt);
 			}


More information about the p4-projects mailing list