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"); -}