summaryrefslogtreecommitdiffstats
path: root/sys/cam/scsi
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-07-25 15:43:52 +0000
committermav <mav@FreeBSD.org>2010-07-25 15:43:52 +0000
commit68b26f66494feb7f028f26e91a6756e69b2ba395 (patch)
tree17a1e011d37cb64ccedab6ec54cdbac15a501c84 /sys/cam/scsi
parente67ee04556273868e17fd2c1a6791f8246d0a48f (diff)
downloadFreeBSD-src-68b26f66494feb7f028f26e91a6756e69b2ba395.zip
FreeBSD-src-68b26f66494feb7f028f26e91a6756e69b2ba395.tar.gz
Export PCI IDs of ATA/SATA controllers through CAM and ata(4) layers to
GEOM. This information needed for proper soft-RAID's on-disk metadata reading and writing.
Diffstat (limited to 'sys/cam/scsi')
-rw-r--r--sys/cam/scsi/scsi_cd.c4
-rw-r--r--sys/cam/scsi/scsi_da.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c
index 76ef3bd..6a73efb 100644
--- a/sys/cam/scsi/scsi_cd.c
+++ b/sys/cam/scsi/scsi_cd.c
@@ -733,6 +733,10 @@ cdregister(struct cam_periph *periph, void *arg)
else
softc->disk->d_maxsize = cpi.maxio;
softc->disk->d_flags = 0;
+ softc->disk->d_hba_vendor = cpi.hba_vendor;
+ softc->disk->d_hba_device = cpi.hba_device;
+ softc->disk->d_hba_subvendor = cpi.hba_subvendor;
+ softc->disk->d_hba_subdevice = cpi.hba_subdevice;
disk_create(softc->disk, DISK_VERSION);
cam_periph_lock(periph);
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 7095eeb..8f64361 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -1310,6 +1310,10 @@ daregister(struct cam_periph *periph, void *arg)
softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE;
strlcpy(softc->disk->d_ident, cgd->serial_num,
MIN(sizeof(softc->disk->d_ident), cgd->serial_num_len + 1));
+ softc->disk->d_hba_vendor = cpi.hba_vendor;
+ softc->disk->d_hba_device = cpi.hba_device;
+ softc->disk->d_hba_subvendor = cpi.hba_subvendor;
+ softc->disk->d_hba_subdevice = cpi.hba_subdevice;
disk_create(softc->disk, DISK_VERSION);
mtx_lock(periph->sim->mtx);
OpenPOWER on IntegriCloud