summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlexander Yurchenko <grange@cvs.openbsd.org>2009-03-21 09:57:11 +0000
committerAlexander Yurchenko <grange@cvs.openbsd.org>2009-03-21 09:57:11 +0000
commit3ebe8a8261e3543c489e2713d9c5e248214cd5b9 (patch)
treed39b074d221705d3809327649b9a613a9922e2b6 /sys
parent456b09371ce1f1ea3fc269812690c6c323961ac0 (diff)
Looks like the ``params'' field in the physical device description
contains SID_TYPE. Use to to filter out non disks from the bioctl output.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/ips.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/pci/ips.c b/sys/dev/pci/ips.c
index a53a3be6620..0fb7df94e35 100644
--- a/sys/dev/pci/ips.c
+++ b/sys/dev/pci/ips.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ips.c,v 1.83 2009/03/20 20:16:56 grange Exp $ */
+/* $OpenBSD: ips.c,v 1.84 2009/03/21 09:57:10 grange Exp $ */
/*
* Copyright (c) 2006, 2007, 2009 Alexander Yurchenko <grange@openbsd.org>
@@ -1179,7 +1179,8 @@ ips_ioctl_vol(struct ips_softc *sc, struct bioc_vol *bv)
for (target = 0; target < IPS_MAXTARGETS; target++) {
dev = &conf->dev[chan][target];
if (dev->state && !(dev->state &
- IPS_DVS_MEMBER))
+ IPS_DVS_MEMBER) &&
+ (dev->params & SID_TYPE) == T_DIRECT)
bv->bv_nodisk++;
}
}
@@ -1220,7 +1221,8 @@ ips_ioctl_disk(struct ips_softc *sc, struct bioc_disk *bd)
for (target = 0; target < IPS_MAXTARGETS; target++) {
dev = &conf->dev[chan][target];
if (dev->state && !(dev->state &
- IPS_DVS_MEMBER))
+ IPS_DVS_MEMBER) &&
+ (dev->params & SID_TYPE) == T_DIRECT)
if (i++ == did)
goto out;
}