Page MenuHomeFreeBSD

D13387.diff
No OneTemporary

D13387.diff

Index: head/sys/cam/ata/ata_da.c
===================================================================
--- head/sys/cam/ata/ata_da.c
+++ head/sys/cam/ata/ata_da.c
@@ -1726,10 +1726,7 @@
else
softc->quirks = ADA_Q_NONE;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
TASK_INIT(&softc->sysctl_task, 0, adasysctlinit, periph);
Index: head/sys/cam/ata/ata_xpt.c
===================================================================
--- head/sys/cam/ata/ata_xpt.c
+++ head/sys/cam/ata/ata_xpt.c
@@ -1006,10 +1006,7 @@
if (path->device->mintags != 0 &&
path->bus->sim->max_tagged_dev_openings != 0) {
/* Check if the SIM does not want queued commands. */
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status == CAM_REQ_CMP &&
(cpi.hba_inquiry & PI_TAG_ABLE)) {
/* Report SIM which tags are allowed. */
@@ -1412,10 +1409,7 @@
xpt_done(request_ccb);
return;
}
- xpt_setup_ccb(&work_ccb->ccb_h, request_ccb->ccb_h.path,
- request_ccb->ccb_h.pinfo.priority);
- work_ccb->ccb_h.func_code = XPT_PATH_INQ;
- xpt_action(work_ccb);
+ xpt_path_inq(&work_ccb->cpi, request_ccb->ccb_h.path);
if (work_ccb->ccb_h.status != CAM_REQ_CMP) {
request_ccb->ccb_h.status = work_ccb->ccb_h.status;
xpt_free_ccb(work_ccb);
@@ -1570,10 +1564,7 @@
CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_scan_lun\n"));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
-
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status != CAM_REQ_CMP) {
if (request_ccb != NULL) {
request_ccb->ccb_h.status = cpi.ccb_h.status;
@@ -1682,9 +1673,7 @@
struct ata_params *ident_buf = NULL;
/* Get transport information from the SIM */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
path->device->transport = cpi.transport;
if ((path->device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0)
@@ -1979,9 +1968,7 @@
scsi = &cts->proto_specific.scsi;
else
scsi = NULL;
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
/* Sanity checking */
if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0
@@ -2110,9 +2097,7 @@
if ((cts->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)
return;
/* Ask the SIM for its base transfer speed */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
/* Report connection speed */
*speed = cpi.base_transfer_speed;
if (cts->transport == XPORT_ATA) {
Index: head/sys/cam/cam_periph.c
===================================================================
--- head/sys/cam/cam_periph.c
+++ head/sys/cam/cam_periph.c
@@ -743,9 +743,7 @@
arg = &ccb;
break;
case AC_PATH_REGISTERED:
- ccb.ccb_h.func_code = XPT_PATH_INQ;
- xpt_setup_ccb(&ccb.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- xpt_action(&ccb);
+ xpt_path_inq(&ccb.cpi, periph->path);
arg = &ccb;
break;
default:
Index: head/sys/cam/cam_xpt.h
===================================================================
--- head/sys/cam/cam_xpt.h
+++ head/sys/cam/cam_xpt.h
@@ -36,8 +36,10 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
+#include <cam/cam_ccb.h>
#endif
+
/* Forward Declarations */
union ccb;
struct cam_periph;
@@ -146,6 +148,20 @@
const char * xpt_action_name(uint32_t action);
void xpt_pollwait(union ccb *start_ccb, uint32_t timeout);
uint32_t xpt_poll_setup(union ccb *start_ccb);
+
+/*
+ * Perform a path inquiry at the request priority. The bzero may be
+ * unnecessary.
+ */
+static inline void
+xpt_path_inq(struct ccb_pathinq *cpi, struct cam_path *path)
+{
+
+ bzero(cpi, sizeof(*cpi));
+ xpt_setup_ccb(&cpi->ccb_h, path, CAM_PRIORITY_NORMAL);
+ cpi->ccb_h.func_code = XPT_PATH_INQ;
+ xpt_action((union ccb *)cpi);
+}
#endif /* _KERNEL */
Index: head/sys/cam/cam_xpt.c
===================================================================
--- head/sys/cam/cam_xpt.c
+++ head/sys/cam/cam_xpt.c
@@ -2620,9 +2620,7 @@
CAM_TARGET_WILDCARD,
CAM_LUN_WILDCARD);
xpt_path_lock(&path);
- xpt_setup_ccb(&cpi.ccb_h, &path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, &path);
csa->callback(csa->callback_arg,
AC_PATH_REGISTERED,
&path, &cpi);
@@ -4087,9 +4085,7 @@
return (CAM_RESRC_UNAVAIL);
}
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status == CAM_REQ_CMP) {
struct xpt_xport **xpt;
Index: head/sys/cam/mmc/mmc_da.c
===================================================================
--- head/sys/cam/mmc/mmc_da.c
+++ head/sys/cam/mmc/mmc_da.c
@@ -685,10 +685,7 @@
softc = (struct sdda_softc*) periph->softc;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
bzero(&cgd, sizeof(cgd));
xpt_setup_ccb(&cgd.ccb_h, periph->path, CAM_PRIORITY_NONE);
Index: head/sys/cam/mmc/mmc_xpt.c
===================================================================
--- head/sys/cam/mmc/mmc_xpt.c
+++ head/sys/cam/mmc/mmc_xpt.c
@@ -239,9 +239,7 @@
CAM_DEBUG(path, CAM_DEBUG_TRACE, ("mmc_scan_lun\n"));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
if (cpi.ccb_h.status != CAM_REQ_CMP) {
if (request_ccb != NULL) {
@@ -392,9 +390,7 @@
xpt_action((union ccb*)&cts);
if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)
return;
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
printf("XPT info: CLK %04X, ...\n", cts.proto_specific.mmc.ios.clock);
}
@@ -570,8 +566,7 @@
case PROBE_RESET:
/* FALLTHROUGH */
case PROBE_IDENTIFY:
- init_standard_ccb(start_ccb, XPT_PATH_INQ);
- xpt_action(start_ccb);
+ xpt_path_inq(&start_ccb->cpi, periph->path);
CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_PROBE, ("Start with PROBE_RESET\n"));
init_standard_ccb(start_ccb, XPT_SET_TRAN_SETTINGS);
Index: head/sys/cam/nvme/nvme_da.c
===================================================================
--- head/sys/cam/nvme/nvme_da.c
+++ head/sys/cam/nvme/nvme_da.c
@@ -706,10 +706,7 @@
softc->quirks = NDA_Q_NONE;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
TASK_INIT(&softc->sysctl_task, 0, ndasysctlinit, periph);
Index: head/sys/cam/nvme/nvme_xpt.c
===================================================================
--- head/sys/cam/nvme/nvme_xpt.c
+++ head/sys/cam/nvme/nvme_xpt.c
@@ -365,9 +365,7 @@
CAM_DEBUG(path, CAM_DEBUG_TRACE, ("nvme_scan_lun\n"));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status != CAM_REQ_CMP) {
if (request_ccb != NULL) {
@@ -458,9 +456,7 @@
/* XXX get data from nvme namespace and other info ??? */
/* Get transport information from the SIM */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
path->device->transport = cpi.transport;
path->device->transport_version = cpi.transport_version;
@@ -633,9 +629,7 @@
nvmex = &cts.xport_specific.nvme;
/* Ask the SIM for its base transfer speed */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
printf("%s%d: nvme version %d.%d x%d (max x%d) lanes PCIe Gen%d (max Gen%d) link",
periph->periph_name, periph->unit_number,
NVME_MAJOR(nvmex->spec),
Index: head/sys/cam/scsi/scsi_cd.c
===================================================================
--- head/sys/cam/scsi/scsi_cd.c
+++ head/sys/cam/scsi/scsi_cd.c
@@ -595,10 +595,7 @@
softc->quirks = CD_Q_NONE;
/* Check if the SIM does not want 6 byte commands */
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE))
softc->quirks |= CD_Q_10_BYTE_ONLY;
Index: head/sys/cam/scsi/scsi_ch.c
===================================================================
--- head/sys/cam/scsi/scsi_ch.c
+++ head/sys/cam/scsi/scsi_ch.c
@@ -404,10 +404,7 @@
if (cgd->inq_data.version <= SCSI_REV_2)
softc->quirks |= CH_Q_NO_DVCID;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
/*
* Changers don't have a blocksize, and obviously don't support
Index: head/sys/cam/scsi/scsi_da.c
===================================================================
--- head/sys/cam/scsi/scsi_da.c
+++ head/sys/cam/scsi/scsi_da.c
@@ -2462,10 +2462,7 @@
softc->quirks = DA_Q_NONE;
/* Check if the SIM does not want 6 byte commands */
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE))
softc->quirks |= DA_Q_NO_6_BYTE;
Index: head/sys/cam/scsi/scsi_pass.c
===================================================================
--- head/sys/cam/scsi/scsi_pass.c
+++ head/sys/cam/scsi/scsi_pass.c
@@ -588,10 +588,7 @@
softc->io_zone_size = MAXPHYS;
knlist_init_mtx(&softc->read_select.si_note, cam_periph_mtx(periph));
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
if (cpi.maxio == 0)
softc->maxio = DFLTPHYS; /* traditional default */
Index: head/sys/cam/scsi/scsi_pt.c
===================================================================
--- head/sys/cam/scsi/scsi_pt.c
+++ head/sys/cam/scsi/scsi_pt.c
@@ -277,10 +277,7 @@
periph->softc = softc;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
cam_periph_unlock(periph);
Index: head/sys/cam/scsi/scsi_sa.c
===================================================================
--- head/sys/cam/scsi/scsi_sa.c
+++ head/sys/cam/scsi/scsi_sa.c
@@ -2427,10 +2427,7 @@
softc->flags |= SA_FLAG_PROTECT_SUPP;
}
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
/*
* The SA driver supports a blocksize, but we don't know the
Index: head/sys/cam/scsi/scsi_sg.c
===================================================================
--- head/sys/cam/scsi/scsi_sg.c
+++ head/sys/cam/scsi/scsi_sg.c
@@ -324,10 +324,7 @@
TAILQ_INIT(&softc->rdwr_done);
periph->softc = softc;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
if (cpi.maxio == 0)
softc->maxio = DFLTPHYS; /* traditional default */
Index: head/sys/cam/scsi/scsi_target.c
===================================================================
--- head/sys/cam/scsi/scsi_target.c
+++ head/sys/cam/scsi/scsi_target.c
@@ -393,9 +393,7 @@
return (CAM_LUN_ALRDY_ENA);
/* Make sure SIM supports target mode */
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NORMAL);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
status = cpi.ccb_h.status & CAM_STATUS_MASK;
if (status != CAM_REQ_CMP) {
printf("pathinq failed, status %#x\n", status);
Index: head/sys/cam/scsi/scsi_xpt.c
===================================================================
--- head/sys/cam/scsi/scsi_xpt.c
+++ head/sys/cam/scsi/scsi_xpt.c
@@ -709,9 +709,7 @@
softc = (probe_softc *)periph->softc;
ccb = (union ccb *)TAILQ_FIRST(&softc->request_ccbs);
- xpt_setup_ccb(&cpi.ccb_h, periph->path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, periph->path);
/*
* If a device has gone away and another device, or the same one,
Index: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
===================================================================
--- head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
+++ head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
@@ -2364,10 +2364,7 @@
if (path->device->protocol == PROTO_ATA) {
struct ccb_pathinq cpi;
- bzero(&cpi, sizeof(cpi));
- xpt_setup_ccb(&cpi.ccb_h, path, CAM_PRIORITY_NONE);
- cpi.ccb_h.func_code = XPT_PATH_INQ;
- xpt_action((union ccb *)&cpi);
+ xpt_path_inq(&cpi, path);
if (cpi.ccb_h.status == CAM_REQ_CMP &&
cpi.hba_vendor == PCI_VENDOR_INTEL &&
cpi.hba_device == PCI_PRODUCT_PIIX4) {

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 10, 9:39 AM (12 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17082559
Default Alt Text
D13387.diff (13 KB)

Event Timeline