summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_disk.c
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/geom/geom_disk.c
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/geom/geom_disk.c')
-rw-r--r--sys/geom/geom_disk.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c
index 4cf3196..25d2e3b 100644
--- a/sys/geom/geom_disk.c
+++ b/sys/geom/geom_disk.c
@@ -305,6 +305,18 @@ g_disk_start(struct bio *bp)
break;
else if (g_handleattr_str(bp, "GEOM::ident", dp->d_ident))
break;
+ else if (g_handleattr(bp, "GEOM::hba_vendor",
+ &dp->d_hba_vendor, 2))
+ break;
+ else if (g_handleattr(bp, "GEOM::hba_device",
+ &dp->d_hba_device, 2))
+ break;
+ else if (g_handleattr(bp, "GEOM::hba_subvendor",
+ &dp->d_hba_subvendor, 2))
+ break;
+ else if (g_handleattr(bp, "GEOM::hba_subdevice",
+ &dp->d_hba_subdevice, 2))
+ break;
else if (!strcmp(bp->bio_attribute, "GEOM::kerneldump"))
g_disk_kerneldump(bp, dp);
else
OpenPOWER on IntegriCloud