diff options
author | 2011-07-04 20:35:34 +0000 | |
---|---|---|
committer | 2011-07-04 20:35:34 +0000 | |
commit | 544451c3960bb24421c632fa5dfc8d4155fd076a (patch) | |
tree | ca1fd9074ba9268ec361d8586a138aee73f9be82 | |
parent | Make stdout line buffered. (diff) | |
download | wireguard-openbsd-544451c3960bb24421c632fa5dfc8d4155fd076a.tar.xz wireguard-openbsd-544451c3960bb24421c632fa5dfc8d4155fd076a.zip |
move the specfs code to a place people can see it; ok guenther thib krw
41 files changed, 71 insertions, 959 deletions
diff --git a/lib/libkvm/kvm_file2.c b/lib/libkvm/kvm_file2.c index c7dc886f93e..e8778dff547 100644 --- a/lib/libkvm/kvm_file2.c +++ b/lib/libkvm/kvm_file2.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kvm_file2.c,v 1.16 2010/07/17 19:27:07 guenther Exp $ */ +/* $OpenBSD: kvm_file2.c,v 1.17 2011/07/04 20:35:35 deraadt Exp $ */ /* * Copyright (c) 2009 Todd C. Miller <Todd.Miller@courtesan.com> @@ -75,6 +75,7 @@ #include <sys/pipe.h> #include <sys/stat.h> #include <sys/sysctl.h> +#include <sys/specdev.h> #define _KERNEL #include <ufs/ufs/quota.h> @@ -93,8 +94,6 @@ #include <msdosfs/denode.h> #include <msdosfs/msdosfsmount.h> -#include <miscfs/specfs/specdev.h> - #include <net/route.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/lib/libkvm/kvm_udf.c b/lib/libkvm/kvm_udf.c index bbc33c0009b..85fcdc4d69b 100644 --- a/lib/libkvm/kvm_udf.c +++ b/lib/libkvm/kvm_udf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kvm_udf.c,v 1.3 2009/10/27 23:59:28 deraadt Exp $ */ +/* $OpenBSD: kvm_udf.c,v 1.4 2011/07/04 20:35:35 deraadt Exp $ */ /* * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org> @@ -33,13 +33,12 @@ #undef _KERNEL #include <sys/vnode.h> #include <sys/sysctl.h> +#include <sys/specdev.h> #include <isofs/udf/ecma167-udf.h> #include <isofs/udf/udf.h> #include <isofs/udf/udf_extern.h> -#include <miscfs/specfs/specdev.h> - #include <stdint.h> #include <limits.h> #include <kvm.h> diff --git a/sys/compat/common/vm_43.c b/sys/compat/common/vm_43.c index f0bad67b2da..58b26933060 100644 --- a/sys/compat/common/vm_43.c +++ b/sys/compat/common/vm_43.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vm_43.c,v 1.5 2003/06/02 23:27:59 millert Exp $ */ +/* $OpenBSD: vm_43.c,v 1.6 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: vm_43.c,v 1.1 1996/02/05 01:58:29 christos Exp $ */ /* @@ -52,12 +52,11 @@ #include <sys/file.h> #include <sys/mman.h> #include <sys/conf.h> +#include <sys/specdev.h> #include <sys/mount.h> #include <sys/syscallargs.h> -#include <miscfs/specfs/specdev.h> - #include <uvm/uvm_extern.h> /* ARGSUSED */ diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c index 22327acbd4b..c5d64488cf4 100644 --- a/sys/compat/svr4/svr4_misc.c +++ b/sys/compat/svr4/svr4_misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: svr4_misc.c,v 1.56 2010/12/15 04:59:52 tedu Exp $ */ +/* $OpenBSD: svr4_misc.c,v 1.57 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: svr4_misc.c,v 1.42 1996/12/06 03:22:34 christos Exp $ */ /* @@ -68,12 +68,11 @@ #include <sys/msg.h> #include <sys/ptrace.h> #include <sys/signalvar.h> +#include <sys/specdev.h> #include <netinet/in.h> #include <sys/syscallargs.h> -#include <miscfs/specfs/specdev.h> - #include <compat/svr4/svr4_types.h> #include <compat/svr4/svr4_signal.h> #include <compat/svr4/svr4_syscallargs.h> diff --git a/sys/dev/vnd.c b/sys/dev/vnd.c index ac98a693eca..e71d9d7850a 100644 --- a/sys/dev/vnd.c +++ b/sys/dev/vnd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vnd.c,v 1.136 2011/07/03 18:08:14 matthew Exp $ */ +/* $OpenBSD: vnd.c,v 1.137 2011/07/04 20:35:34 deraadt Exp $ */ /* $NetBSD: vnd.c,v 1.26 1996/03/30 23:06:11 christos Exp $ */ /* @@ -64,11 +64,10 @@ #include <sys/uio.h> #include <sys/conf.h> #include <sys/dkio.h> +#include <sys/specdev.h> #include <crypto/blf.h> -#include <miscfs/specfs/specdev.h> - #include <dev/vndioctl.h> #ifdef VNDDEBUG diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c index c5b77a1ecdd..5d4434860f7 100644 --- a/sys/isofs/cd9660/cd9660_vfsops.c +++ b/sys/isofs/cd9660/cd9660_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cd9660_vfsops.c,v 1.59 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: cd9660_vfsops.c,v 1.60 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: cd9660_vfsops.c,v 1.26 1997/06/13 15:38:58 pk Exp $ */ /*- @@ -43,7 +43,7 @@ #include <sys/proc.h> #include <sys/kernel.h> #include <sys/vnode.h> -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <sys/mount.h> #include <sys/buf.h> #include <sys/file.h> diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c index 43e3a37f2cc..3bd067e774a 100644 --- a/sys/isofs/cd9660/cd9660_vnops.c +++ b/sys/isofs/cd9660/cd9660_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cd9660_vnops.c,v 1.54 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: cd9660_vnops.c,v 1.55 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: cd9660_vnops.c,v 1.42 1997/10/16 23:56:57 christos Exp $ */ /*- @@ -56,9 +56,9 @@ #include <sys/ioccom.h> #include <sys/cdio.h> #include <sys/poll.h> +#include <sys/specdev.h> #include <miscfs/fifofs/fifo.h> -#include <miscfs/specfs/specdev.h> #include <isofs/cd9660/iso.h> #include <isofs/cd9660/cd9660_extern.h> diff --git a/sys/isofs/udf/udf_vfsops.c b/sys/isofs/udf/udf_vfsops.c index e48b4b1318e..5e13fb6a772 100644 --- a/sys/isofs/udf/udf_vfsops.c +++ b/sys/isofs/udf/udf_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udf_vfsops.c,v 1.37 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: udf_vfsops.c,v 1.38 2011/07/04 20:35:35 deraadt Exp $ */ /* * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org> @@ -65,8 +65,7 @@ #include <sys/queue.h> #include <sys/vnode.h> #include <sys/endian.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <isofs/udf/ecma167-udf.h> #include <isofs/udf/udf.h> diff --git a/sys/isofs/udf/udf_vnops.c b/sys/isofs/udf/udf_vnops.c index 4ee30e5b07b..bc1094c5bd2 100644 --- a/sys/isofs/udf/udf_vnops.c +++ b/sys/isofs/udf/udf_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udf_vnops.c,v 1.43 2011/04/05 14:14:07 thib Exp $ */ +/* $OpenBSD: udf_vnops.c,v 1.44 2011/07/04 20:35:35 deraadt Exp $ */ /* * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org> @@ -48,8 +48,7 @@ #include <sys/queue.h> #include <sys/unistd.h> #include <sys/endian.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <isofs/udf/ecma167-udf.h> #include <isofs/udf/udf.h> diff --git a/sys/kern/Makefile b/sys/kern/Makefile index 184b2121524..9c018ee3655 100644 --- a/sys/kern/Makefile +++ b/sys/kern/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.29 2011/04/05 18:51:25 thib Exp $ +# $OpenBSD: Makefile,v 1.30 2011/07/04 20:35:35 deraadt Exp $ # Makefile for kernel tags files, init_sysent, etc. @@ -36,8 +36,7 @@ DGEN= compat compat/common \ kern \ lib/libkern lib/libkern/arch/${MACHINE} \ lib/libkern/arch/${MACHINE_ARCH} \ - miscfs miscfs/deadfs miscfs/fifofs \ - miscfs/procfs miscfs/specfs \ + miscfs miscfs/deadfs miscfs/fifofs miscfs/procfs \ msdosfs \ net netinet netmpls \ nfs \ diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index d156c698732..5635b115d4b 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -1,4 +1,4 @@ -/* $OpenBSD: init_sysent.c,v 1.119 2011/06/30 13:44:15 tedu Exp $ */ +/* $OpenBSD: init_sysent.c,v 1.120 2011/07/04 20:35:35 deraadt Exp $ */ /* * System call switch table. diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c index 97fec230aaa..ab43bbb6af7 100644 --- a/sys/kern/syscalls.c +++ b/sys/kern/syscalls.c @@ -1,4 +1,4 @@ -/* $OpenBSD: syscalls.c,v 1.120 2011/06/30 13:44:15 tedu Exp $ */ +/* $OpenBSD: syscalls.c,v 1.121 2011/07/04 20:35:35 deraadt Exp $ */ /* * System call names. diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 6a6b1734dcc..9985e1b9a39 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_bio.c,v 1.131 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: vfs_bio.c,v 1.132 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: vfs_bio.c,v 1.44 1996/06/11 11:15:36 pk Exp $ */ /* @@ -56,11 +56,10 @@ #include <sys/resourcevar.h> #include <sys/conf.h> #include <sys/kernel.h> +#include <sys/specdev.h> #include <uvm/uvm_extern.h> -#include <miscfs/specfs/specdev.h> - /* * Definitions for the buffer free lists. */ diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index f43f3f90fd6..b3e79470238 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_default.c,v 1.38 2011/07/02 22:20:08 nicm Exp $ */ +/* $OpenBSD: vfs_default.c,v 1.39 2011/07/04 20:35:35 deraadt Exp $ */ /* * Portions of this code are: @@ -45,7 +45,7 @@ #include <sys/malloc.h> #include <sys/pool.h> #include <sys/event.h> -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> int filt_generic_readwrite(struct knote *, long); void filt_generic_detach(struct knote *); diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 411acce3010..5c6c435ff61 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_subr.c,v 1.194 2011/07/02 15:52:25 thib Exp $ */ +/* $OpenBSD: vfs_subr.c,v 1.195 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */ /* @@ -60,12 +60,11 @@ #include <sys/syscallargs.h> #include <sys/pool.h> #include <sys/tree.h> +#include <sys/specdev.h> #include <uvm/uvm_extern.h> #include <sys/sysctl.h> -#include <miscfs/specfs/specdev.h> - enum vtype iftovt_tab[16] = { VNON, VFIFO, VCHR, VNON, VDIR, VNON, VBLK, VNON, VREG, VNON, VLNK, VNON, VSOCK, VNON, VNON, VBAD, diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index d92dd347348..c5f7d4c4dc8 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_vnops.c,v 1.65 2010/07/26 01:56:27 guenther Exp $ */ +/* $OpenBSD: vfs_vnops.c,v 1.66 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: vfs_vnops.c,v 1.20 1996/02/04 02:18:41 christos Exp $ */ /* @@ -53,9 +53,9 @@ #include <sys/cdio.h> #include <sys/poll.h> #include <sys/filedesc.h> +#include <sys/specdev.h> #include <uvm/uvm_extern.h> -#include <miscfs/specfs/specdev.h> int vn_read(struct file *, off_t *, struct uio *, struct ucred *); int vn_write(struct file *, off_t *, struct uio *, struct ucred *); diff --git a/sys/miscfs/specfs/spec_subr.c b/sys/miscfs/specfs/spec_subr.c deleted file mode 100644 index 2077afe0b35..00000000000 --- a/sys/miscfs/specfs/spec_subr.c +++ /dev/null @@ -1,99 +0,0 @@ -/* $OpenBSD: spec_subr.c,v 1.4 2008/04/08 14:46:45 thib Exp $ */ - -/* - * Copyright (c) 2006 Pedro Martelletto <pedro@ambientworks.net> - * Copyright (c) 2006 Thordur Bjornsson <thib@openbsd.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include <sys/param.h> -#include <sys/vnode.h> -#include <sys/malloc.h> -#include <sys/conf.h> -#include <sys/stat.h> - -#include <miscfs/specfs/specdev.h> - -#ifdef CLONE_DEBUG -#define DNPRINTF(m...) do { printf(m); } while (0) -#else -#define DNPRINTF(m...) /* nothing */ -#endif - -int -spec_open_clone(struct vop_open_args *ap) -{ - struct vnode *cvp, *vp = ap->a_vp; - struct cloneinfo *cip; - int error, i; - - DNPRINTF("cloning vnode\n"); - - for (i = 1; i < sizeof(vp->v_specbitmap) * NBBY; i++) - if (isclr(vp->v_specbitmap, i)) { - setbit(vp->v_specbitmap, i); - break; - } - - if (i == sizeof(vp->v_specbitmap) * NBBY) - return (EBUSY); /* too many open instances */ - - error = cdevvp(makedev(major(vp->v_rdev), i), &cvp); - if (error) - return (error); /* out of vnodes */ - - VOP_UNLOCK(vp, 0, ap->a_p); - - error = cdevsw[major(vp->v_rdev)].d_open(cvp->v_rdev, ap->a_mode, - S_IFCHR, ap->a_p); - - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, ap->a_p); - - if (error) { - clrbit(vp->v_specbitmap, i); - return (error); /* device open failed */ - } - - cvp->v_flag |= VCLONE; - - cip = malloc(sizeof(struct cloneinfo), M_TEMP, M_WAITOK); - cip->ci_data = vp->v_data; - cip->ci_vp = cvp; - - cvp->v_specparent = vp; - vp->v_flag |= VCLONED; - vp->v_data = cip; - - DNPRINTF("clone of vnode %p is vnode %p\n", vp, cvp); - - return (0); /* device cloned */ -} - -int -spec_close_clone(struct vop_close_args *ap) -{ - struct vnode *pvp, *vp = ap->a_vp; - int error; - - error = cdevsw[major(vp->v_rdev)].d_close(vp->v_rdev, ap->a_fflag, - S_IFCHR, ap->a_p); - if (error) - return (error); /* device close failed */ - - pvp = vp->v_specparent; /* get parent device */ - clrbit(pvp->v_specbitmap, minor(vp->v_rdev)); - vrele(pvp); - - return (0); /* clone closed */ -} diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c deleted file mode 100644 index faae895fb1f..00000000000 --- a/sys/miscfs/specfs/spec_vnops.c +++ /dev/null @@ -1,654 +0,0 @@ -/* $OpenBSD: spec_vnops.c,v 1.65 2011/07/04 17:12:53 nicm Exp $ */ -/* $NetBSD: spec_vnops.c,v 1.29 1996/04/22 01:42:38 christos Exp $ */ - -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)spec_vnops.c 8.8 (Berkeley) 11/21/94 - */ - -#include <sys/param.h> -#include <sys/proc.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/conf.h> -#include <sys/buf.h> -#include <sys/mount.h> -#include <sys/namei.h> -#include <sys/vnode.h> -#include <sys/stat.h> -#include <sys/errno.h> -#include <sys/ioctl.h> -#include <sys/file.h> -#include <sys/disklabel.h> -#include <sys/lockf.h> -#include <sys/poll.h> -#include <sys/dkio.h> - -#include <miscfs/specfs/specdev.h> - -#define v_lastr v_specinfo->si_lastr - -struct vnode *speclisth[SPECHSZ]; - -struct vops spec_vops = { - .vop_lookup = vop_generic_lookup, - .vop_create = spec_badop, - .vop_mknod = spec_badop, - .vop_open = spec_open, - .vop_close = spec_close, - .vop_access = spec_access, - .vop_getattr = spec_getattr, - .vop_setattr = spec_setattr, - .vop_read = spec_read, - .vop_write = spec_write, - .vop_ioctl = spec_ioctl, - .vop_poll = spec_poll, - .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_inactive = spec_inactive, - .vop_reclaim = nullop, - .vop_lock = vop_generic_lock, - .vop_unlock = vop_generic_unlock, - .vop_islocked = vop_generic_islocked, - .vop_bmap = vop_generic_bmap, - .vop_strategy = spec_strategy, - .vop_print = spec_print, - .vop_pathconf = spec_pathconf, - .vop_advlock = spec_advlock, - .vop_bwrite = vop_generic_bwrite, -}; - -/* - * Open a special file. - */ -int -spec_open(void *v) -{ - struct vop_open_args *ap = v; - struct proc *p = ap->a_p; - struct vnode *vp = ap->a_vp; - struct vnode *bvp; - dev_t bdev; - dev_t dev = (dev_t)vp->v_rdev; - int maj = major(dev); - int error; - - /* - * Don't allow open if fs is mounted -nodev. - */ - if (vp->v_mount && (vp->v_mount->mnt_flag & MNT_NODEV)) - return (ENXIO); - - switch (vp->v_type) { - - case VCHR: - if ((u_int)maj >= nchrdev) - return (ENXIO); - if (ap->a_cred != FSCRED && (ap->a_mode & FWRITE)) { - /* - * When running in very secure mode, do not allow - * opens for writing of any disk character devices. - */ - if (securelevel >= 2 && cdevsw[maj].d_type == D_DISK) - return (EPERM); - /* - * When running in secure mode, do not allow opens - * for writing of /dev/mem, /dev/kmem, or character - * devices whose corresponding block devices are - * currently mounted. - */ - if (securelevel >= 1) { - if ((bdev = chrtoblk(dev)) != NODEV && - vfinddev(bdev, VBLK, &bvp) && - bvp->v_usecount > 0 && - (error = vfs_mountedon(bvp))) - return (error); - if (iskmemdev(dev)) - return (EPERM); - } - } - if (cdevsw[maj].d_type == D_TTY) - vp->v_flag |= VISTTY; - if (cdevsw[maj].d_flags & D_CLONE) - return (spec_open_clone(ap)); - VOP_UNLOCK(vp, 0, p); - error = (*cdevsw[maj].d_open)(dev, ap->a_mode, S_IFCHR, ap->a_p); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); - return (error); - - case VBLK: - if ((u_int)maj >= nblkdev) - return (ENXIO); - /* - * When running in very secure mode, do not allow - * opens for writing of any disk block devices. - */ - if (securelevel >= 2 && ap->a_cred != FSCRED && - (ap->a_mode & FWRITE) && bdevsw[maj].d_type == D_DISK) - return (EPERM); - /* - * Do not allow opens of block devices that are - * currently mounted. - */ - if ((error = vfs_mountedon(vp)) != 0) - return (error); - return ((*bdevsw[maj].d_open)(dev, ap->a_mode, S_IFBLK, ap->a_p)); - case VNON: - case VLNK: - case VDIR: - case VREG: - case VBAD: - case VFIFO: - case VSOCK: - break; - } - return (0); -} - -/* - * Vnode op for read - */ -int -spec_read(void *v) -{ - struct vop_read_args *ap = v; - struct vnode *vp = ap->a_vp; - struct uio *uio = ap->a_uio; - struct proc *p = uio->uio_procp; - struct buf *bp; - daddr64_t bn, nextbn, bscale; - int bsize; - struct partinfo dpart; - int n, on, majordev; - int (*ioctl)(dev_t, u_long, caddr_t, int, struct proc *); - int error = 0; - -#ifdef DIAGNOSTIC - if (uio->uio_rw != UIO_READ) - panic("spec_read mode"); - if (uio->uio_segflg == UIO_USERSPACE && uio->uio_procp != curproc) - panic("spec_read proc"); -#endif - if (uio->uio_resid == 0) - return (0); - - switch (vp->v_type) { - - case VCHR: - VOP_UNLOCK(vp, 0, p); - error = (*cdevsw[major(vp->v_rdev)].d_read) - (vp->v_rdev, uio, ap->a_ioflag); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); - return (error); - - case VBLK: - if (uio->uio_offset < 0) - return (EINVAL); - bsize = BLKDEV_IOSIZE; - if ((majordev = major(vp->v_rdev)) < nblkdev && - (ioctl = bdevsw[majordev].d_ioctl) != NULL && - (*ioctl)(vp->v_rdev, DIOCGPART, (caddr_t)&dpart, FREAD, p) == 0) { - u_int32_t frag = - DISKLABELV1_FFS_FRAG(dpart.part->p_fragblock); - u_int32_t fsize = - DISKLABELV1_FFS_FSIZE(dpart.part->p_fragblock); - if (dpart.part->p_fstype == FS_BSDFFS && frag != 0 && - fsize != 0) - bsize = frag * fsize; - } - bscale = btodb(bsize); - do { - bn = btodb(uio->uio_offset) & ~(bscale - 1); - on = uio->uio_offset % bsize; - n = min((bsize - on), uio->uio_resid); - if (vp->v_lastr + bscale == bn) { - nextbn = bn + bscale; - error = breadn(vp, bn, bsize, &nextbn, &bsize, - 1, &bp); - } else - error = bread(vp, bn, bsize, &bp); - vp->v_lastr = bn; - n = min(n, bsize - bp->b_resid); - if (error) { - brelse(bp); - return (error); - } - error = uiomove((char *)bp->b_data + on, n, uio); - brelse(bp); - } while (error == 0 && uio->uio_resid > 0 && n != 0); - return (error); - - default: - panic("spec_read type"); - } - /* NOTREACHED */ -} - -int -spec_inactive(void *v) -{ - struct vop_inactive_args *ap = v; - - VOP_UNLOCK(ap->a_vp, 0, ap->a_p); - return (0); -} - -/* - * Vnode op for write - */ -int -spec_write(void *v) -{ - struct vop_write_args *ap = v; - struct vnode *vp = ap->a_vp; - struct uio *uio = ap->a_uio; - struct proc *p = uio->uio_procp; - struct buf *bp; - daddr64_t bn, bscale; - int bsize; - struct partinfo dpart; - int n, on, majordev; - int (*ioctl)(dev_t, u_long, caddr_t, int, struct proc *); - int error = 0; - -#ifdef DIAGNOSTIC - if (uio->uio_rw != UIO_WRITE) - panic("spec_write mode"); - if (uio->uio_segflg == UIO_USERSPACE && uio->uio_procp != curproc) - panic("spec_write proc"); -#endif - - switch (vp->v_type) { - - case VCHR: - VOP_UNLOCK(vp, 0, p); - error = (*cdevsw[major(vp->v_rdev)].d_write) - (vp->v_rdev, uio, ap->a_ioflag); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); - return (error); - - case VBLK: - if (uio->uio_resid == 0) - return (0); - if (uio->uio_offset < 0) - return (EINVAL); - bsize = BLKDEV_IOSIZE; - if ((majordev = major(vp->v_rdev)) < nblkdev && - (ioctl = bdevsw[majordev].d_ioctl) != NULL && - (*ioctl)(vp->v_rdev, DIOCGPART, (caddr_t)&dpart, FREAD, p) == 0) { - u_int32_t frag = - DISKLABELV1_FFS_FRAG(dpart.part->p_fragblock); - u_int32_t fsize = - DISKLABELV1_FFS_FSIZE(dpart.part->p_fragblock); - if (dpart.part->p_fstype == FS_BSDFFS && frag != 0 && - fsize != 0) - bsize = frag * fsize; - } - bscale = btodb(bsize); - do { - bn = btodb(uio->uio_offset) & ~(bscale - 1); - on = uio->uio_offset % bsize; - n = min((bsize - on), uio->uio_resid); - error = bread(vp, bn, bsize, &bp); - n = min(n, bsize - bp->b_resid); - if (error) { - brelse(bp); - return (error); - } - error = uiomove((char *)bp->b_data + on, n, uio); - if (n + on == bsize) - bawrite(bp); - else - bdwrite(bp); - } while (error == 0 && uio->uio_resid > 0 && n != 0); - return (error); - - default: - panic("spec_write type"); - } - /* NOTREACHED */ -} - -/* - * Device ioctl operation. - */ -int -spec_ioctl(void *v) -{ - struct vop_ioctl_args *ap = v; - dev_t dev = ap->a_vp->v_rdev; - int maj = major(dev); - - switch (ap->a_vp->v_type) { - - case VCHR: - return ((*cdevsw[maj].d_ioctl)(dev, ap->a_command, ap->a_data, - ap->a_fflag, ap->a_p)); - - case VBLK: - return ((*bdevsw[maj].d_ioctl)(dev, ap->a_command, ap->a_data, - ap->a_fflag, ap->a_p)); - - default: - panic("spec_ioctl"); - /* NOTREACHED */ - } -} - -int -spec_poll(void *v) -{ - struct vop_poll_args *ap = v; - dev_t dev; - - switch (ap->a_vp->v_type) { - - default: - return (ap->a_events & - (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM)); - - case VCHR: - dev = ap->a_vp->v_rdev; - return (*cdevsw[major(dev)].d_poll)(dev, ap->a_events, ap->a_p); - } -} -int -spec_kqfilter(void *v) -{ - struct vop_kqfilter_args *ap = v; - - dev_t dev; - - dev = ap->a_vp->v_rdev; - if (cdevsw[major(dev)].d_kqfilter) - return (*cdevsw[major(dev)].d_kqfilter)(dev, ap->a_kn); - return (EOPNOTSUPP); -} - -/* - * Synch buffers associated with a block device - */ -int -spec_fsync(void *v) -{ - struct vop_fsync_args *ap = v; - struct vnode *vp = ap->a_vp; - struct buf *bp; - struct buf *nbp; - int s; - - if (vp->v_type == VCHR) - return (0); - /* - * Flush all dirty buffers associated with a block device. - */ -loop: - s = splbio(); - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); - bp != LIST_END(&vp->v_dirtyblkhd); bp = nbp) { - nbp = LIST_NEXT(bp, b_vnbufs); - if ((bp->b_flags & B_BUSY)) - continue; - if ((bp->b_flags & B_DELWRI) == 0) - panic("spec_fsync: not dirty"); - bremfree(bp); - buf_acquire(bp); - splx(s); - bawrite(bp); - goto loop; - } - if (ap->a_waitfor == MNT_WAIT) { - vwaitforio (vp, 0, "spec_fsync", 0); - -#ifdef DIAGNOSTIC - if (!LIST_EMPTY(&vp->v_dirtyblkhd)) { - splx(s); - vprint("spec_fsync: dirty", vp); - goto loop; - } -#endif - } - splx(s); - return (0); -} - -int -spec_strategy(void *v) -{ - struct vop_strategy_args *ap = v; - struct buf *bp = ap->a_bp; - int maj = major(bp->b_dev); - - if (LIST_FIRST(&bp->b_dep) != NULL) - buf_start(bp); - - (*bdevsw[maj].d_strategy)(bp); - return (0); -} - -/* - * Device close routine - */ -int -spec_close(void *v) -{ - struct vop_close_args *ap = v; - struct vnode *vp = ap->a_vp; - dev_t dev = vp->v_rdev; - int (*devclose)(dev_t, int, int, struct proc *); - int mode, error; - - switch (vp->v_type) { - - case VCHR: - /* - * Hack: a tty device that is a controlling terminal - * has a reference from the session structure. - * We cannot easily tell that a character device is - * a controlling terminal, unless it is the closing - * process' controlling terminal. In that case, - * if the reference count is 2 (this last descriptor - * plus the session), release the reference from the session. - */ - if (vcount(vp) == 2 && ap->a_p && - vp == ap->a_p->p_p->ps_session->s_ttyvp) { - vrele(vp); - ap->a_p->p_p->ps_session->s_ttyvp = NULL; - } - if (cdevsw[major(dev)].d_flags & D_CLONE) - return (spec_close_clone(ap)); - /* - * If the vnode is locked, then we are in the midst - * of forcably closing the device, otherwise we only - * close on last reference. - */ - if (vcount(vp) > 1 && (vp->v_flag & VXLOCK) == 0) - return (0); - devclose = cdevsw[major(dev)].d_close; - mode = S_IFCHR; - break; - - case VBLK: - /* - * On last close of a block device (that isn't mounted) - * we must invalidate any in core blocks, so that - * we can, for instance, change floppy disks. In order to do - * that, we must lock the vnode. If we are coming from - * vclean(), the vnode is already locked. - */ - if (!(vp->v_flag & VXLOCK)) - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, ap->a_p); - error = vinvalbuf(vp, V_SAVE, ap->a_cred, ap->a_p, 0, 0); - if (!(vp->v_flag & VXLOCK)) - VOP_UNLOCK(vp, 0, ap->a_p); - if (error) - return (error); - /* - * We do not want to really close the device if it - * is still in use unless we are trying to close it - * forcibly. Since every use (buffer, vnode, swap, cmap) - * holds a reference to the vnode, and because we mark - * any other vnodes that alias this device, when the - * sum of the reference counts on all the aliased - * vnodes descends to one, we are on last close. - */ - if (vcount(vp) > 1 && (vp->v_flag & VXLOCK) == 0) - return (0); - devclose = bdevsw[major(dev)].d_close; - mode = S_IFBLK; - break; - - default: - panic("spec_close: not special"); - } - - return ((*devclose)(dev, ap->a_fflag, mode, ap->a_p)); -} - -int -spec_getattr(void *v) -{ - struct vop_getattr_args *ap = v; - struct vnode *vp = ap->a_vp; - - if (!(vp->v_flag & VCLONE)) - return (EBADF); - - return (VOP_GETATTR(vp->v_specparent, ap->a_vap, ap->a_cred, ap->a_p)); -} - -int -spec_setattr(void *v) -{ - struct vop_getattr_args *ap = v; - struct vnode *vp = ap->a_vp; - int error; - - if (!(vp->v_flag & VCLONE)) - return (EBADF); - - vn_lock(vp->v_specparent, LK_EXCLUSIVE|LK_RETRY, ap->a_p); - error = VOP_SETATTR(vp->v_specparent, ap->a_vap, ap->a_cred, ap->a_p); - VOP_UNLOCK(vp, 0, ap->a_p); - - return (error); -} - -int -spec_access(void *v) -{ - struct vop_access_args *ap = v; - struct vnode *vp = ap->a_vp; - - if (!(vp->v_flag & VCLONE)) - return (EBADF); - - return (VOP_ACCESS(vp->v_specparent, ap->a_mode, ap->a_cred, ap->a_p)); -} - -/* - * Print out the contents of a special device vnode. - */ -int -spec_print(void *v) -{ - struct vop_print_args *ap = v; - - printf("tag VT_NON, dev %d, %d\n", major(ap->a_vp->v_rdev), - minor(ap->a_vp->v_rdev)); - return 0; -} - -/* - * Return POSIX pathconf information applicable to special devices. - */ -int -spec_pathconf(void *v) -{ - struct vop_pathconf_args *ap = v; - - switch (ap->a_name) { - case _PC_LINK_MAX: - *ap->a_retval = LINK_MAX; - return (0); - case _PC_MAX_CANON: - *ap->a_retval = MAX_CANON; - return (0); - case _PC_MAX_INPUT: - *ap->a_retval = MAX_INPUT; - return (0); - case _PC_PIPE_BUF: - *ap->a_retval = PIPE_BUF; - return (0); - case _PC_CHOWN_RESTRICTED: - *ap->a_retval = 1; - return (0); - case _PC_VDISABLE: - *ap->a_retval = _POSIX_VDISABLE; - return (0); - default: - return (EINVAL); - } - /* NOTREACHED */ -} - -/* - * Special device advisory byte-level locks. - */ -int -spec_advlock(void *v) -{ - struct vop_advlock_args *ap = v; - struct vnode *vp = ap->a_vp; - - return (lf_advlock(&vp->v_speclockf, (off_t)0, ap->a_id, - ap->a_op, ap->a_fl, ap->a_flags)); -} - -/* - * Special device bad operation - */ -/*ARGSUSED*/ -int -spec_badop(void *v) -{ - - panic("spec_badop called"); - /* NOTREACHED */ -} diff --git a/sys/miscfs/specfs/specdev.h b/sys/miscfs/specfs/specdev.h deleted file mode 100644 index 66662c95919..00000000000 --- a/sys/miscfs/specfs/specdev.h +++ /dev/null @@ -1,114 +0,0 @@ -/* $OpenBSD: specdev.h,v 1.29 2010/12/21 20:14:43 thib Exp $ */ -/* $NetBSD: specdev.h,v 1.12 1996/02/13 13:13:01 mycroft Exp $ */ - -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)specdev.h 8.3 (Berkeley) 8/10/94 - */ - -/* - * This structure defines the information maintained about - * special devices. It is allocated in checkalias and freed - * in vgone. - */ -struct specinfo { - struct vnode **si_hashchain; - struct vnode *si_specnext; - struct mount *si_mountpoint; - dev_t si_rdev; - struct lockf *si_lockf; - daddr64_t si_lastr; - union { - struct vnode *ci_parent; /* pointer back to parent device */ - u_int8_t ci_bitmap[8]; /* bitmap of devices cloned off us */ - } si_ci; -}; - -struct cloneinfo { - struct vnode *ci_vp; /* cloned vnode */ - void *ci_data; /* original vnode's v_data */ -}; - -/* - * Exported shorthand - */ -#define v_rdev v_specinfo->si_rdev -#define v_hashchain v_specinfo->si_hashchain -#define v_specnext v_specinfo->si_specnext -#define v_specmountpoint v_specinfo->si_mountpoint -#define v_speclockf v_specinfo->si_lockf -#define v_specparent v_specinfo->si_ci.ci_parent -#define v_specbitmap v_specinfo->si_ci.ci_bitmap - -/* - * Special device management - */ -#define SPECHSZ 64 -#if ((SPECHSZ&(SPECHSZ-1)) == 0) -#define SPECHASH(rdev) (((rdev>>5)+(rdev))&(SPECHSZ-1)) -#else -#define SPECHASH(rdev) (((unsigned)((rdev>>5)+(rdev)))%SPECHSZ) -#endif - -extern struct vnode *speclisth[SPECHSZ]; - -#ifdef _KERNEL -/* - * Prototypes for special file operations on vnodes. - */ -extern struct vops spec_vops; -struct nameidata; -struct componentname; -struct ucred; -struct flock; -struct buf; -struct uio; - -int spec_badop(void *); -int spec_getattr(void *); -int spec_setattr(void *); -int spec_access(void *); -int spec_open(void *); -int spec_close(void *); -int spec_read(void *); -int spec_write(void *); -int spec_ioctl(void *); -int spec_poll(void *); -int spec_kqfilter(void *); -int spec_fsync(void *); -int spec_inactive(void *); -int spec_strategy(void *); -int spec_print(void *); -int spec_pathconf(void *); -int spec_advlock(void *); - -/* spec_subr.c */ -int spec_open_clone(struct vop_open_args *); -int spec_close_clone(struct vop_close_args *); -#endif /* _KERNEL */ diff --git a/sys/msdosfs/msdosfs_vfsops.c b/sys/msdosfs/msdosfs_vfsops.c index 0591459e0e0..5c56567dc03 100644 --- a/sys/msdosfs/msdosfs_vfsops.c +++ b/sys/msdosfs/msdosfs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_vfsops.c,v 1.60 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: msdosfs_vfsops.c,v 1.61 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: msdosfs_vfsops.c,v 1.48 1997/10/18 02:54:57 briggs Exp $ */ /*- @@ -54,7 +54,7 @@ #include <sys/proc.h> #include <sys/kernel.h> #include <sys/vnode.h> -#include <miscfs/specfs/specdev.h> /* XXX */ /* defines v_rdev */ +#include <sys/specdev.h> /* XXX */ /* defines v_rdev */ #include <sys/mount.h> #include <sys/buf.h> #include <sys/file.h> diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index eed2707068e..8f63fada548 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: msdosfs_vnops.c,v 1.78 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: msdosfs_vnops.c,v 1.79 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.63 1997/10/17 11:24:19 ws Exp $ */ /*- @@ -61,7 +61,7 @@ #include <sys/mount.h> #include <sys/vnode.h> #include <sys/signalvar.h> -#include <miscfs/specfs/specdev.h> /* XXX */ /* defines v_rdev */ +#include <sys/specdev.h> /* XXX */ /* defines v_rdev */ #include <sys/malloc.h> #include <sys/pool.h> #include <sys/dirent.h> /* defines dirent structure */ diff --git a/sys/ntfs/ntfs_subr.c b/sys/ntfs/ntfs_subr.c index 06bfda769b1..5b6be5c820a 100644 --- a/sys/ntfs/ntfs_subr.c +++ b/sys/ntfs/ntfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntfs_subr.c,v 1.24 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ntfs_subr.c,v 1.25 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ntfs_subr.c,v 1.4 2003/04/10 21:37:32 jdolecek Exp $ */ /*- @@ -40,8 +40,7 @@ #include <sys/file.h> #include <sys/malloc.h> #include <sys/rwlock.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> /* #define NTFS_DEBUG 1 */ #include <ntfs/ntfs.h> diff --git a/sys/ntfs/ntfs_vfsops.c b/sys/ntfs/ntfs_vfsops.c index 768908f4a17..29b85366cc5 100644 --- a/sys/ntfs/ntfs_vfsops.c +++ b/sys/ntfs/ntfs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntfs_vfsops.c,v 1.26 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ntfs_vfsops.c,v 1.27 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ntfs_vfsops.c,v 1.7 2003/04/24 07:50:19 christos Exp $ */ /*- @@ -43,6 +43,7 @@ #include <sys/systm.h> #include <sys/device.h> #include <sys/conf.h> +#include <sys/specdev.h> #if defined(__NetBSD__) || defined(__OpenBSD__) #include <uvm/uvm_extern.h> @@ -50,8 +51,6 @@ #include <vm/vm.h> #endif -#include <miscfs/specfs/specdev.h> - /*#define NTFS_DEBUG 1*/ #if defined(__FreeBSD__) || defined(__NetBSD__) #include <fs/ntfs/ntfs.h> diff --git a/sys/ntfs/ntfs_vnops.c b/sys/ntfs/ntfs_vnops.c index 705855da01e..3acd2e00968 100644 --- a/sys/ntfs/ntfs_vnops.c +++ b/sys/ntfs/ntfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntfs_vnops.c,v 1.23 2011/04/05 14:14:07 thib Exp $ */ +/* $OpenBSD: ntfs_vnops.c,v 1.24 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ntfs_vnops.c,v 1.6 2003/04/10 21:57:26 jdolecek Exp $ */ /* @@ -47,14 +47,13 @@ #include <sys/malloc.h> #include <sys/buf.h> #include <sys/dirent.h> +#include <sys/specdev.h> /*#define NTFS_DEBUG 1*/ #include <ntfs/ntfs.h> #include <ntfs/ntfs_inode.h> #include <ntfs/ntfs_subr.h> -#include <miscfs/specfs/specdev.h> - #include <sys/unistd.h> /* for pathconf(2) constants */ static int ntfs_read(void *); diff --git a/sys/sys/specdev.h b/sys/sys/specdev.h index 66662c95919..846daec47b8 100644 --- a/sys/sys/specdev.h +++ b/sys/sys/specdev.h @@ -1,4 +1,4 @@ -/* $OpenBSD: specdev.h,v 1.29 2010/12/21 20:14:43 thib Exp $ */ +/* $OpenBSD: specdev.h,v 1.30 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: specdev.h,v 1.12 1996/02/13 13:13:01 mycroft Exp $ */ /* diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h index 0bfaac0ea45..4fd52a30d53 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -1,4 +1,4 @@ -/* $OpenBSD: syscall.h,v 1.119 2011/06/30 13:44:15 tedu Exp $ */ +/* $OpenBSD: syscall.h,v 1.120 2011/07/04 20:35:35 deraadt Exp $ */ /* * System call numbers. diff --git a/sys/sys/syscallargs.h b/sys/sys/syscallargs.h index 8e796044eae..8bc20b2fa44 100644 --- a/sys/sys/syscallargs.h +++ b/sys/sys/syscallargs.h @@ -1,4 +1,4 @@ -/* $OpenBSD: syscallargs.h,v 1.121 2011/06/30 13:44:15 tedu Exp $ */ +/* $OpenBSD: syscallargs.h,v 1.122 2011/07/04 20:35:35 deraadt Exp $ */ /* * System call argument lists. diff --git a/sys/ufs/ext2fs/ext2fs_bmap.c b/sys/ufs/ext2fs/ext2fs_bmap.c index 2d87ee895f4..f685d496984 100644 --- a/sys/ufs/ext2fs/ext2fs_bmap.c +++ b/sys/ufs/ext2fs/ext2fs_bmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ext2fs_bmap.c,v 1.18 2008/06/12 06:58:40 deraadt Exp $ */ +/* $OpenBSD: ext2fs_bmap.c,v 1.19 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ext2fs_bmap.c,v 1.5 2000/03/30 12:41:11 augustss Exp $ */ /* @@ -46,8 +46,7 @@ #include <sys/vnode.h> #include <sys/mount.h> #include <sys/resourcevar.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> diff --git a/sys/ufs/ext2fs/ext2fs_subr.c b/sys/ufs/ext2fs/ext2fs_subr.c index 8878644ad64..eabec5a499f 100644 --- a/sys/ufs/ext2fs/ext2fs_subr.c +++ b/sys/ufs/ext2fs/ext2fs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ext2fs_subr.c,v 1.26 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ext2fs_subr.c,v 1.27 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ext2fs_subr.c,v 1.1 1997/06/11 09:34:03 bouyer Exp $ */ /* @@ -39,6 +39,7 @@ #include <sys/vnode.h> #include <sys/mount.h> #include <sys/buf.h> +#include <sys/specdev.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> @@ -47,7 +48,6 @@ #include <ufs/ext2fs/ext2fs.h> #include <ufs/ext2fs/ext2fs_extern.h> -#include <miscfs/specfs/specdev.h> #include <miscfs/fifofs/fifo.h> union _qcvt { diff --git a/sys/ufs/ext2fs/ext2fs_vfsops.c b/sys/ufs/ext2fs/ext2fs_vfsops.c index 356976e3715..a3f618ce44a 100644 --- a/sys/ufs/ext2fs/ext2fs_vfsops.c +++ b/sys/ufs/ext2fs/ext2fs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ext2fs_vfsops.c,v 1.63 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ext2fs_vfsops.c,v 1.64 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ext2fs_vfsops.c,v 1.1 1997/06/11 09:34:07 bouyer Exp $ */ /* @@ -54,8 +54,7 @@ #include <sys/pool.h> #include <sys/lock.h> #include <sys/dkio.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/ufsmount.h> diff --git a/sys/ufs/ext2fs/ext2fs_vnops.c b/sys/ufs/ext2fs/ext2fs_vnops.c index 9a4c310ea45..c320d7c7096 100644 --- a/sys/ufs/ext2fs/ext2fs_vnops.c +++ b/sys/ufs/ext2fs/ext2fs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ext2fs_vnops.c,v 1.60 2011/07/03 18:23:10 tedu Exp $ */ +/* $OpenBSD: ext2fs_vnops.c,v 1.61 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ext2fs_vnops.c,v 1.1 1997/06/11 09:34:09 bouyer Exp $ */ /* @@ -55,11 +55,11 @@ #include <sys/malloc.h> #include <sys/pool.h> #include <sys/signalvar.h> +#include <sys/specdev.h> #include <uvm/uvm_extern.h> #include <miscfs/fifofs/fifo.h> -#include <miscfs/specfs/specdev.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index f7d8f87f61d..86618b22045 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_softdep.c,v 1.106 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ffs_softdep.c,v 1.107 2011/07/04 20:35:35 deraadt Exp $ */ /* * Copyright 1998, 2000 Marshall Kirk McKusick. All Rights Reserved. @@ -51,7 +51,7 @@ #include <sys/syslog.h> #include <sys/systm.h> #include <sys/vnode.h> -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <ufs/ufs/dir.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 77acce3834b..0b9fec7fd2e 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_vfsops.c,v 1.132 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ffs_vfsops.c,v 1.133 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ffs_vfsops.c,v 1.19 1996/02/09 22:22:26 christos Exp $ */ /* @@ -51,11 +51,10 @@ #include <sys/pool.h> #include <sys/dkio.h> #include <sys/disk.h> +#include <sys/specdev.h> #include <dev/rndvar.h> -#include <miscfs/specfs/specdev.h> - #include <ufs/ufs/quota.h> #include <ufs/ufs/ufsmount.h> #include <ufs/ufs/inode.h> diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 1c7bda9692f..5465d05af64 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_vnops.c,v 1.64 2011/07/04 04:30:41 tedu Exp $ */ +/* $OpenBSD: ffs_vnops.c,v 1.65 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ffs_vnops.c,v 1.7 1996/05/11 18:27:24 mycroft Exp $ */ /* @@ -47,10 +47,10 @@ #include <sys/signalvar.h> #include <sys/pool.h> #include <sys/event.h> +#include <sys/specdev.h> #include <uvm/uvm_extern.h> -#include <miscfs/specfs/specdev.h> #include <miscfs/fifofs/fifo.h> #include <ufs/ufs/quota.h> diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c index f9831d02740..62c2c8130c1 100644 --- a/sys/ufs/mfs/mfs_vnops.c +++ b/sys/ufs/mfs/mfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mfs_vnops.c,v 1.41 2011/04/05 14:14:07 thib Exp $ */ +/* $OpenBSD: mfs_vnops.c,v 1.42 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: mfs_vnops.c,v 1.8 1996/03/17 02:16:32 christos Exp $ */ /* @@ -40,8 +40,7 @@ #include <sys/buf.h> #include <sys/vnode.h> #include <sys/malloc.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <machine/vmparam.h> diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c index d39fb8db443..377bb78718b 100644 --- a/sys/ufs/ufs/ufs_bmap.c +++ b/sys/ufs/ufs/ufs_bmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ufs_bmap.c,v 1.29 2008/06/12 06:58:40 deraadt Exp $ */ +/* $OpenBSD: ufs_bmap.c,v 1.30 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ufs_bmap.c,v 1.3 1996/02/09 22:36:00 christos Exp $ */ /* @@ -44,8 +44,7 @@ #include <sys/vnode.h> #include <sys/mount.h> #include <sys/resourcevar.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> diff --git a/sys/ufs/ufs/ufs_vfsops.c b/sys/ufs/ufs/ufs_vfsops.c index 7f808285c9a..41661d0d699 100644 --- a/sys/ufs/ufs/ufs_vfsops.c +++ b/sys/ufs/ufs/ufs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ufs_vfsops.c,v 1.15 2006/04/04 11:21:40 pedro Exp $ */ +/* $OpenBSD: ufs_vfsops.c,v 1.16 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ufs_vfsops.c,v 1.4 1996/02/09 22:36:12 christos Exp $ */ /* @@ -44,8 +44,7 @@ #include <sys/buf.h> #include <sys/vnode.h> #include <sys/malloc.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 2354c7244a3..436d2549450 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ufs_vnops.c,v 1.100 2011/07/03 18:23:10 tedu Exp $ */ +/* $OpenBSD: ufs_vnops.c,v 1.101 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: ufs_vnops.c,v 1.18 1996/05/11 18:28:04 mycroft Exp $ */ /* @@ -55,10 +55,10 @@ #include <sys/lockf.h> #include <sys/event.h> #include <sys/poll.h> +#include <sys/specdev.h> #include <uvm/uvm_extern.h> -#include <miscfs/specfs/specdev.h> #include <miscfs/fifofs/fifo.h> #include <ufs/ufs/quota.h> diff --git a/sys/uvm/uvm_mmap.c b/sys/uvm/uvm_mmap.c index e87b89dd160..e2cda075b0f 100644 --- a/sys/uvm/uvm_mmap.c +++ b/sys/uvm/uvm_mmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_mmap.c,v 1.84 2011/06/06 17:10:23 ariane Exp $ */ +/* $OpenBSD: uvm_mmap.c,v 1.85 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: uvm_mmap.c,v 1.49 2001/02/18 21:19:08 chs Exp $ */ /* @@ -62,11 +62,10 @@ #include <sys/vnode.h> #include <sys/conf.h> #include <sys/stat.h> +#include <sys/specdev.h> #include <machine/exec.h> /* for __LDPGSZ */ -#include <miscfs/specfs/specdev.h> - #include <sys/syscallargs.h> #include <uvm/uvm.h> diff --git a/sys/uvm/uvm_swap.c b/sys/uvm/uvm_swap.c index f7d16492256..406587f9125 100644 --- a/sys/uvm/uvm_swap.c +++ b/sys/uvm/uvm_swap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_swap.c,v 1.103 2011/07/03 18:34:14 oga Exp $ */ +/* $OpenBSD: uvm_swap.c,v 1.104 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: uvm_swap.c,v 1.40 2000/11/17 11:39:39 mrg Exp $ */ /* @@ -57,7 +57,7 @@ #include <sys/syslog.h> #endif -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include "vnd.h" diff --git a/sys/uvm/uvm_vnode.c b/sys/uvm/uvm_vnode.c index 33ed7358934..130cf88ae0c 100644 --- a/sys/uvm/uvm_vnode.c +++ b/sys/uvm/uvm_vnode.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_vnode.c,v 1.75 2011/07/04 00:15:47 oga Exp $ */ +/* $OpenBSD: uvm_vnode.c,v 1.76 2011/07/04 20:35:35 deraadt Exp $ */ /* $NetBSD: uvm_vnode.c,v 1.36 2000/11/24 20:34:01 chs Exp $ */ /* @@ -61,8 +61,7 @@ #include <sys/conf.h> #include <sys/rwlock.h> #include <sys/dkio.h> - -#include <miscfs/specfs/specdev.h> +#include <sys/specdev.h> #include <uvm/uvm.h> #include <uvm/uvm_vnode.h> |