Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.

This commit is contained in:
pooka 2010-03-29 13:11:32 +00:00
parent 0f5235579c
commit 242bf1c3e7
15 changed files with 354 additions and 383 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: cd9660_vnops.c,v 1.38 2009/07/03 21:17:40 elad Exp $ */
/* $NetBSD: cd9660_vnops.c,v 1.39 2010/03/29 13:11:32 pooka Exp $ */
/*-
* Copyright (c) 1994
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.38 2009/07/03 21:17:40 elad Exp $");
__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.39 2010/03/29 13:11:32 pooka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -948,45 +948,45 @@ const struct vnodeopv_desc cd9660_specop_opv_desc =
int (**cd9660_fifoop_p)(void *);
const struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_close_desc, fifo_close }, /* close */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, vn_fifo_bypass }, /* close */
{ &vop_access_desc, cd9660_access }, /* access */
{ &vop_getattr_desc, cd9660_getattr }, /* getattr */
{ &vop_setattr_desc, cd9660_setattr }, /* setattr */
{ &vop_read_desc, fifo_read }, /* read */
{ &vop_write_desc, fifo_write }, /* write */
{ &vop_read_desc, vn_fifo_bypass }, /* read */
{ &vop_write_desc, vn_fifo_bypass }, /* write */
{ &vop_fcntl_desc, genfs_fcntl }, /* fcntl */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_fsync_desc, fifo_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link } , /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, vn_fifo_bypass }, /* fsync */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass } , /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, cd9660_inactive }, /* inactive */
{ &vop_reclaim_desc, cd9660_reclaim }, /* reclaim */
{ &vop_lock_desc, genfs_lock }, /* lock */
{ &vop_unlock_desc, genfs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_strategy_desc, vn_fifo_bypass }, /* strategy */
{ &vop_print_desc, cd9660_print }, /* print */
{ &vop_islocked_desc, genfs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
{ &vop_bwrite_desc, vn_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ &vop_putpages_desc, vn_fifo_bypass }, /* putpages */
{ NULL, NULL }
};
const struct vnodeopv_desc cd9660_fifoop_opv_desc =

View File

