Hi,

The following diff was suggested by mpi@ some months ago.

It replaces spec_badop, fifo_badop, dead_badop and mfs_badop, which
are only calls to panic(9), to one unique function
vop_generic_badop().

No intented behaviour changes (outside the panic message which isn't
the same).

Comments or OK ?
-- 
Sebastien Marie


diff 5dc4728f64d299884a31fd6bf0344fc428f17017 /home/semarie/repos/openbsd/sys
blob - 06ab7114aa889fb2ceca3a3a7105acf017fa4396
file + isofs/cd9660/cd9660_vnops.c
--- isofs/cd9660/cd9660_vnops.c
+++ isofs/cd9660/cd9660_vnops.c
@@ -865,8 +865,8 @@ const struct vops cd9660_specvops = {
 
        /* XXX: Keep in sync with spec_vops. */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = spec_badop,
-       .vop_mknod      = spec_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = spec_open,
        .vop_close      = spec_close,
        .vop_read       = spec_read,
@@ -876,15 +876,15 @@ const struct vops cd9660_specvops = {
        .vop_kqfilter   = spec_kqfilter,
        .vop_revoke     = vop_generic_revoke,
        .vop_fsync      = spec_fsync,
-       .vop_remove     = spec_badop,
-       .vop_link       = spec_badop,
-       .vop_rename     = spec_badop,
-       .vop_mkdir      = spec_badop,
-       .vop_rmdir      = spec_badop,
-       .vop_symlink    = spec_badop,
-       .vop_readdir    = spec_badop,
-       .vop_readlink   = spec_badop,
-       .vop_abortop    = spec_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
        .vop_strategy   = spec_strategy,
        .vop_pathconf   = spec_pathconf,
@@ -907,8 +907,8 @@ const struct vops cd9660_fifovops = {
 
        /* XXX: Keep in sync with fifo_vops. */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = fifo_badop,
-       .vop_mknod      = fifo_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = fifo_open,
        .vop_close      = fifo_close,
        .vop_read       = fifo_read,
@@ -918,17 +918,17 @@ const struct vops cd9660_fifovops = {
        .vop_kqfilter   = fifo_kqfilter,
        .vop_revoke     = vop_generic_revoke,
        .vop_fsync      = nullop,
-       .vop_remove     = fifo_badop,
-       .vop_link       = fifo_badop,
-       .vop_rename     = fifo_badop,
-       .vop_mkdir      = fifo_badop,
-       .vop_rmdir      = fifo_badop,
-       .vop_symlink    = fifo_badop,
-       .vop_readdir    = fifo_badop,
-       .vop_readlink   = fifo_badop,
-       .vop_abortop    = fifo_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
-       .vop_strategy   = fifo_badop,
+       .vop_strategy   = vop_generic_badop,
        .vop_pathconf   = fifo_pathconf,
        .vop_advlock    = fifo_advlock,
 };
blob - 0e0071ce7194dc5ebf5a59b0c6f14224a6b2b55d
file + kern/spec_vnops.c
--- kern/spec_vnops.c
+++ kern/spec_vnops.c
@@ -64,8 +64,8 @@ struct vnodechain speclisth[SPECHSZ];
 
 const struct vops spec_vops = {
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = spec_badop,
-       .vop_mknod      = spec_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = spec_open,
        .vop_close      = spec_close,
        .vop_access     = spec_access,
@@ -78,15 +78,15 @@ const struct vops spec_vops = {
        .vop_kqfilter   = spec_kqfilter,
        .vop_revoke     = vop_generic_revoke,
        .vop_fsync      = spec_fsync,
-       .vop_remove     = spec_badop,
-       .vop_link       = spec_badop,
-       .vop_rename     = spec_badop,
-       .vop_mkdir      = spec_badop,
-       .vop_rmdir      = spec_badop,
-       .vop_symlink    = spec_badop,
-       .vop_readdir    = spec_badop,
-       .vop_readlink   = spec_badop,
-       .vop_abortop    = spec_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_inactive   = spec_inactive,
        .vop_reclaim    = nullop,
        .vop_lock       = vop_generic_lock,
@@ -699,17 +699,6 @@ spec_advlock(void *v)
 }
 
 /*
- * Special device bad operation
- */
-int
-spec_badop(void *v)
-{
-
-       panic("spec_badop called");
-       /* NOTREACHED */
-}
-
-/*
  * Copyright (c) 2006 Pedro Martelletto <pe...@ambientworks.net>
  * Copyright (c) 2006 Thordur Bjornsson <t...@openbsd.org>
  *
blob - 04c815f8be44169a88e7bd80bc746c877dd98dca
file + kern/vfs_default.c
--- kern/vfs_default.c
+++ kern/vfs_default.c
@@ -128,6 +128,12 @@ vop_generic_revoke(void *v)
 }
 
 int
+vop_generic_badop(void *v)
+{
+       panic("%s", __func__);
+}
+
+int
 vop_generic_bmap(void *v)
 {
        struct vop_bmap_args *ap = v;
blob - 8aada87b09e0c495e6de096ccafe85624f90426c
file + miscfs/deadfs/dead_vnops.c
--- miscfs/deadfs/dead_vnops.c
+++ miscfs/deadfs/dead_vnops.c
@@ -45,7 +45,6 @@
 /*
  * Prototypes for dead operations on vnodes.
  */
-int    dead_badop(void *);
 int    dead_ebadf(void *);
 
 int    dead_open(void *);
@@ -64,8 +63,8 @@ int   chkvnlock(struct vnode *);
 
 const struct vops dead_vops = {
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = dead_badop,
-       .vop_mknod      = dead_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = dead_open,
        .vop_close      = nullop,
        .vop_access     = dead_ebadf,
@@ -78,15 +77,15 @@ const struct vops dead_vops = {
        .vop_kqfilter   = dead_kqfilter,
        .vop_revoke     = NULL,
        .vop_fsync      = nullop,
-       .vop_remove     = dead_badop,
-       .vop_link       = dead_badop,
-       .vop_rename     = dead_badop,
-       .vop_mkdir      = dead_badop,
-       .vop_rmdir      = dead_badop,
-       .vop_symlink    = dead_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
        .vop_readdir    = dead_ebadf,
        .vop_readlink   = dead_ebadf,
-       .vop_abortop    = dead_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_inactive   = dead_inactive,
        .vop_reclaim    = nullop,
        .vop_lock       = dead_lock,
@@ -266,17 +265,6 @@ dead_ebadf(void *v)
 }
 
 /*
- * Empty vnode bad operation
- */
-/*ARGSUSED*/
-int
-dead_badop(void *v)
-{
-       panic("dead_badop called");
-       /* NOTREACHED */
-}
-
-/*
  * We have to wait during times when the vnode is
  * in a state of change.
  */
blob - 140563c52f147eb7c61d416235a0aff23dade5a5
file + miscfs/fifofs/fifo.h
--- miscfs/fifofs/fifo.h
+++ miscfs/fifofs/fifo.h
@@ -36,7 +36,6 @@
 /*
  * Prototypes for fifo operations on vnodes.
  */
-int    fifo_badop(void *);
 int    fifo_ebadf(void *);
 
 int    fifo_open(void *);
blob - 5082e96c9d2a9743f2a41c0bb76efe4936861030
file + miscfs/fifofs/fifo_vnops.c
--- miscfs/fifofs/fifo_vnops.c
+++ miscfs/fifofs/fifo_vnops.c
@@ -66,8 +66,8 @@ struct fifoinfo {
 
 const struct vops fifo_vops = {
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = fifo_badop,
-       .vop_mknod      = fifo_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = fifo_open,
        .vop_close      = fifo_close,
        .vop_access     = fifo_ebadf,
@@ -80,21 +80,21 @@ const struct vops fifo_vops = {
        .vop_kqfilter   = fifo_kqfilter,
        .vop_revoke     = vop_generic_revoke,
        .vop_fsync      = nullop,
-       .vop_remove     = fifo_badop,
-       .vop_link       = fifo_badop,
-       .vop_rename     = fifo_badop,
-       .vop_mkdir      = fifo_badop,
-       .vop_rmdir      = fifo_badop,
-       .vop_symlink    = fifo_badop,
-       .vop_readdir    = fifo_badop,
-       .vop_readlink   = fifo_badop,
-       .vop_abortop    = fifo_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_inactive   = fifo_inactive,
        .vop_reclaim    = fifo_reclaim,
        .vop_lock       = vop_generic_lock,
        .vop_unlock     = vop_generic_unlock,
        .vop_bmap       = vop_generic_bmap,
-       .vop_strategy   = fifo_badop,
+       .vop_strategy   = vop_generic_badop,
        .vop_print      = fifo_print,
        .vop_islocked   = vop_generic_islocked,
        .vop_pathconf   = fifo_pathconf,
@@ -499,21 +499,7 @@ fifo_advlock(void *v)
        return (EOPNOTSUPP);
 }
 
-/*
- * Fifo bad operation
- */
-/*ARGSUSED*/
 int
-fifo_badop(void *v)
-{
-
-       panic("fifo_badop called");
-       /* NOTREACHED */
-       return(0);
-}
-
-
-int
 fifo_kqfilter(void *v)
 {
        struct vop_kqfilter_args *ap = v;
blob - 6e0362c0755f7c508281a80f3a3323471b969807
file + nfs/nfs_vnops.c
--- nfs/nfs_vnops.c
+++ nfs/nfs_vnops.c
@@ -193,22 +193,22 @@ const struct vops nfs_specvops = {
 
        /* XXX: Keep in sync with spec_vops. */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = spec_badop,
-       .vop_mknod      = spec_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = spec_open,
        .vop_ioctl      = spec_ioctl,
        .vop_poll       = spec_poll,
        .vop_kqfilter   = spec_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = spec_badop,
-       .vop_link       = spec_badop,
-       .vop_rename     = spec_badop,
-       .vop_mkdir      = spec_badop,
-       .vop_rmdir      = spec_badop,
-       .vop_symlink    = spec_badop,
-       .vop_readdir    = spec_badop,
-       .vop_readlink   = spec_badop,
-       .vop_abortop    = spec_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
        .vop_strategy   = spec_strategy,
        .vop_pathconf   = spec_pathconf,
@@ -235,24 +235,24 @@ const struct vops nfs_fifovops = {
 
        /* XXX: Keep in sync with fifo_vops. */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = fifo_badop,
-       .vop_mknod      = fifo_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = fifo_open,
        .vop_ioctl      = fifo_ioctl,
        .vop_poll       = fifo_poll,
        .vop_kqfilter   = fifo_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = fifo_badop,
-       .vop_link       = fifo_badop,
-       .vop_rename     = fifo_badop,
-       .vop_mkdir      = fifo_badop,
-       .vop_rmdir      = fifo_badop,
-       .vop_symlink    = fifo_badop,
-       .vop_readdir    = fifo_badop,
-       .vop_readlink   = fifo_badop,
-       .vop_abortop    = fifo_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
-       .vop_strategy   = fifo_badop,
+       .vop_strategy   = vop_generic_badop,
        .vop_pathconf   = fifo_pathconf,
        .vop_advlock    = fifo_advlock,
 };
blob - 2570b20ba8175a04c89de0deefcbfa4703c48487
file + sys/specdev.h
--- sys/specdev.h
+++ sys/specdev.h
@@ -92,7 +92,6 @@ extern struct vnodechain speclisth[SPECHSZ];
 /*
  * Prototypes for special file operations on vnodes.
  */
-int    spec_badop(void *);
 int    spec_getattr(void *);
 int    spec_setattr(void *);
 int    spec_access(void *);
blob - 8a9dce55bb7f4b473602e39ceafd478df0d5f274
file + sys/vnode.h
--- sys/vnode.h
+++ sys/vnode.h
@@ -628,6 +628,7 @@ int vfs_getcwd_getcache(struct vnode **, struct vnode 
 
 /* vfs_default.c */
 int    vop_generic_abortop(void *);
+int    vop_generic_badop(void *);
 int    vop_generic_bmap(void *);
 int    vop_generic_bwrite(void *);
 int    vop_generic_islocked(void *);
blob - 0fa47f587e632183ad3df4bd857ed6b34e7fc6ac
file + tmpfs/tmpfs_fifoops.c
--- tmpfs/tmpfs_fifoops.c
+++ tmpfs/tmpfs_fifoops.c
@@ -54,8 +54,8 @@ int   tmpfs_fifo_fsync        (void *);
 
 const struct vops tmpfs_fifovops = {
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = fifo_badop,
-       .vop_mknod      = fifo_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = fifo_open,
        .vop_close      = fifo_close,
        .vop_access     = tmpfs_access,
@@ -68,21 +68,21 @@ const struct vops tmpfs_fifovops = {
        .vop_kqfilter   = fifo_kqfilter,
        .vop_revoke     = vop_generic_revoke,
        .vop_fsync      = tmpfs_fifo_fsync,
-       .vop_remove     = fifo_badop,
-       .vop_link       = fifo_badop,
-       .vop_rename     = fifo_badop,
-       .vop_mkdir      = fifo_badop,
-       .vop_rmdir      = fifo_badop,
-       .vop_symlink    = fifo_badop,
-       .vop_readdir    = fifo_badop,
-       .vop_readlink   = fifo_badop,
-       .vop_abortop    = fifo_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_inactive   = tmpfs_inactive,
        .vop_reclaim    = tmpfs_reclaim,
        .vop_lock       = tmpfs_lock,
        .vop_unlock     = tmpfs_unlock,
        .vop_bmap       = vop_generic_bmap,
-       .vop_strategy   = fifo_badop,
+       .vop_strategy   = vop_generic_badop,
        .vop_print      = tmpfs_print,
        .vop_islocked   = tmpfs_islocked,
        .vop_pathconf   = fifo_pathconf,
blob - c4822494ee864e11e01f347e4c708d177c84e22e
file + tmpfs/tmpfs_specops.c
--- tmpfs/tmpfs_specops.c
+++ tmpfs/tmpfs_specops.c
@@ -67,22 +67,22 @@ const struct vops tmpfs_specvops = {
 
        /* keep in sync with spec_vops */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = spec_badop,
-       .vop_mknod      = spec_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = spec_open,
        .vop_ioctl      = spec_ioctl,
        .vop_poll       = spec_poll,
        .vop_kqfilter   = spec_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = spec_badop,
-       .vop_link       = spec_badop,
-       .vop_rename     = spec_badop,
-       .vop_mkdir      = spec_badop,
-       .vop_rmdir      = spec_badop,
-       .vop_symlink    = spec_badop,
-       .vop_readdir    = spec_badop,
-       .vop_readlink   = spec_badop,
-       .vop_abortop    = spec_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
        .vop_strategy   = spec_strategy,
        .vop_pathconf   = spec_pathconf,
blob - be659eb7f14b0750b236b151ad1b93bc42020f40
file + ufs/ext2fs/ext2fs_vnops.c
--- ufs/ext2fs/ext2fs_vnops.c
+++ ufs/ext2fs/ext2fs_vnops.c
@@ -1321,22 +1321,22 @@ const struct vops ext2fs_specvops = {
 
         /* XXX: Keep in sync with spec_vops. */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = spec_badop,
-       .vop_mknod      = spec_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = spec_open,
        .vop_ioctl      = spec_ioctl,
        .vop_poll       = spec_poll,
        .vop_kqfilter   = spec_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = spec_badop,
-       .vop_link       = spec_badop,
-       .vop_rename     = spec_badop,
-       .vop_mkdir      = spec_badop,
-       .vop_rmdir      = spec_badop,
-       .vop_symlink    = spec_badop,
-       .vop_readdir    = spec_badop,
-       .vop_readlink   = spec_badop,
-       .vop_abortop    = spec_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
        .vop_strategy   = spec_strategy,
        .vop_pathconf   = spec_pathconf,
@@ -1363,24 +1363,24 @@ const struct vops ext2fs_fifovops = {
 
         /* XXX: Keep in sync with fifo_vops */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = fifo_badop,
-       .vop_mknod      = fifo_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = fifo_open,
        .vop_ioctl      = fifo_ioctl,
        .vop_poll       = fifo_poll,
        .vop_kqfilter   = fifo_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = fifo_badop,
-       .vop_link       = fifo_badop,
-       .vop_rename     = fifo_badop,
-       .vop_mkdir      = fifo_badop,
-       .vop_rmdir      = fifo_badop,
-       .vop_symlink    = fifo_badop,
-       .vop_readdir    = fifo_badop,
-       .vop_readlink   = fifo_badop,
-       .vop_abortop    = fifo_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
-       .vop_strategy   = fifo_badop,
+       .vop_strategy   = vop_generic_badop,
        .vop_pathconf   = fifo_pathconf,
        .vop_advlock    = fifo_advlock,
 };
blob - 82bde4d42561f60d363c9a1a6cbcf0742374e562
file + ufs/ffs/ffs_vnops.c
--- ufs/ffs/ffs_vnops.c
+++ ufs/ffs/ffs_vnops.c
@@ -112,22 +112,22 @@ const struct vops ffs_specvops = {
 
        /* XXX: Keep in sync with spec_vops */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = spec_badop,
-       .vop_mknod      = spec_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = spec_open,
        .vop_ioctl      = spec_ioctl,
        .vop_poll       = spec_poll,
        .vop_kqfilter   = spec_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = spec_badop,
-       .vop_link       = spec_badop,
-       .vop_rename     = spec_badop,
-       .vop_mkdir      = spec_badop,
-       .vop_rmdir      = spec_badop,
-       .vop_symlink    = spec_badop,
-       .vop_readdir    = spec_badop,
-       .vop_readlink   = spec_badop,
-       .vop_abortop    = spec_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
        .vop_strategy   = spec_strategy,
        .vop_pathconf   = spec_pathconf,
@@ -154,24 +154,24 @@ const struct vops ffs_fifovops = {
 
        /* XXX: Keep in sync with fifo_vops */
        .vop_lookup     = vop_generic_lookup,
-       .vop_create     = fifo_badop,
-       .vop_mknod      = fifo_badop,
+       .vop_create     = vop_generic_badop,
+       .vop_mknod      = vop_generic_badop,
        .vop_open       = fifo_open,
        .vop_ioctl      = fifo_ioctl,
        .vop_poll       = fifo_poll,
        .vop_kqfilter   = fifo_kqfilter,
        .vop_revoke     = vop_generic_revoke,
-       .vop_remove     = fifo_badop,
-       .vop_link       = fifo_badop,
-       .vop_rename     = fifo_badop,
-       .vop_mkdir      = fifo_badop,
-       .vop_rmdir      = fifo_badop,
-       .vop_symlink    = fifo_badop,
-       .vop_readdir    = fifo_badop,
-       .vop_readlink   = fifo_badop,
-       .vop_abortop    = fifo_badop,
+       .vop_remove     = vop_generic_badop,
+       .vop_link       = vop_generic_badop,
+       .vop_rename     = vop_generic_badop,
+       .vop_mkdir      = vop_generic_badop,
+       .vop_rmdir      = vop_generic_badop,
+       .vop_symlink    = vop_generic_badop,
+       .vop_readdir    = vop_generic_badop,
+       .vop_readlink   = vop_generic_badop,
+       .vop_abortop    = vop_generic_badop,
        .vop_bmap       = vop_generic_bmap,
-       .vop_strategy   = fifo_badop,
+       .vop_strategy   = vop_generic_badop,
        .vop_pathconf   = fifo_pathconf,
        .vop_advlock    = fifo_advlock
 };
blob - bce3f7b0450f8dcad3a9a12f290952ae6582b814
file + ufs/mfs/mfs_extern.h
--- ufs/mfs/mfs_extern.h
+++ ufs/mfs/mfs_extern.h
@@ -61,5 +61,4 @@ int mfs_close(void *);
 int mfs_inactive(void *);
 int mfs_reclaim(void *);
 int mfs_print(void *);
-int mfs_badop(void *);
 
blob - 0589b17282975bae6be693892245d0ecca1ee05e
file + ufs/mfs/mfs_vnops.c
--- ufs/mfs/mfs_vnops.c
+++ ufs/mfs/mfs_vnops.c
@@ -48,30 +48,30 @@
 
 /* mfs vnode operations. */
 const struct vops mfs_vops = {
-        .vop_lookup     = mfs_badop,
-        .vop_create     = mfs_badop,
-        .vop_mknod      = mfs_badop,
+        .vop_lookup     = vop_generic_badop,
+        .vop_create     = vop_generic_badop,
+        .vop_mknod      = vop_generic_badop,
         .vop_open       = mfs_open,
         .vop_close      = mfs_close,
-        .vop_access     = mfs_badop,
-        .vop_getattr    = mfs_badop,
-        .vop_setattr    = mfs_badop,
-        .vop_read       = mfs_badop,
-        .vop_write      = mfs_badop,
+        .vop_access     = vop_generic_badop,
+        .vop_getattr    = vop_generic_badop,
+        .vop_setattr    = vop_generic_badop,
+        .vop_read       = vop_generic_badop,
+        .vop_write      = vop_generic_badop,
         .vop_ioctl      = mfs_ioctl,
-        .vop_poll       = mfs_badop,
-        .vop_kqfilter   = mfs_badop,
+        .vop_poll       = vop_generic_badop,
+        .vop_kqfilter   = vop_generic_badop,
         .vop_revoke     = vop_generic_revoke,
         .vop_fsync      = spec_fsync,
-        .vop_remove     = mfs_badop,
-        .vop_link       = mfs_badop,
-        .vop_rename     = mfs_badop,
-        .vop_mkdir      = mfs_badop,
-        .vop_rmdir      = mfs_badop,
-        .vop_symlink    = mfs_badop,
-        .vop_readdir    = mfs_badop,
-        .vop_readlink   = mfs_badop,
-        .vop_abortop    = mfs_badop,
+        .vop_remove     = vop_generic_badop,
+        .vop_link       = vop_generic_badop,
+        .vop_rename     = vop_generic_badop,
+        .vop_mkdir      = vop_generic_badop,
+        .vop_rmdir      = vop_generic_badop,
+        .vop_symlink    = vop_generic_badop,
+        .vop_readdir    = vop_generic_badop,
+        .vop_readlink   = vop_generic_badop,
+        .vop_abortop    = vop_generic_badop,
         .vop_inactive   = mfs_inactive,
         .vop_reclaim    = mfs_reclaim,
         .vop_lock       = vop_generic_lock,
@@ -80,8 +80,8 @@ const struct vops mfs_vops = {
         .vop_strategy   = mfs_strategy,
         .vop_print      = mfs_print,
         .vop_islocked   = vop_generic_islocked,
-        .vop_pathconf   = mfs_badop,
-        .vop_advlock    = mfs_badop,
+        .vop_pathconf   = vop_generic_badop,
+        .vop_advlock    = vop_generic_badop,
         .vop_bwrite     = vop_generic_bwrite
 };
 
@@ -258,12 +258,3 @@ mfs_print(void *v)
            mfsp->mfs_baseoff, mfsp->mfs_size);
        return (0);
 }
-
-/*
- * Block device bad operation
- */
-int
-mfs_badop(void *v)
-{
-       panic("mfs_badop called");
-}

Reply via email to