This removes support for tape BLOCK devices from the kernel.
(Since people were confused: Everything you typically do with tapes,
like dump/restore, tar, mt, etc. uses character devices and is not
affected by this. You would only use a block device to mount(8) a
tape.)
Anything I missed? OK?
Cleaning up /dev will be a separate step.
Index: arch/alpha/alpha/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/alpha/alpha/conf.c,v
retrieving revision 1.82
diff -u -p -r1.82 conf.c
--- arch/alpha/alpha/conf.c 2 Sep 2016 17:06:12 -0000 1.82
+++ arch/alpha/alpha/conf.c 4 Sep 2016 09:47:52 -0000
@@ -57,7 +57,7 @@ struct bdevsw bdevsw[] =
{
bdev_disk_init(NWD,wd), /* 0: ST506/ESDI/IDE disk */
bdev_swap_init(1,sw), /* 1: swap pseudo-device */
- bdev_tape_init(NST,st), /* 2: SCSI tape */
+ bdev_notdef(), /* 2: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 3: SCSI CD-ROM */
bdev_disk_init(NFD,fd), /* 4: Floppy disk */
bdev_notdef(), /* 5 */
@@ -260,7 +260,7 @@ int chrtoblktbl[] = {
/* 9 */ 9, /* vnd */
/* 10 */ NODEV,
/* 11 */ NODEV,
- /* 12 */ 2, /* st */
+ /* 12 */ NODEV,
/* 13 */ 3, /* cd */
/* 14 */ NODEV,
/* 15 */ NODEV,
Index: arch/amd64/amd64/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/conf.c,v
retrieving revision 1.59
diff -u -p -r1.59 conf.c
--- arch/amd64/amd64/conf.c 2 Sep 2016 17:06:12 -0000 1.59
+++ arch/amd64/amd64/conf.c 4 Sep 2016 09:47:52 -0000
@@ -58,7 +58,7 @@ struct bdevsw bdevsw[] =
bdev_disk_init(NFD,fd), /* 2: floppy diskette */
bdev_notdef(), /* 3 */
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
- bdev_tape_init(NST,st), /* 5: SCSI tape */
+ bdev_notdef(), /* 5: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 6: SCSI CD-ROM */
bdev_notdef(), /* 7 */
bdev_notdef(), /* 8 */
@@ -355,7 +355,7 @@ int chrtoblktbl[] = {
/* 11 */ NODEV,
/* 12 */ NODEV,
/* 13 */ 4, /* sd */
- /* 14 */ 5, /* st */
+ /* 14 */ NODEV,
/* 15 */ 6, /* cd */
/* 16 */ NODEV,
/* 17 */ NODEV,
Index: arch/arm/arm/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/conf.c,v
retrieving revision 1.48
diff -u -p -r1.48 conf.c
--- arch/arm/arm/conf.c 2 Sep 2016 17:06:12 -0000 1.48
+++ arch/arm/arm/conf.c 4 Sep 2016 09:47:52 -0000
@@ -173,7 +173,7 @@ struct bdevsw bdevsw[] = {
bdev_notdef(), /* 22: */
bdev_notdef(), /* 23: */
bdev_disk_init(NSD,sd), /* 24: SCSI disk */
- bdev_tape_init(NST,st), /* 25: SCSI tape */
+ bdev_notdef(), /* 25: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 26: SCSI cdrom */
bdev_notdef(), /* 27: */
bdev_notdef(), /* 28: */
@@ -448,7 +448,7 @@ int chrtoblktbl[] = {
/* 22 */ NODEV,
/* 23 */ NODEV,
/* 24 */ 24, /* sd */
- /* 25 */ 25, /* st */
+ /* 25 */ NODEV,
/* 26 */ 26, /* cd */
};
int nchrtoblktbl = nitems(chrtoblktbl);
Index: arch/hppa/hppa/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/hppa/conf.c,v
retrieving revision 1.65
diff -u -p -r1.65 conf.c
--- arch/hppa/hppa/conf.c 2 Sep 2016 17:06:12 -0000 1.65
+++ arch/hppa/hppa/conf.c 4 Sep 2016 09:47:52 -0000
@@ -65,7 +65,7 @@ struct bdevsw bdevsw[] =
bdev_disk_init(NVND,vnd), /* 2: vnode disk driver */
bdev_disk_init(NRD,rd), /* 3: RAM disk */
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
- bdev_tape_init(NST,st), /* 5: SCSI tape */
+ bdev_notdef(), /* 5: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 6: SCSI CD-ROM */
bdev_disk_init(NFD,fd), /* 7: floppy drive */
bdev_disk_init(NWD,wd), /* 8: ST506 drive */
@@ -215,7 +215,7 @@ int chrtoblktbl[] = {
/* 8 */ 2, /* vnd */
/* 9 */ 3, /* rd */
/* 10 */ 4, /* sd */
- /* 11 */ 5, /* st */
+ /* 11 */ NODEV,
/* 12 */ 6, /* cd */
/* 13 */ NODEV,
/* 14 */ NODEV,
Index: arch/i386/i386/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/conf.c,v
retrieving revision 1.156
diff -u -p -r1.156 conf.c
--- arch/i386/i386/conf.c 2 Sep 2016 17:06:12 -0000 1.156
+++ arch/i386/i386/conf.c 4 Sep 2016 09:47:52 -0000
@@ -60,7 +60,7 @@ struct bdevsw bdevsw[] =
bdev_disk_init(NFD,fd), /* 2: floppy diskette */
bdev_notdef(), /* 3 */
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
- bdev_tape_init(NST,st), /* 5: SCSI tape */
+ bdev_notdef(), /* 5: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 6: SCSI CD-ROM */
bdev_notdef(), /* 7 */
bdev_notdef(), /* 8 */
@@ -347,7 +347,7 @@ int chrtoblktbl[] = {
/* 11 */ NODEV,
/* 12 */ NODEV,
/* 13 */ 4, /* sd */
- /* 14 */ 5, /* st */
+ /* 14 */ NODEV,
/* 15 */ 6, /* cd */
/* 16 */ NODEV,
/* 17 */ NODEV,
Index: arch/landisk/landisk/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/landisk/landisk/conf.c,v
retrieving revision 1.36
diff -u -p -r1.36 conf.c
--- arch/landisk/landisk/conf.c 2 Sep 2016 17:06:12 -0000 1.36
+++ arch/landisk/landisk/conf.c 4 Sep 2016 09:47:52 -0000
@@ -160,7 +160,7 @@ struct bdevsw bdevsw[] = {
bdev_notdef(), /* 22: */
bdev_notdef(), /* 23: */
bdev_disk_init(NSD,sd), /* 24: SCSI disk */
- bdev_tape_init(NST,st), /* 25: SCSI tape */
+ bdev_notdef(), /* 25: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 26: SCSI cdrom */
bdev_notdef(), /* 27: */
bdev_notdef(), /* 28: */
@@ -424,7 +424,7 @@ int chrtoblktbl[] = {
/* 22 */ NODEV,
/* 23 */ NODEV,
/* 24 */ 24, /* sd */
- /* 25 */ 25, /* st */
+ /* 25 */ NODEV,
/* 26 */ 26, /* cd */
};
int nchrtoblktbl = nitems(chrtoblktbl);
Index: arch/loongson/loongson/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/loongson/loongson/conf.c,v
retrieving revision 1.22
diff -u -p -r1.22 conf.c
--- arch/loongson/loongson/conf.c 2 Sep 2016 17:06:12 -0000 1.22
+++ arch/loongson/loongson/conf.c 4 Sep 2016 09:47:52 -0000
@@ -71,7 +71,7 @@ struct bdevsw bdevsw[] =
bdev_notdef(), /* 7: */
bdev_disk_init(NRD,rd), /* 8: RAM disk (for install) */
bdev_notdef(), /* 9: */
- bdev_tape_init(NST,st), /* 10: SCSI tape */
+ bdev_notdef(), /* 10: was: SCSI tape */
bdev_notdef(), /* 11: */
bdev_notdef(), /* 12: */
bdev_notdef(), /* 13: */
@@ -268,7 +268,7 @@ int chrtoblktbl[] = {
/* 7 */ NODEV,
/* 8 */ 3, /* cd */
/* 9 */ 0, /* sd */
- /* 10 */ 10, /* st */
+ /* 10 */ NODEV,
/* 11 */ 2, /* vnd */
/* 12 */ NODEV,
/* 13 */ NODEV,
Index: arch/luna88k/luna88k/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/luna88k/luna88k/conf.c,v
retrieving revision 1.29
diff -u -p -r1.29 conf.c
--- arch/luna88k/luna88k/conf.c 2 Sep 2016 17:06:12 -0000 1.29
+++ arch/luna88k/luna88k/conf.c 4 Sep 2016 09:47:52 -0000
@@ -79,7 +79,7 @@ struct bdevsw bdevsw[] =
bdev_notdef(), /* 2 */
bdev_swap_init(1,sw), /* 3: swap pseudo-device */
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
- bdev_tape_init(NST,st), /* 5: SCSI tape */
+ bdev_notdef(), /* 5: was: SCSI tape */
bdev_disk_init(NCD,cd), /* 6: SCSI CD-ROM */
bdev_disk_init(NRD,rd), /* 7: ramdisk */
bdev_disk_init(NVND,vnd), /* 8: vnode disk driver */
@@ -224,6 +224,5 @@ int chrtoblktbl[] = {
/* 17 */ NODEV,
/* 18 */ 7, /* rd */
/* 19 */ 8, /* vnd */
- /* 20 */ 5, /* st */
};
int nchrtoblktbl = nitems(chrtoblktbl);
Index: arch/macppc/macppc/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/macppc/macppc/conf.c,v
retrieving revision 1.66
diff -u -p -r1.66 conf.c
--- arch/macppc/macppc/conf.c 2 Sep 2016 17:06:12 -0000 1.66
+++ arch/macppc/macppc/conf.c 4 Sep 2016 09:47:52 -0000
@@ -58,7 +58,7 @@ struct bdevsw bdevsw[] = {
bdev_disk_init(NSD,sd), /* 2 SCSI Disk */
bdev_disk_init(NCD,cd), /* 3 SCSI CD-ROM */
bdev_notdef(), /* 4 unknown*/
- bdev_tape_init(NST,st), /* 5 SCSI tape */
+ bdev_notdef(), /* 5 was: SCSI tape */
bdev_notdef(), /* 6 unknown*/
bdev_notdef(), /* 7 unknown*/
bdev_notdef(), /* 8 */
@@ -283,7 +283,6 @@ int chrtoblktbl[] = {
/* 17 */ 17, /* rd */
/* 18 */ NODEV,
/* 19 */ 14, /* vnd */
- /* 20 */ 5, /* st */
};
int nchrtoblktbl = nitems(chrtoblktbl);
Index: arch/octeon/octeon/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/octeon/octeon/conf.c,v
retrieving revision 1.19
diff -u -p -r1.19 conf.c
--- arch/octeon/octeon/conf.c 2 Sep 2016 17:06:12 -0000 1.19
+++ arch/octeon/octeon/conf.c 4 Sep 2016 09:47:52 -0000
@@ -77,7 +77,7 @@ struct bdevsw bdevsw[] =
bdev_notdef(), /* 7: */
bdev_disk_init(NRD,rd), /* 8: RAM disk (for install) */
bdev_notdef(), /* 9: */
- bdev_tape_init(NST,st), /* 10: SCSI tape */
+ bdev_notdef(), /* 10: was: SCSI tape */
bdev_notdef(), /* 11: */
bdev_notdef(), /* 12: */
bdev_notdef(), /* 13: */
@@ -288,7 +288,7 @@ int chrtoblktbl[] = {
/* 7 */ NODEV,
/* 8 */ 3, /* cd */
/* 9 */ 0, /* sd */
- /* 10 */ 10, /* st */
+ /* 10 */ NODEV,
/* 11 */ 2, /* vnd */
/* 12 */ NODEV,
/* 13 */ NODEV,
Index: arch/sgi/sgi/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/sgi/sgi/conf.c,v
retrieving revision 1.38
diff -u -p -r1.38 conf.c
--- arch/sgi/sgi/conf.c 2 Sep 2016 17:06:13 -0000 1.38
+++ arch/sgi/sgi/conf.c 4 Sep 2016 09:47:52 -0000
@@ -71,7 +71,7 @@ struct bdevsw bdevsw[] =
bdev_notdef(), /* 7: */
bdev_disk_init(NRD,rd), /* 8: RAM disk (for install) */
bdev_notdef(), /* 9: */
- bdev_tape_init(NST,st), /* 10: SCSI tape */
+ bdev_notdef(), /* 10: was: SCSI tape */
bdev_notdef(), /* 11: */
bdev_notdef(), /* 12: */
bdev_notdef(), /* 13: */
@@ -269,7 +269,7 @@ int chrtoblktbl[] = {
/* 7 */ NODEV,
/* 8 */ 3, /* cd */
/* 9 */ 0, /* sd */
- /* 10 */ 10, /* st */
+ /* 10 */ NODEV,
/* 11 */ 2, /* vnd */
/* 12 */ NODEV,
/* 13 */ NODEV,
Index: arch/socppc/socppc/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/socppc/socppc/conf.c,v
retrieving revision 1.27
diff -u -p -r1.27 conf.c
--- arch/socppc/socppc/conf.c 2 Sep 2016 17:06:13 -0000 1.27
+++ arch/socppc/socppc/conf.c 4 Sep 2016 09:47:52 -0000
@@ -56,7 +56,7 @@ struct bdevsw bdevsw[] = {
bdev_disk_init(NSD,sd), /* 2 SCSI Disk */
bdev_disk_init(NCD,cd), /* 3 SCSI CD-ROM */
bdev_notdef(), /* 4 unknown*/
- bdev_tape_init(NST,st), /* 5 SCSI tape */
+ bdev_notdef(), /* 5 was: SCSI tape */
bdev_notdef(), /* 6 unknown*/
bdev_notdef(), /* 7 unknown*/
bdev_notdef(), /* 8 */
@@ -261,7 +261,6 @@ int chrtoblktbl[] = {
/* 17 */ 17, /* rd */
/* 18 */ NODEV,
/* 19 */ 14, /* vnd */
- /* 20 */ 5, /* st */
};
int nchrtoblktbl = nitems(chrtoblktbl);
Index: arch/sparc64/sparc64/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/sparc64/conf.c,v
retrieving revision 1.78
diff -u -p -r1.78 conf.c
--- arch/sparc64/sparc64/conf.c 2 Sep 2016 17:06:13 -0000 1.78
+++ arch/sparc64/sparc64/conf.c 4 Sep 2016 09:47:52 -0000
@@ -130,7 +130,7 @@ struct bdevsw bdevsw[] =
bdev_disk_init(NVND,vnd), /* 8: vnode disk driver */
bdev_notdef(), /* 9: was: concatenated disk driver */
bdev_notdef(), /* 10: SMD disk -- not this arch */
- bdev_tape_init(NST,st), /* 11: SCSI tape */
+ bdev_notdef(), /* 11: was: SCSI tape */
bdev_disk_init(NWD,wd), /* 12: IDE disk */
bdev_notdef(), /* 13 */
bdev_notdef(), /* 14 */
@@ -354,7 +354,7 @@ int chrtoblktbl[] = {
/* 15 */ NODEV,
/* 16 */ NODEV,
/* 17 */ 7,
- /* 18 */ 11,
+ /* 18 */ NODEV,
/* 19 */ NODEV,
/* 20 */ NODEV,
/* 21 */ NODEV,
Index: kern/vfs_bio.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_bio.c,v
retrieving revision 1.175
diff -u -p -r1.175 vfs_bio.c
--- kern/vfs_bio.c 7 Jun 2016 01:31:54 -0000 1.175
+++ kern/vfs_bio.c 4 Sep 2016 09:47:53 -0000
@@ -669,14 +669,7 @@ bdwrite(struct buf *bp)
curproc->p_ru.ru_oublock++; /* XXX */
}
- /* If this is a tape block, write the block now. */
- if (major(bp->b_dev) < nblkdev &&
- bdevsw[major(bp->b_dev)].d_type == D_TAPE) {
- bawrite(bp);
- return;
- }
-
- /* Otherwise, the "write" is done, so mark and release the buffer. */
+ /* The "write" is done, so mark and release the buffer. */
CLR(bp->b_flags, B_NEEDCOMMIT);
SET(bp->b_flags, B_DONE);
brelse(bp);
Index: scsi/st.c
===================================================================
RCS file: /cvs/src/sys/scsi/st.c,v
retrieving revision 1.131
diff -u -p -r1.131 st.c
--- scsi/st.c 12 Mar 2016 15:16:04 -0000 1.131
+++ scsi/st.c 4 Sep 2016 09:47:53 -0000
@@ -369,16 +369,13 @@ int
stdetach(struct device *self, int flags)
{
struct st_softc *st = (struct st_softc *)self;
- int bmaj, cmaj, mn;
+ int cmaj, mn;
bufq_drain(&st->sc_bufq);
/* Locate the lowest minor number to be detached. */
mn = STMINOR(self->dv_unit, 0);
- for (bmaj = 0; bmaj < nblkdev; bmaj++)
- if (bdevsw[bmaj].d_open == stopen)
- vdevgone(bmaj, mn, mn + MAXSTMODES - 1, VBLK);
for (cmaj = 0; cmaj < nchrdev; cmaj++)
if (cdevsw[cmaj].d_open == stopen)
vdevgone(cmaj, mn, mn + MAXSTMODES - 1, VCHR);
@@ -2176,12 +2173,4 @@ st_touch_tape(struct st_softc *st)
done:
dma_free(buf, maxblksize);
return (error);
-}
-
-int
-stdump(dev_t dev, daddr_t blkno, caddr_t va, size_t size)
-{
-
- /* Not implemented. */
- return ENXIO;
}
Index: sys/conf.h
===================================================================
RCS file: /cvs/src/sys/sys/conf.h,v
retrieving revision 1.142
diff -u -p -r1.142 conf.h
--- sys/conf.h 2 Sep 2016 17:06:13 -0000 1.142
+++ sys/conf.h 4 Sep 2016 09:47:53 -0000
@@ -55,9 +55,8 @@ struct knote;
/*
* Types for d_type
*/
-#define D_TAPE 1
-#define D_DISK 2
-#define D_TTY 3
+#define D_DISK 1
+#define D_TTY 2
/*
* Flags for d_flags
@@ -116,11 +115,6 @@ extern struct bdevsw bdevsw[];
dev_init(c,n,strategy), dev_init(c,n,ioctl), \
dev_init(c,n,dump), dev_size_init(c,n), D_DISK }
-#define bdev_tape_init(c,n) { \
- dev_init(c,n,open), dev_init(c,n,close), \
- dev_init(c,n,strategy), dev_init(c,n,ioctl), \
- dev_init(c,n,dump), 0, D_TAPE }
-
#define bdev_swap_init(c,n) { \
(dev_type_open((*))) enodev, (dev_type_close((*))) enodev, \
dev_init(c,n,strategy), (dev_type_ioctl((*))) enodev, \
@@ -186,7 +180,7 @@ extern struct cdevsw cdevsw[];
dev_init(c,n,open), dev_init(c,n,close), dev_init(c,n,read), \
dev_init(c,n,write), dev_init(c,n,ioctl), (dev_type_stop((*))) enodev, \
0, seltrue, (dev_type_mmap((*))) enodev, \
- D_TAPE, 0, seltrue_kqfilter }
+ 0, 0, seltrue_kqfilter }
/* open, close, read, write, ioctl, stop, tty */
#define cdev_tty_init(c,n) { \
@@ -563,7 +557,6 @@ cdev_decl(sd);
cdev_decl(ses);
-bdev_decl(st);
cdev_decl(st);
bdev_decl(cd);
--
Christian "naddy" Weisgerber [email protected]