@ -1,4 +1,4 @@
/* $NetBSD: efs_vnops.c,v 1.20 2009/07/03 22:25:51 pooka Exp $ */
/* $NetBSD: efs_vnops.c,v 1.21 2010/03/29 13:11:32 pooka Exp $ */
/*
* Copyright (c) 2006 Stephen M. Rumble <rumble@ephemeral.org>
@ -17,7 +17,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: efs_vnops.c,v 1.20 2009/07/03 22:25:51 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: efs_vnops.c,v 1.21 2010/03/29 13:11:32 pooka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -910,42 +910,42 @@ const struct vnodeopv_desc efs_specop_opv_desc = {
int (**efs_fifoop_p)(void *);
const struct vnodeopv_entry_desc efs_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error}, /* error handler */
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_close_desc, fifo_close }, /* close */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, vn_fifo_bypass }, /* close */
{ &vop_access_desc, efs_access }, /* access */
{ &vop_getattr_desc, efs_getattr }, /* getattr */
{ &vop_setattr_desc, genfs_eopnotsupp}, /* setattr */
{ &vop_read_desc, fifo_read }, /* read */
{ &vop_write_desc, fifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_read_desc, vn_fifo_bypass }, /* read */
{ &vop_write_desc, vn_fifo_bypass }, /* write */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_fcntl_desc, genfs_fcntl }, /* fcntl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_fsync_desc, fifo_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, vn_fifo_bypass }, /* fsync */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass }, /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, efs_inactive }, /* inactive */
{ &vop_reclaim_desc, efs_reclaim }, /* reclaim */
{ &vop_lock_desc, genfs_lock, }, /* lock */
{ &vop_unlock_desc, genfs_unlock, }, /* unlock */
{ &vop_islocked_desc, genfs_islocked, }, /* islocked */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_print_desc, efs_print }, /* print */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
/* blkatoff */
/* valloc */
/* balloc */
@ -953,7 +953,7 @@ const struct vnodeopv_entry_desc efs_fifoop_entries[] = {
/* truncate */
/* whiteout */
{ &vop_bwrite_desc, vn_bwrite }, /* bwrite */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_strategy_desc, vn_fifo_bypass }, /* strategy */
{ NULL, NULL }
};
const struct vnodeopv_desc efs_fifoop_opv_desc = {

View File

@ -1,4 +1,4 @@
/* $NetBSD: hfs_vnops.c,v 1.16 2010/01/08 11:35:08 pooka Exp $ */
/* $NetBSD: hfs_vnops.c,v 1.17 2010/03/29 13:11:33 pooka Exp $ */
/*-
* Copyright (c) 2005, 2007 The NetBSD Foundation, Inc.
@ -101,7 +101,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: hfs_vnops.c,v 1.16 2010/01/08 11:35:08 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: hfs_vnops.c,v 1.17 2010/03/29 13:11:33 pooka Exp $");
#ifdef _KERNEL_OPT
#include "opt_ipsec.h"
@ -259,45 +259,45 @@ const struct vnodeopv_desc hfs_specop_opv_desc =
int (**hfs_fifoop_p) (void *);
const struct vnodeopv_entry_desc hfs_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_close_desc, fifo_close }, /* close */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, vn_fifo_bypass }, /* close */
{ &vop_access_desc, hfs_vop_access }, /* access */
{ &vop_getattr_desc, hfs_vop_getattr }, /* getattr */
{ &vop_setattr_desc, hfs_vop_setattr }, /* setattr */
{ &vop_read_desc, fifo_read }, /* read */
{ &vop_write_desc, fifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_read_desc, vn_fifo_bypass }, /* read */
{ &vop_write_desc, vn_fifo_bypass }, /* write */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_fcntl_desc, genfs_fcntl }, /* fcntl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_fsync_desc, fifo_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, vn_fifo_bypass }, /* fsync */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass }, /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, genfs_eopnotsupp }, /* inactive */
{ &vop_reclaim_desc, hfs_vop_reclaim }, /* reclaim */
{ &vop_lock_desc, genfs_lock }, /* lock */
{ &vop_unlock_desc, genfs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_strategy_desc, vn_fifo_bypass }, /* strategy */
{ &vop_print_desc, hfs_vop_print }, /* print */
{ &vop_islocked_desc, genfs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
{ &vop_bwrite_desc, vn_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ &vop_putpages_desc, vn_fifo_bypass }, /* putpages */
#if 0
{ &vop_openextattr_desc, ffs_openextattr }, /* openextattr */
{ &vop_closeextattr_desc, ffs_closeextattr }, /* closeextattr */

View File

@ -1,4 +1,4 @@
/* $NetBSD: puffs_vnops.c,v 1.143 2010/03/27 02:37:35 pooka Exp $ */
/* $NetBSD: puffs_vnops.c,v 1.144 2010/03/29 13:11:33 pooka Exp $ */
/*
* Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved.
@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.143 2010/03/27 02:37:35 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.144 2010/03/29 13:11:33 pooka Exp $");
#include <sys/param.h>
#include <sys/buf.h>
@ -202,45 +202,45 @@ const struct vnodeopv_desc puffs_specop_opv_desc =
int (**puffs_fifoop_p)(void *);
const struct vnodeopv_entry_desc puffs_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup, ENOTDIR */
{ &vop_create_desc, fifo_create }, /* genfs_badop */
{ &vop_mknod_desc, fifo_mknod }, /* genfs_badop */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_close_desc, fifo_close }, /* close */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup, ENOTDIR */
{ &vop_create_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_mknod_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, vn_fifo_bypass }, /* close */
{ &vop_access_desc, puffs_vnop_checkop }, /* access */
{ &vop_getattr_desc, puffs_vnop_checkop }, /* getattr */
{ &vop_setattr_desc, puffs_vnop_checkop }, /* setattr */
{ &vop_read_desc, puffs_vnop_fifo_read }, /* read, update */
{ &vop_write_desc, puffs_vnop_fifo_write }, /* write, update */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_fcntl_desc, genfs_fcntl }, /* dummy */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* genfs_revoke */
{ &vop_mmap_desc, fifo_mmap }, /* genfs_badop */
{ &vop_fsync_desc, fifo_fsync }, /* genfs_nullop*/
{ &vop_seek_desc, fifo_seek }, /* genfs_badop */
{ &vop_remove_desc, fifo_remove }, /* genfs_badop */
{ &vop_link_desc, fifo_link }, /* genfs_badop */
{ &vop_rename_desc, fifo_rename }, /* genfs_badop */
{ &vop_mkdir_desc, fifo_mkdir }, /* genfs_badop */
{ &vop_rmdir_desc, fifo_rmdir }, /* genfs_badop */
{ &vop_symlink_desc, fifo_symlink }, /* genfs_badop */
{ &vop_readdir_desc, fifo_readdir }, /* genfs_badop */
{ &vop_readlink_desc, fifo_readlink }, /* genfs_badop */
{ &vop_abortop_desc, fifo_abortop }, /* genfs_badop */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* genfs_revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_fsync_desc, vn_fifo_bypass }, /* genfs_nullop*/
{ &vop_seek_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_remove_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_link_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_rename_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_symlink_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_readdir_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_readlink_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_abortop_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_inactive_desc, puffs_vnop_inactive }, /* REAL inactive */
{ &vop_reclaim_desc, puffs_vnop_reclaim }, /* REAL reclaim */
{ &vop_lock_desc, puffs_vnop_lock }, /* REAL lock */
{ &vop_unlock_desc, puffs_vnop_unlock }, /* REAL unlock */
{ &vop_bmap_desc, fifo_bmap }, /* dummy */
{ &vop_strategy_desc, fifo_strategy }, /* genfs_badop */
{ &vop_bmap_desc, vn_fifo_bypass }, /* dummy */
{ &vop_strategy_desc, vn_fifo_bypass }, /* genfs_badop */
{ &vop_print_desc, puffs_vnop_print }, /* REAL print */
{ &vop_islocked_desc, puffs_vnop_islocked }, /* REAL islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* genfs_einval */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* genfs_einval */
{ &vop_bwrite_desc, vn_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* genfs_null_putpages*/
{ &vop_putpages_desc, vn_fifo_bypass }, /* genfs_null_putpages*/
#if 0
{ &vop_openextattr_desc, _openextattr }, /* openextattr */
{ &vop_closeextattr_desc, _closeextattr }, /* closeextattr */
@ -2055,10 +2055,10 @@ puffs_vnop_print(void *v)
int error;
/* kernel portion */
printf("tag VT_PUFFS, vnode %p, puffs node: %p"
" userspace cookie: %p\n", vp, pn, pn->pn_cookie);
printf("tag VT_PUFFS, vnode %p, puffs node: %p,\n"
"\tuserspace cookie: %p", vp, pn, pn->pn_cookie);
if (vp->v_type == VFIFO)
fifo_printinfo(vp);
VOCALL(fifo_vnodeop_p, VOFFSET(vop_print), v);
printf("\n");
/* userspace portion */

View File

@ -1,4 +1,4 @@
/* $NetBSD: tmpfs_fifoops.h,v 1.6 2008/04/28 20:24:02 martin Exp $ */
/* $NetBSD: tmpfs_fifoops.h,v 1.7 2010/03/29 13:11:33 pooka Exp $ */
/*
* Copyright (c) 2005 The NetBSD Foundation, Inc.
@ -48,10 +48,10 @@
extern int (**tmpfs_fifoop_p)(void *);
#define tmpfs_fifo_lookup fifo_lookup
#define tmpfs_fifo_create fifo_create
#define tmpfs_fifo_mknod fifo_mknod
#define tmpfs_fifo_open fifo_open
#define tmpfs_fifo_lookup vn_fifo_bypass
#define tmpfs_fifo_create vn_fifo_bypass
#define tmpfs_fifo_mknod vn_fifo_bypass
#define tmpfs_fifo_open vn_fifo_bypass
int tmpfs_fifo_close (void *);
#define tmpfs_fifo_access tmpfs_access
#define tmpfs_fifo_getattr tmpfs_getattr
@ -59,35 +59,35 @@ int tmpfs_fifo_close (void *);
int tmpfs_fifo_read (void *);
int tmpfs_fifo_write (void *);
#define tmpfs_fifo_fcntl tmpfs_fcntl
#define tmpfs_fifo_ioctl fifo_ioctl
#define tmpfs_fifo_poll fifo_poll
#define tmpfs_fifo_kqfilter fifo_kqfilter
#define tmpfs_fifo_revoke fifo_revoke
#define tmpfs_fifo_mmap fifo_mmap
#define tmpfs_fifo_fsync fifo_fsync
#define tmpfs_fifo_seek fifo_seek
#define tmpfs_fifo_remove fifo_remove
#define tmpfs_fifo_link fifo_link
#define tmpfs_fifo_rename fifo_rename
#define tmpfs_fifo_mkdir fifo_mkdir
#define tmpfs_fifo_rmdir fifo_rmdir
#define tmpfs_fifo_symlink fifo_symlink
#define tmpfs_fifo_readdir fifo_readdir
#define tmpfs_fifo_readlink fifo_readlink
#define tmpfs_fifo_abortop fifo_abortop
#define tmpfs_fifo_ioctl vn_fifo_bypass
#define tmpfs_fifo_poll vn_fifo_bypass
#define tmpfs_fifo_kqfilter vn_fifo_bypass
#define tmpfs_fifo_revoke vn_fifo_bypass
#define tmpfs_fifo_mmap vn_fifo_bypass
#define tmpfs_fifo_fsync vn_fifo_bypass
#define tmpfs_fifo_seek vn_fifo_bypass
#define tmpfs_fifo_remove vn_fifo_bypass
#define tmpfs_fifo_link vn_fifo_bypass
#define tmpfs_fifo_rename vn_fifo_bypass
#define tmpfs_fifo_mkdir vn_fifo_bypass
#define tmpfs_fifo_rmdir vn_fifo_bypass
#define tmpfs_fifo_symlink vn_fifo_bypass
#define tmpfs_fifo_readdir vn_fifo_bypass
#define tmpfs_fifo_readlink vn_fifo_bypass
#define tmpfs_fifo_abortop vn_fifo_bypass
#define tmpfs_fifo_inactive tmpfs_inactive
#define tmpfs_fifo_reclaim tmpfs_reclaim
#define tmpfs_fifo_lock tmpfs_lock
#define tmpfs_fifo_unlock tmpfs_unlock
#define tmpfs_fifo_bmap fifo_bmap
#define tmpfs_fifo_strategy fifo_strategy
#define tmpfs_fifo_bmap vn_fifo_bypass
#define tmpfs_fifo_strategy vn_fifo_bypass
#define tmpfs_fifo_print tmpfs_print
#define tmpfs_fifo_pathconf fifo_pathconf
#define tmpfs_fifo_pathconf vn_fifo_bypass
#define tmpfs_fifo_islocked tmpfs_islocked
#define tmpfs_fifo_advlock fifo_advlock
#define tmpfs_fifo_advlock vn_fifo_bypass
#define tmpfs_fifo_bwrite tmpfs_bwrite
#define tmpfs_fifo_getpages genfs_badop
#define tmpfs_fifo_putpages fifo_putpages
#define tmpfs_fifo_putpages vn_fifo_bypass
/* --------------------------------------------------------------------- */
#endif /* _FS_TMPFS_TMPFS_FIFOOPS_H_ */

View File

@ -1,4 +1,4 @@
/* $NetBSD: tmpfs_vnops.c,v 1.67 2010/03/27 02:37:34 pooka Exp $ */
/* $NetBSD: tmpfs_vnops.c,v 1.68 2010/03/29 13:11:33 pooka Exp $ */
/*
* Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc.
@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.67 2010/03/27 02:37:34 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: tmpfs_vnops.c,v 1.68 2010/03/29 13:11:33 pooka Exp $");
#include <sys/param.h>
#include <sys/dirent.h>
@ -1340,7 +1340,7 @@ tmpfs_print(void *v)
node->tn_mode, node->tn_uid, node->tn_gid,
(uintmax_t)node->tn_size, node->tn_status);
if (vp->v_type == VFIFO)
fifo_printinfo(vp);
VOCALL(fifo_vnodeop_p, VOFFSET(vop_print), v);
printf("\n");
return 0;

View File

@ -1,4 +1,4 @@
/* $NetBSD: vfs_vnops.c,v 1.169 2010/01/08 11:35:10 pooka Exp $ */
/* $NetBSD: vfs_vnops.c,v 1.170 2010/03/29 13:11:32 pooka Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.169 2010/01/08 11:35:10 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.170 2010/03/29 13:11:32 pooka Exp $");
#include "veriexec.h"
@ -91,6 +91,7 @@ __KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.169 2010/01/08 11:35:10 pooka Exp $"
#include <sys/wapbl.h>
#include <miscfs/specfs/specdev.h>
#include <miscfs/fifofs/fifo.h>
#include <uvm/uvm_extern.h>
#include <uvm/uvm_readahead.h>
@ -924,3 +925,11 @@ vn_ra_allocctx(struct vnode *vp)
uvm_ra_freectx(ra);
}
}
int
vn_fifo_bypass(void *v)
{
struct vop_generic_args *ap = v;
return VOCALL(fifo_vnodeop_p, ap->a_desc->vdesc_offset, v);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: fifo.h,v 1.25 2008/01/25 14:32:15 ad Exp $ */
/* $NetBSD: fifo.h,v 1.26 2010/03/29 13:11:33 pooka Exp $ */
/*
* Copyright (c) 1991, 1993
@ -31,48 +31,4 @@
* @(#)fifo.h 8.6 (Berkeley) 5/21/95
*/
/*
* Prototypes for fifo operations on vnodes.
*/
int fifo_lookup(void *);
#define fifo_create genfs_badop
#define fifo_mknod genfs_badop
int fifo_open(void *);
int fifo_close(void *);
#define fifo_access genfs_ebadf
#define fifo_getattr genfs_ebadf
#define fifo_setattr genfs_ebadf
int fifo_read(void *);
int fifo_write(void *);
int fifo_ioctl(void *);
int fifo_poll(void *);
int fifo_kqfilter(void *);
#define fifo_revoke genfs_revoke
#define fifo_mmap genfs_badop
#define fifo_fsync genfs_nullop
#define fifo_seek genfs_badop
#define fifo_remove genfs_badop
#define fifo_link genfs_badop
#define fifo_rename genfs_badop
#define fifo_mkdir genfs_badop
#define fifo_rmdir genfs_badop
#define fifo_symlink genfs_badop
#define fifo_readdir genfs_badop
#define fifo_readlink genfs_badop
#define fifo_abortop genfs_badop
#define fifo_reclaim genfs_nullop
#define fifo_lock genfs_lock
#define fifo_unlock genfs_unlock
int fifo_inactive(void *);
int fifo_bmap(void *);
#define fifo_strategy genfs_badop
int fifo_print(void *);
#define fifo_islocked genfs_islocked
int fifo_pathconf(void *);
#define fifo_advlock genfs_einval
#define fifo_bwrite genfs_nullop
#define fifo_putpages genfs_null_putpages
void fifo_printinfo(struct vnode *);
extern int (**fifo_vnodeop_p)(void *);

View File

@ -1,4 +1,4 @@
/* $NetBSD: fifo_vnops.c,v 1.67 2010/03/27 02:33:11 pooka Exp $ */
/* $NetBSD: fifo_vnops.c,v 1.68 2010/03/29 13:11:33 pooka Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@ -58,7 +58,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: fifo_vnops.c,v 1.67 2010/03/27 02:33:11 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: fifo_vnops.c,v 1.68 2010/03/29 13:11:33 pooka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -95,57 +95,11 @@ struct fifoinfo {
int fi_writers;
};
int (**fifo_vnodeop_p)(void *);
const struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_close_desc, fifo_close }, /* close */
{ &vop_access_desc, fifo_access }, /* access */
{ &vop_getattr_desc, fifo_getattr }, /* getattr */
{ &vop_setattr_desc, fifo_setattr }, /* setattr */
{ &vop_read_desc, fifo_read }, /* read */
{ &vop_write_desc, fifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_fsync_desc, fifo_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_inactive_desc, fifo_inactive }, /* inactive */
{ &vop_reclaim_desc, fifo_reclaim }, /* reclaim */
{ &vop_lock_desc, fifo_lock }, /* lock */
{ &vop_unlock_desc, fifo_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_print_desc, fifo_print }, /* print */
{ &vop_islocked_desc, fifo_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_bwrite_desc, fifo_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ (struct vnodeop_desc*)NULL, (int(*)(void *))NULL }
};
const struct vnodeopv_desc fifo_vnodeop_opv_desc =
{ &fifo_vnodeop_p, fifo_vnodeop_entries };
/*
* Trivial lookup routine that always fails.
*/
/* ARGSUSED */
int
static int
fifo_lookup(void *v)
{
struct vop_lookup_args /* {
@ -163,7 +117,7 @@ fifo_lookup(void *v)
* to find an active instance of a fifo.
*/
/* ARGSUSED */
int
static int
fifo_open(void *v)
{
struct vop_open_args /* {
@ -278,7 +232,7 @@ fifo_open(void *v)
* Vnode op for read
*/
/* ARGSUSED */
int
static int
fifo_read(void *v)
{
struct vop_read_args /* {
@ -326,7 +280,7 @@ fifo_read(void *v)
* Vnode op for write
*/
/* ARGSUSED */
int
static int
fifo_write(void *v)
{
struct vop_write_args /* {
@ -359,7 +313,7 @@ fifo_write(void *v)
* Device ioctl operation.
*/
/* ARGSUSED */
int
static int
fifo_ioctl(void *v)
{
struct vop_ioctl_args /* {
@ -391,7 +345,7 @@ fifo_ioctl(void *v)
}
/* ARGSUSED */
int
static int
fifo_poll(void *v)
{
struct vop_poll_args /* {
@ -417,7 +371,7 @@ fifo_poll(void *v)
return (revents);
}
int
static int
fifo_inactive(void *v)
{
struct vop_inactive_args /* {
@ -432,7 +386,7 @@ fifo_inactive(void *v)
/*
* This is a noop, simply returning what one has been given.
*/
int
static int
fifo_bmap(void *v)
{
struct vop_bmap_args /* {
@ -456,7 +410,7 @@ fifo_bmap(void *v)
* Device close routine
*/
/* ARGSUSED */
int
static int
fifo_close(void *v)
{
struct vop_close_args /* {
@ -504,40 +458,45 @@ fifo_close(void *v)
return (0);
}
/*
* Print out internal contents of a fifo vnode.
*/
static void
fifo_printinfo(struct vnode *vp)
{
struct fifoinfo *fip;
fip = vp->v_fifoinfo;
printf(", fifo with %d readers and %d writers",
fip->fi_readers, fip->fi_writers);
}
/*
* Print out the contents of a fifo vnode.
*/
int
static int
fifo_print(void *v)
{
struct vop_print_args /* {
struct vnode *a_vp;
} */ *ap = v;
/*
* We are most likely being called with the vnode belonging
* to some file system and this is not printed.
*/
if (ap->a_vp->v_tag == VT_NON)
printf("tag VT_NON");
fifo_printinfo(ap->a_vp);
printf("\n");
return 0;
}
/*
* Print out internal contents of a fifo vnode.
*/
void
fifo_printinfo(struct vnode *vp)
{
struct fifoinfo *fip;
if ((fip = vp->v_fifoinfo) != NULL) {
printf(", fifo with %d readers and %d writers",
fip->fi_readers, fip->fi_writers);
}
}
/*
* Return POSIX pathconf information applicable to fifo's.
*/
int
static int
fifo_pathconf(void *v)
{
struct vop_pathconf_args /* {
@ -641,7 +600,7 @@ static const struct filterops fifowrite_filtops =
{ 1, NULL, filt_fifowdetach, filt_fifowrite };
/* ARGSUSED */
int
static int
fifo_kqfilter(void *v)
{
struct vop_kqfilter_args /* {
@ -674,3 +633,49 @@ fifo_kqfilter(void *v)
return (0);
}
int (**fifo_vnodeop_p)(void *);
const struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, genfs_badop }, /* create */
{ &vop_mknod_desc, genfs_badop }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_close_desc, fifo_close }, /* close */
{ &vop_access_desc, genfs_ebadf }, /* access */
{ &vop_getattr_desc, genfs_ebadf }, /* getattr */
{ &vop_setattr_desc, genfs_ebadf }, /* setattr */
{ &vop_read_desc, fifo_read }, /* read */
{ &vop_write_desc, fifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, genfs_revoke }, /* revoke */
{ &vop_mmap_desc, genfs_badop }, /* mmap */
{ &vop_fsync_desc, genfs_nullop }, /* fsync */
{ &vop_seek_desc, genfs_badop }, /* seek */
{ &vop_remove_desc, genfs_badop }, /* remove */
{ &vop_link_desc, genfs_badop }, /* link */
{ &vop_rename_desc, genfs_badop }, /* rename */
{ &vop_mkdir_desc, genfs_badop }, /* mkdir */
{ &vop_rmdir_desc, genfs_badop }, /* rmdir */
{ &vop_symlink_desc, genfs_badop }, /* symlink */
{ &vop_readdir_desc, genfs_badop }, /* readdir */
{ &vop_readlink_desc, genfs_badop }, /* readlink */
{ &vop_abortop_desc, genfs_badop }, /* abortop */
{ &vop_inactive_desc, fifo_inactive }, /* inactive */
{ &vop_reclaim_desc, genfs_nullop }, /* reclaim */
{ &vop_lock_desc, genfs_lock }, /* lock */
{ &vop_unlock_desc, genfs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, genfs_badop }, /* strategy */
{ &vop_print_desc, fifo_print }, /* print */
{ &vop_islocked_desc, genfs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, genfs_einval }, /* advlock */
{ &vop_bwrite_desc, genfs_nullop }, /* bwrite */
{ &vop_putpages_desc, genfs_null_putpages }, /* putpages */
{ (struct vnodeop_desc*)NULL, (int(*)(void *))NULL }
};
const struct vnodeopv_desc fifo_vnodeop_opv_desc =
{ &fifo_vnodeop_p, fifo_vnodeop_entries };

View File

@ -1,4 +1,4 @@
/* $NetBSD: nfs_vnops.c,v 1.282 2010/01/08 11:35:11 pooka Exp $ */
/* $NetBSD: nfs_vnops.c,v 1.283 2010/03/29 13:11:33 pooka Exp $ */
/*
* Copyright (c) 1989, 1993
@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: nfs_vnops.c,v 1.282 2010/01/08 11:35:11 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: nfs_vnops.c,v 1.283 2010/03/29 13:11:33 pooka Exp $");
#ifdef _KERNEL_OPT
#include "opt_nfs.h"
@ -195,10 +195,10 @@ const struct vnodeopv_desc spec_nfsv2nodeop_opv_desc =
int (**fifo_nfsv2nodeop_p)(void *);
const struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, nfsfifo_close }, /* close */
{ &vop_access_desc, nfsspec_access }, /* access */
{ &vop_getattr_desc, nfs_getattr }, /* getattr */
@ -206,34 +206,34 @@ const struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = {
{ &vop_read_desc, nfsfifo_read }, /* read */
{ &vop_write_desc, nfsfifo_write }, /* write */
{ &vop_fcntl_desc, genfs_fcntl }, /* fcntl */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, nfs_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass }, /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, nfs_inactive }, /* inactive */
{ &vop_reclaim_desc, nfs_reclaim }, /* reclaim */
{ &vop_lock_desc, nfs_lock }, /* lock */
{ &vop_unlock_desc, nfs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_strategy_desc, genfs_badop }, /* strategy */
{ &vop_print_desc, nfs_print }, /* print */
{ &vop_islocked_desc, nfs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
{ &vop_bwrite_desc, genfs_badop }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ &vop_putpages_desc, vn_fifo_bypass }, /* putpages */
{ NULL, NULL }
};
const struct vnodeopv_desc fifo_nfsv2nodeop_opv_desc =
@ -3336,7 +3336,7 @@ nfs_print(void *v)
(unsigned long long)np->n_vattr->va_fileid,
(unsigned long long)np->n_vattr->va_fsid);
if (vp->v_type == VFIFO)
fifo_printinfo(vp);
VOCALL(fifo_vnodeop_p, VOFFSET(vop_print), v);
printf("\n");
return (0);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: vnode.h,v 1.214 2010/02/11 23:16:35 haad Exp $ */
/* $NetBSD: vnode.h,v 1.215 2010/03/29 13:11:32 pooka Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@ -643,6 +643,7 @@ int vn_extattr_set(struct vnode *, int, int, const char *, size_t,
const void *, struct lwp *);
int vn_extattr_rm(struct vnode *, int, int, const char *, struct lwp *);
void vn_ra_allocctx(struct vnode *);
int vn_fifo_bypass(void *);
/* initialise global vnode management */
void vntblinit(void);

View File

@ -1,4 +1,4 @@
/* $NetBSD: ext2fs_vnops.c,v 1.91 2009/10/21 17:37:21 pooka Exp $ */
/* $NetBSD: ext2fs_vnops.c,v 1.92 2010/03/29 13:11:33 pooka Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1993
@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.91 2009/10/21 17:37:21 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.92 2010/03/29 13:11:33 pooka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -1612,45 +1612,45 @@ const struct vnodeopv_desc ext2fs_specop_opv_desc =
int (**ext2fs_fifoop_p)(void *);
const struct vnodeopv_entry_desc ext2fs_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, ufsfifo_close }, /* close */
{ &vop_access_desc, ext2fs_access }, /* access */
{ &vop_getattr_desc, ext2fs_getattr }, /* getattr */
{ &vop_setattr_desc, ext2fs_setattr }, /* setattr */
{ &vop_read_desc, ufsfifo_read }, /* read */
{ &vop_write_desc, ufsfifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_fcntl_desc, ufs_fcntl }, /* fcntl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, ext2fs_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass }, /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, ext2fs_inactive }, /* inactive */
{ &vop_reclaim_desc, ext2fs_reclaim }, /* reclaim */
{ &vop_lock_desc, ufs_lock }, /* lock */
{ &vop_unlock_desc, ufs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_strategy_desc, vn_fifo_bypass }, /* strategy */
{ &vop_print_desc, ufs_print }, /* print */
{ &vop_islocked_desc, ufs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
{ &vop_bwrite_desc, vn_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ &vop_putpages_desc, vn_fifo_bypass }, /* putpages */
{ NULL, NULL }
};
const struct vnodeopv_desc ext2fs_fifoop_opv_desc =

View File

@ -1,4 +1,4 @@
/* $NetBSD: ffs_vnops.c,v 1.113 2009/11/04 09:45:05 hannken Exp $ */
/* $NetBSD: ffs_vnops.c,v 1.114 2010/03/29 13:11:33 pooka Exp $ */
/*-
* Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.113 2009/11/04 09:45:05 hannken Exp $");
__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.114 2010/03/29 13:11:33 pooka Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ffs.h"
@ -213,45 +213,45 @@ const struct vnodeopv_desc ffs_specop_opv_desc =
int (**ffs_fifoop_p)(void *);
const struct vnodeopv_entry_desc ffs_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, ufsfifo_close }, /* close */
{ &vop_access_desc, ufs_access }, /* access */
{ &vop_getattr_desc, ufs_getattr }, /* getattr */
{ &vop_setattr_desc, ufs_setattr }, /* setattr */
{ &vop_read_desc, ufsfifo_read }, /* read */
{ &vop_write_desc, ufsfifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_fcntl_desc, ufs_fcntl }, /* fcntl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, ffs_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass }, /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, ufs_inactive }, /* inactive */
{ &vop_reclaim_desc, ffs_reclaim }, /* reclaim */
{ &vop_lock_desc, ufs_lock }, /* lock */
{ &vop_unlock_desc, ufs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_strategy_desc, vn_fifo_bypass }, /* strategy */
{ &vop_print_desc, ufs_print }, /* print */
{ &vop_islocked_desc, ufs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
{ &vop_bwrite_desc, vn_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ &vop_putpages_desc, vn_fifo_bypass }, /* putpages */
{ &vop_openextattr_desc, ffs_openextattr }, /* openextattr */
{ &vop_closeextattr_desc, ffs_closeextattr }, /* closeextattr */
{ &vop_getextattr_desc, ffs_getextattr }, /* getextattr */

View File

@ -1,4 +1,4 @@
/* $NetBSD: lfs_vnops.c,v 1.226 2009/12/07 04:12:10 eeh Exp $ */
/* $NetBSD: lfs_vnops.c,v 1.227 2010/03/29 13:11:34 pooka Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.226 2009/12/07 04:12:10 eeh Exp $");
__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.227 2010/03/29 13:11:34 pooka Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@ -204,45 +204,45 @@ const struct vnodeopv_desc lfs_specop_opv_desc =
int (**lfs_fifoop_p)(void *);
const struct vnodeopv_entry_desc lfs_fifoop_entries[] = {
{ &vop_default_desc, vn_default_error },
{ &vop_lookup_desc, fifo_lookup }, /* lookup */
{ &vop_create_desc, fifo_create }, /* create */
{ &vop_mknod_desc, fifo_mknod }, /* mknod */
{ &vop_open_desc, fifo_open }, /* open */
{ &vop_lookup_desc, vn_fifo_bypass }, /* lookup */
{ &vop_create_desc, vn_fifo_bypass }, /* create */
{ &vop_mknod_desc, vn_fifo_bypass }, /* mknod */
{ &vop_open_desc, vn_fifo_bypass }, /* open */
{ &vop_close_desc, lfsfifo_close }, /* close */
{ &vop_access_desc, ufs_access }, /* access */
{ &vop_getattr_desc, lfs_getattr }, /* getattr */
{ &vop_setattr_desc, lfs_setattr }, /* setattr */
{ &vop_read_desc, ufsfifo_read }, /* read */
{ &vop_write_desc, ufsfifo_write }, /* write */
{ &vop_ioctl_desc, fifo_ioctl }, /* ioctl */
{ &vop_ioctl_desc, vn_fifo_bypass }, /* ioctl */
{ &vop_fcntl_desc, ufs_fcntl }, /* fcntl */
{ &vop_poll_desc, fifo_poll }, /* poll */
{ &vop_kqfilter_desc, fifo_kqfilter }, /* kqfilter */
{ &vop_revoke_desc, fifo_revoke }, /* revoke */
{ &vop_mmap_desc, fifo_mmap }, /* mmap */
{ &vop_fsync_desc, fifo_fsync }, /* fsync */
{ &vop_seek_desc, fifo_seek }, /* seek */
{ &vop_remove_desc, fifo_remove }, /* remove */
{ &vop_link_desc, fifo_link }, /* link */
{ &vop_rename_desc, fifo_rename }, /* rename */
{ &vop_mkdir_desc, fifo_mkdir }, /* mkdir */
{ &vop_rmdir_desc, fifo_rmdir }, /* rmdir */
{ &vop_symlink_desc, fifo_symlink }, /* symlink */
{ &vop_readdir_desc, fifo_readdir }, /* readdir */
{ &vop_readlink_desc, fifo_readlink }, /* readlink */
{ &vop_abortop_desc, fifo_abortop }, /* abortop */
{ &vop_poll_desc, vn_fifo_bypass }, /* poll */
{ &vop_kqfilter_desc, vn_fifo_bypass }, /* kqfilter */
{ &vop_revoke_desc, vn_fifo_bypass }, /* revoke */
{ &vop_mmap_desc, vn_fifo_bypass }, /* mmap */
{ &vop_fsync_desc, vn_fifo_bypass }, /* fsync */
{ &vop_seek_desc, vn_fifo_bypass }, /* seek */
{ &vop_remove_desc, vn_fifo_bypass }, /* remove */
{ &vop_link_desc, vn_fifo_bypass }, /* link */
{ &vop_rename_desc, vn_fifo_bypass }, /* rename */
{ &vop_mkdir_desc, vn_fifo_bypass }, /* mkdir */
{ &vop_rmdir_desc, vn_fifo_bypass }, /* rmdir */
{ &vop_symlink_desc, vn_fifo_bypass }, /* symlink */
{ &vop_readdir_desc, vn_fifo_bypass }, /* readdir */
{ &vop_readlink_desc, vn_fifo_bypass }, /* readlink */
{ &vop_abortop_desc, vn_fifo_bypass }, /* abortop */
{ &vop_inactive_desc, lfs_inactive }, /* inactive */
{ &vop_reclaim_desc, lfs_reclaim }, /* reclaim */
{ &vop_lock_desc, ufs_lock }, /* lock */
{ &vop_unlock_desc, ufs_unlock }, /* unlock */
{ &vop_bmap_desc, fifo_bmap }, /* bmap */
{ &vop_strategy_desc, fifo_strategy }, /* strategy */
{ &vop_bmap_desc, vn_fifo_bypass }, /* bmap */
{ &vop_strategy_desc, vn_fifo_bypass }, /* strategy */
{ &vop_print_desc, ufs_print }, /* print */
{ &vop_islocked_desc, ufs_islocked }, /* islocked */
{ &vop_pathconf_desc, fifo_pathconf }, /* pathconf */
{ &vop_advlock_desc, fifo_advlock }, /* advlock */
{ &vop_pathconf_desc, vn_fifo_bypass }, /* pathconf */
{ &vop_advlock_desc, vn_fifo_bypass }, /* advlock */
{ &vop_bwrite_desc, lfs_bwrite }, /* bwrite */
{ &vop_putpages_desc, fifo_putpages }, /* putpages */
{ &vop_putpages_desc, vn_fifo_bypass }, /* putpages */
{ NULL, NULL }
};
const struct vnodeopv_desc lfs_fifoop_opv_desc =

View File

@ -1,4 +1,4 @@
/* $NetBSD: ufs_vnops.c,v 1.180 2009/10/14 09:40:27 hannken Exp $ */
/* $NetBSD: ufs_vnops.c,v 1.181 2010/03/29 13:11:34 pooka Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.180 2009/10/14 09:40:27 hannken Exp $");
__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.181 2010/03/29 13:11:34 pooka Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ffs.h"
@ -1908,7 +1908,7 @@ ufs_print(void *v)
ip->i_mode, ip->i_uid, ip->i_gid,
(long long)ip->i_size);
if (vp->v_type == VFIFO)
fifo_printinfo(vp);
VOCALL(fifo_vnodeop_p, VOFFSET(vop_print), v);
printf("\n");
return (0);
}