summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorken <ken@FreeBSD.org>1999-12-08 04:45:23 +0000
committerken <ken@FreeBSD.org>1999-12-08 04:45:23 +0000
commit235e74ef14545e7100cec4fa645aff076da52816 (patch)
tree32b247bb1e4d2829469cabf6d97c96992ec8612b
parent9ad09710679f41c5f78e53b1fa6541b8251a0867 (diff)
downloadFreeBSD-src-235e74ef14545e7100cec4fa645aff076da52816.zip
FreeBSD-src-235e74ef14545e7100cec4fa645aff076da52816.tar.gz
Revamp the devstat priority system. All disks now have the same priority.
The same goes for CD drivers and tape drivers. In systems with mixed IDE and SCSI, devices in the same priority class will be sorted in attach order. Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of drivers have been modified to use that priority. This includes the necessary changes to all drivers, except the ATA drivers. Soren will modify those separately. This does not include and does not require any change in the devstat version number, since no known userland applications use the priority enumerations. Reviewed by: msmith, sos, phk, jlemon, mjacob, bde
-rw-r--r--share/man/man9/devstat.99
-rw-r--r--sys/cam/scsi/scsi_da.c2
-rw-r--r--sys/cam/scsi/scsi_sa.c2
-rw-r--r--sys/contrib/dev/fla/fla.c3
-rw-r--r--sys/dev/amr/amr_disk.c4
-rw-r--r--sys/dev/ccd/ccd.c4
-rw-r--r--sys/dev/ida/ida_disk.c3
-rw-r--r--sys/dev/mlx/mlx_disk.c4
-rw-r--r--sys/geom/geom_ccd.c4
-rw-r--r--sys/i386/isa/atapi-cd.c4
-rw-r--r--sys/i386/isa/wd.c2
-rw-r--r--sys/i386/isa/wd_cd.c4
-rw-r--r--sys/pc98/pc98/wd.c2
-rw-r--r--sys/pc98/pc98/wd_cd.c4
-rw-r--r--sys/sys/devicestat.h9
15 files changed, 28 insertions, 32 deletions
diff --git a/share/man/man9/devstat.9 b/share/man/man9/devstat.9
index a049742..041f10a 100644
--- a/share/man/man9/devstat.9
+++ b/share/man/man9/devstat.9
@@ -305,13 +305,10 @@ typedef enum {
DEVSTAT_PRIORITY_PASS = 0x030,
DEVSTAT_PRIORITY_FD = 0x040,
DEVSTAT_PRIORITY_WFD = 0x050,
- DEVSTAT_PRIORITY_SA = 0x060,
- DEVSTAT_PRIORITY_OCD = 0x070,
- DEVSTAT_PRIORITY_WCD = 0x080,
+ DEVSTAT_PRIORITY_TAPE = 0x060,
DEVSTAT_PRIORITY_CD = 0x090,
- DEVSTAT_PRIORITY_WD = 0x100,
- DEVSTAT_PRIORITY_DA = 0x110,
- DEVSTAT_PRIORITY_CCD = 0x120,
+ DEVSTAT_PRIORITY_DISK = 0x110,
+ DEVSTAT_PRIORITY_ARRAY = 0x120,
DEVSTAT_PRIORITY_MAX = 0xfff
} devstat_priority;
.Ed
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 5c420ba..470832f 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -961,7 +961,7 @@ daregister(struct cam_periph *periph, void *arg)
periph->unit_number, 0,
DEVSTAT_BS_UNAVAILABLE,
cgd->pd_type | DEVSTAT_TYPE_IF_SCSI,
- DEVSTAT_PRIORITY_DA);
+ DEVSTAT_PRIORITY_DISK);
/*
* Register this media as a disk
diff --git a/sys/cam/scsi/scsi_sa.c b/sys/cam/scsi/scsi_sa.c
index 20736b9..85aa2d3 100644
--- a/sys/cam/scsi/scsi_sa.c
+++ b/sys/cam/scsi/scsi_sa.c
@@ -1398,7 +1398,7 @@ saregister(struct cam_periph *periph, void *arg)
*/
devstat_add_entry(&softc->device_stats, "sa", periph->unit_number, 0,
DEVSTAT_BS_UNAVAILABLE, cgd->pd_type | DEVSTAT_TYPE_IF_SCSI,
- DEVSTAT_PRIORITY_SA);
+ DEVSTAT_PRIORITY_TAPE);
softc->devs.ctl_dev = make_dev(&sa_cdevsw, SAMINOR(SA_CTLDEV,
periph->unit_number, 0, SA_ATYPE_R), UID_ROOT, GID_OPERATOR,
diff --git a/sys/contrib/dev/fla/fla.c b/sys/contrib/dev/fla/fla.c
index 9de44ee..0f91842 100644
--- a/sys/contrib/dev/fla/fla.c
+++ b/sys/contrib/dev/fla/fla.c
@@ -326,7 +326,8 @@ flaattach (device_t dev)
devstat_add_entry(&softc[unit].stats, "fla", unit, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
- DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_OTHER, 0x190);
+ DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_OTHER,
+ DEVSTAT_PRIORITY_DISK);
sc->dev = disk_create(unit, &sc->disk, 0, &fla_cdevsw, &fladisk_cdevsw);
sc->dev->si_drv1 = sc;
diff --git a/sys/dev/amr/amr_disk.c b/sys/dev/amr/amr_disk.c
index 54d1213..e9c0567 100644
--- a/sys/dev/amr/amr_disk.c
+++ b/sys/dev/amr/amr_disk.c
@@ -288,8 +288,8 @@ amrd_attach(device_t dev)
devstat_add_entry(&sc->amrd_stats, "amrd", sc->amrd_unit, AMR_BLKSIZE,
DEVSTAT_NO_ORDERED_TAGS,
- DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_OTHER,
- DEVSTAT_PRIORITY_DA);
+ DEVSTAT_TYPE_STORARRAY | DEVSTAT_TYPE_IF_OTHER,
+ DEVSTAT_PRIORITY_ARRAY);
disk_create(sc->amrd_unit, &sc->amrd_disk, 0, &amrd_cdevsw, &amrddisk_cdevsw);
disks_registered++;
diff --git a/sys/dev/ccd/ccd.c b/sys/dev/ccd/ccd.c
index fcca237..7f14c78 100644
--- a/sys/dev/ccd/ccd.c
+++ b/sys/dev/ccd/ccd.c
@@ -543,8 +543,8 @@ ccdinit(ccd, cpaths, p)
*/
devstat_add_entry(&cs->device_stats, "ccd", ccd->ccd_unit,
ccg->ccg_secsize, DEVSTAT_ALL_SUPPORTED,
- DEVSTAT_TYPE_ASC0 |DEVSTAT_TYPE_IF_OTHER,
- DEVSTAT_PRIORITY_CCD);
+ DEVSTAT_TYPE_STORARRAY |DEVSTAT_TYPE_IF_OTHER,
+ DEVSTAT_PRIORITY_ARRAY);
cs->sc_flags |= CCDF_INITED;
cs->sc_cflags = ccd->ccd_flags; /* So we can find out later... */
diff --git a/sys/dev/ida/ida_disk.c b/sys/dev/ida/ida_disk.c
index 294b85b..5b996d4 100644
--- a/sys/dev/ida/ida_disk.c
+++ b/sys/dev/ida/ida_disk.c
@@ -312,7 +312,8 @@ idattach(device_t dev)
devstat_add_entry(&drv->stats, "id", drv->unit, drv->secsize,
DEVSTAT_NO_ORDERED_TAGS,
- DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_OTHER, DEVSTAT_PRIORITY_DA);
+ DEVSTAT_TYPE_STORARRAY| DEVSTAT_TYPE_IF_OTHER,
+ DEVSTAT_PRIORITY_ARRAY);
return (0);
}
diff --git a/sys/dev/mlx/mlx_disk.c b/sys/dev/mlx/mlx_disk.c
index ab0da60..26bbfae 100644
--- a/sys/dev/mlx/mlx_disk.c
+++ b/sys/dev/mlx/mlx_disk.c
@@ -273,8 +273,8 @@ mlxd_attach(device_t dev)
devstat_add_entry(&sc->mlxd_stats, "mlxd", sc->mlxd_unit, MLX_BLKSIZE,
DEVSTAT_NO_ORDERED_TAGS,
- DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_OTHER,
- DEVSTAT_PRIORITY_DA);
+ DEVSTAT_TYPE_STORARRAY | DEVSTAT_TYPE_IF_OTHER,
+ DEVSTAT_PRIORITY_ARRAY);
dsk = disk_create(sc->mlxd_unit, &sc->mlxd_disk, 0, &mlxd_cdevsw, &mlxddisk_cdevsw);
disks_registered++;
diff --git a/sys/geom/geom_ccd.c b/sys/geom/geom_ccd.c
index fcca237..7f14c78 100644
--- a/sys/geom/geom_ccd.c
+++ b/sys/geom/geom_ccd.c
@@ -543,8 +543,8 @@ ccdinit(ccd, cpaths, p)
*/
devstat_add_entry(&cs->device_stats, "ccd", ccd->ccd_unit,
ccg->ccg_secsize, DEVSTAT_ALL_SUPPORTED,
- DEVSTAT_TYPE_ASC0 |DEVSTAT_TYPE_IF_OTHER,
- DEVSTAT_PRIORITY_CCD);
+ DEVSTAT_TYPE_STORARRAY |DEVSTAT_TYPE_IF_OTHER,
+ DEVSTAT_PRIORITY_ARRAY);
cs->sc_flags |= CCDF_INITED;
cs->sc_cflags = ccd->ccd_flags; /* So we can find out later... */
diff --git a/sys/i386/isa/atapi-cd.c b/sys/i386/isa/atapi-cd.c
index a494a6c..898af01 100644
--- a/sys/i386/isa/atapi-cd.c
+++ b/sys/i386/isa/atapi-cd.c
@@ -251,14 +251,14 @@ acdattach(struct atapi *ata, int unit, struct atapi_params *ap, int debug)
devstat_add_entry(cdp->device_stats, string, tmpcdp->lun, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WCD);
+ DEVSTAT_PRIORITY_CD);
}
else {
acdnlun++;
devstat_add_entry(cdp->device_stats, "wcd", cdp->lun, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WCD);
+ DEVSTAT_PRIORITY_CD);
}
return 1;
}
diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c
index 4df6595..f5b27fb 100644
--- a/sys/i386/isa/wd.c
+++ b/sys/i386/isa/wd.c
@@ -522,7 +522,7 @@ wdattach(struct isa_device *dvp)
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_DIRECT |
DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WD);
+ DEVSTAT_PRIORITY_DISK);
} else {
free(du, M_TEMP);
diff --git a/sys/i386/isa/wd_cd.c b/sys/i386/isa/wd_cd.c
index a494a6c..898af01 100644
--- a/sys/i386/isa/wd_cd.c
+++ b/sys/i386/isa/wd_cd.c
@@ -251,14 +251,14 @@ acdattach(struct atapi *ata, int unit, struct atapi_params *ap, int debug)
devstat_add_entry(cdp->device_stats, string, tmpcdp->lun, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WCD);
+ DEVSTAT_PRIORITY_CD);
}
else {
acdnlun++;
devstat_add_entry(cdp->device_stats, "wcd", cdp->lun, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WCD);
+ DEVSTAT_PRIORITY_CD);
}
return 1;
}
diff --git a/sys/pc98/pc98/wd.c b/sys/pc98/pc98/wd.c
index aa9d0c7..de272df 100644
--- a/sys/pc98/pc98/wd.c
+++ b/sys/pc98/pc98/wd.c
@@ -610,7 +610,7 @@ wdattach(struct isa_device *dvp)
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_DIRECT |
DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WD);
+ DEVSTAT_PRIORITY_DISK);
} else {
free(du, M_TEMP);
diff --git a/sys/pc98/pc98/wd_cd.c b/sys/pc98/pc98/wd_cd.c
index a494a6c..898af01 100644
--- a/sys/pc98/pc98/wd_cd.c
+++ b/sys/pc98/pc98/wd_cd.c
@@ -251,14 +251,14 @@ acdattach(struct atapi *ata, int unit, struct atapi_params *ap, int debug)
devstat_add_entry(cdp->device_stats, string, tmpcdp->lun, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WCD);
+ DEVSTAT_PRIORITY_CD);
}
else {
acdnlun++;
devstat_add_entry(cdp->device_stats, "wcd", cdp->lun, DEV_BSIZE,
DEVSTAT_NO_ORDERED_TAGS,
DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE,
- DEVSTAT_PRIORITY_WCD);
+ DEVSTAT_PRIORITY_CD);
}
return 1;
}
diff --git a/sys/sys/devicestat.h b/sys/sys/devicestat.h
index 771dc06..1e17d51 100644
--- a/sys/sys/devicestat.h
+++ b/sys/sys/devicestat.h
@@ -79,13 +79,10 @@ typedef enum {
DEVSTAT_PRIORITY_PASS = 0x030,
DEVSTAT_PRIORITY_FD = 0x040,
DEVSTAT_PRIORITY_WFD = 0x050,
- DEVSTAT_PRIORITY_SA = 0x060,
- DEVSTAT_PRIORITY_OCD = 0x070,
- DEVSTAT_PRIORITY_WCD = 0x080,
+ DEVSTAT_PRIORITY_TAPE = 0x060,
DEVSTAT_PRIORITY_CD = 0x090,
- DEVSTAT_PRIORITY_WD = 0x100,
- DEVSTAT_PRIORITY_DA = 0x110,
- DEVSTAT_PRIORITY_CCD = 0x120,
+ DEVSTAT_PRIORITY_DISK = 0x110,
+ DEVSTAT_PRIORITY_ARRAY = 0x120,
DEVSTAT_PRIORITY_MAX = 0xfff
} devstat_priority;
OpenPOWER on IntegriCloud