summaryrefslogtreecommitdiffstats
path: root/sys/cam/cam_xpt.c
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1999-05-23 18:57:29 +0000
committergibbs <gibbs@FreeBSD.org>1999-05-23 18:57:29 +0000
commit95e29ded40c1e5da157f4bc983a442810b674bec (patch)
treee4cff7168ef451efb7d01d7c99884da4a0fe3b08 /sys/cam/cam_xpt.c
parent9b2b6e4e609892474c1f1ff68c0f7707970bfd71 (diff)
downloadFreeBSD-src-95e29ded40c1e5da157f4bc983a442810b674bec.zip
FreeBSD-src-95e29ded40c1e5da157f4bc983a442810b674bec.tar.gz
Rely on the statistics in XPT_GDEV_STATS instead of the versions still
retained in XPT_GDEV_TYPE for binary compatibility. Mark the legacy structure values for removal when we bump the major CAM revision.
Diffstat (limited to 'sys/cam/cam_xpt.c')
-rw-r--r--sys/cam/cam_xpt.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index abd91fa..d053475 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: cam_xpt.c,v 1.58 1999/05/18 00:41:05 gibbs Exp $
+ * $Id: cam_xpt.c,v 1.59 1999/05/22 21:58:47 gibbs Exp $
*/
#include <sys/param.h>
#include <sys/systm.h>
@@ -2866,6 +2866,7 @@ xpt_action(union ccb *start_ccb)
tar = cgd->ccb_h.path->target;
cgd->inq_data = dev->inq_data;
cgd->pd_type = SID_TYPE(&dev->inq_data);
+#ifndef GARBAGE_COLLECT
cgd->dev_openings = dev->ccbq.dev_openings;
cgd->dev_active = dev->ccbq.dev_active;
cgd->devq_openings = dev->ccbq.devq_openings;
@@ -2873,6 +2874,7 @@ xpt_action(union ccb *start_ccb)
cgd->held = dev->ccbq.held;
cgd->maxtags = dev->quirk->maxtags;
cgd->mintags = dev->quirk->mintags;
+#endif
cgd->ccb_h.status = CAM_REQ_CMP;
cgd->serial_num_len = dev->serial_num_len;
if ((dev->serial_num_len > 0)
@@ -2906,6 +2908,8 @@ xpt_action(union ccb *start_ccb)
cgds->devq_queued = dev->ccbq.queue.entries;
cgds->held = dev->ccbq.held;
cgds->last_reset = tar->last_reset;
+ cgds->maxtags = dev->quirk->maxtags;
+ cgds->mintags = dev->quirk->mintags;
if (timevalcmp(&tar->last_reset, &bus->last_reset, <))
cgds->last_reset = bus->last_reset;
cgds->ccb_h.status = CAM_REQ_CMP;
@@ -4544,6 +4548,10 @@ xpt_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id)
callout_handle_init(&device->c_handle);
device->refcount = 1;
device->flags |= CAM_DEV_UNCONFIGURED;
+ /*
+ * Take the default quirk entry until we have inquiry
+ * data and can determine a better quirk to use.
+ */
device->quirk = &xpt_quirk_table[xpt_quirk_table_size - 1];
cam_init_pinfo(&device->alloc_ccb_entry.pinfo);
OpenPOWER on IntegriCloud