svn commit: r255142 - projects/camlock/sys/cam

Alexander Motin mav at FreeBSD.org
Mon Sep 2 06:41:56 UTC 2013


Author: mav
Date: Mon Sep  2 06:41:54 2013
New Revision: 255142
URL: http://svnweb.freebsd.org/changeset/base/255142

Log:
  As much as possible keep SIM KBI:
   - move new fields to the end of struct cam_sim;
   - resurrect xpt_create_path_unlocked() as dummy wrapper.

Modified:
  projects/camlock/sys/cam/cam_sim.h
  projects/camlock/sys/cam/cam_xpt.c
  projects/camlock/sys/cam/cam_xpt.h

Modified: projects/camlock/sys/cam/cam_sim.h
==============================================================================
--- projects/camlock/sys/cam/cam_sim.h	Mon Sep  2 05:59:39 2013	(r255141)
+++ projects/camlock/sys/cam/cam_sim.h	Mon Sep  2 06:41:54 2013	(r255142)
@@ -95,11 +95,6 @@ struct cam_sim {
 	void			*softc;
 	struct mtx		*mtx;
 	TAILQ_HEAD(, ccb_hdr)	sim_doneq;
-	struct mtx		sim_doneq_mtx;
-	int			sim_doneq_flags;
-#define	CAM_SIM_DQ_ONQ		0x04
-#define	CAM_SIM_DQ_POLLED	0x08
-#define	CAM_SIM_DQ_BATCH	0x10
 	TAILQ_ENTRY(cam_sim)	links;
 	u_int32_t		path_id;/* The Boot device may set this to 0? */
 	u_int32_t		unit_number;
@@ -112,6 +107,11 @@ struct cam_sim {
 	struct callout		callout;
 	struct cam_devq 	*devq;	/* Device Queue to use for this SIM */
 	int			refcount; /* References to the SIM. */
+	int			sim_doneq_flags;
+#define	CAM_SIM_DQ_ONQ		0x04
+#define	CAM_SIM_DQ_POLLED	0x08
+#define	CAM_SIM_DQ_BATCH	0x10
+	struct mtx		sim_doneq_mtx;
 };
 
 #define CAM_SIM_LOCK(sim)	mtx_lock((sim)->mtx)

Modified: projects/camlock/sys/cam/cam_xpt.c
==============================================================================
--- projects/camlock/sys/cam/cam_xpt.c	Mon Sep  2 05:59:39 2013	(r255141)
+++ projects/camlock/sys/cam/cam_xpt.c	Mon Sep  2 06:41:54 2013	(r255142)
@@ -3364,6 +3364,16 @@ xpt_create_path(struct cam_path **new_pa
 }
 
 cam_status
+xpt_create_path_unlocked(struct cam_path **new_path_ptr,
+			 struct cam_periph *periph, path_id_t path_id,
+			 target_id_t target_id, lun_id_t lun_id)
+{
+
+	return (xpt_create_path(new_path_ptr, periph, path_id, target_id,
+	    lun_id));
+}
+
+cam_status
 xpt_compile_path(struct cam_path *new_path, struct cam_periph *perph,
 		 path_id_t path_id, target_id_t target_id, lun_id_t lun_id)
 {

Modified: projects/camlock/sys/cam/cam_xpt.h
==============================================================================
--- projects/camlock/sys/cam/cam_xpt.h	Mon Sep  2 05:59:39 2013	(r255141)
+++ projects/camlock/sys/cam/cam_xpt.h	Mon Sep  2 06:41:54 2013	(r255142)
@@ -79,6 +79,10 @@ cam_status		xpt_create_path(struct cam_p
 					struct cam_periph *perph,
 					path_id_t path_id,
 					target_id_t target_id, lun_id_t lun_id);
+cam_status		xpt_create_path_unlocked(struct cam_path **new_path_ptr,
+					struct cam_periph *perph,
+					path_id_t path_id,
+					target_id_t target_id, lun_id_t lun_id);
 int			xpt_getattr(char *buf, size_t len, const char *attr,
 				    struct cam_path *path);
 void			xpt_free_path(struct cam_path *path);


More information about the svn-src-projects mailing list