VFS mega cleanup commit (x/N)

1.  Add new file "sys/kern/vfs_default.c" where default actions for
    VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE,
    POLL, REVOKE and STRATEGY.  Various stuff spread over the entire
    tree belongs here.

2.  Change VOP_BLKATOFF to a normal function in cd9660.

3.  Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC.  These
    are private interface functions between UFS and the underlying
    storage manager layer (FFS/LFS/MFS/EXT2FS).  The functions now
    live in struct ufsmount instead.

4.  Remove a kludge of VOP_ functions in all filesystems, that did
    nothing but obscure the simplicity and break the expandability.
    If a filesystem doesn't implement VOP_FOO, it shouldn't have an
    entry for it in its vnops table.  The system will try to DTRT
    if it is not implemented.  There are still some cruft left, but
    the bulk of it is done.

5.  Fix another VCALL in vfs_cache.c (thanks Bruce!)
This commit is contained in:
Poul-Henning Kamp 1997-10-16 10:50:27 +00:00
parent 9fb4ca060c
commit cec0f20ce7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=30474
73 changed files with 526 additions and 1491 deletions

View File

@ -136,6 +136,7 @@ kern/vfs_bio.c standard
kern/vfs_cache.c standard
kern/vfs_cluster.c standard
kern/vfs_conf.c standard
kern/vfs_default.c standard
kern/vfs_init.c standard
kern/vfs_lookup.c standard
kern/vfs_subr.c standard

View File

@ -38,7 +38,7 @@
* from: @(#)ufs_lookup.c 7.33 (Berkeley) 5/19/91
*
* @(#)cd9660_lookup.c 8.2 (Berkeley) 1/23/94
* $Id: cd9660_lookup.c,v 1.17 1997/08/26 07:32:30 phk Exp $
* $Id: cd9660_lookup.c,v 1.18 1997/09/10 19:43:15 phk Exp $
*/
#include <sys/param.h>
@ -165,7 +165,7 @@ cd9660_lookup(ap)
} else {
dp->i_offset = dp->i_diroff;
if ((entryoffsetinblock = dp->i_offset & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
(error = cd9660_blkatoff(vdp, (off_t)dp->i_offset, NULL, &bp)))
return (error);
numdirpasses = 2;
nchstats.ncs_2passes++;
@ -183,7 +183,7 @@ cd9660_lookup(ap)
if (bp != NULL)
brelse(bp);
if (error =
VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp))
cd9660_blkatoff(vdp, (off_t)dp->i_offset, NULL, &bp))
return (error);
entryoffsetinblock = 0;
}
@ -280,7 +280,7 @@ cd9660_lookup(ap)
lblkno(imp, saveoffset)) {
if (bp != NULL)
brelse(bp);
if (error = VOP_BLKATOFF(vdp,
if (error = cd9660_blkatoff(vdp,
(off_t)saveoffset, NULL, &bp))
return (error);
}
@ -394,13 +394,11 @@ cd9660_lookup(ap)
* remaining space in the directory.
*/
int
cd9660_blkatoff(ap)
struct vop_blkatoff_args /* {
struct vnode *a_vp;
off_t a_offset;
char **a_res;
struct buf **a_bpp;
} */ *ap;
cd9660_blkatoff(vp, offset, res, bpp)
struct vnode *vp;
off_t offset;
char **res;
struct buf **bpp;
{
struct iso_node *ip;
register struct iso_mnt *imp;
@ -408,18 +406,18 @@ cd9660_blkatoff(ap)
daddr_t lbn;
int bsize, error;
ip = VTOI(ap->a_vp);
ip = VTOI(vp);
imp = ip->i_mnt;
lbn = lblkno(imp, ap->a_offset);
lbn = lblkno(imp, offset);
bsize = blksize(imp, ip, lbn);
if (error = bread(ap->a_vp, lbn, bsize, NOCRED, &bp)) {
if (error = bread(vp, lbn, bsize, NOCRED, &bp)) {
brelse(bp);
*ap->a_bpp = NULL;
*bpp = NULL;
return (error);
}
if (ap->a_res)
*ap->a_res = (char *)bp->b_data + blkoff(imp, ap->a_offset);
*ap->a_bpp = bp;
if (res)
*res = (char *)bp->b_data + blkoff(imp, offset);
*bpp = bp;
return (0);
}

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_node.c 8.2 (Berkeley) 1/23/94
* $Id: cd9660_node.c,v 1.19 1997/04/14 18:15:45 phk Exp $
* $Id: cd9660_node.c,v 1.20 1997/08/02 14:31:18 bde Exp $
*/
#include <sys/param.h>
@ -241,7 +241,7 @@ cd9660_defattr(isodir, inop, bp, ftype)
if (!bp
&& ((imp = inop->i_mnt)->im_flags & ISOFSMNT_EXTATT)
&& (off = isonum_711(isodir->ext_attr_length))) {
VOP_BLKATOFF(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
cd9660_blkatoff(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
&bp2);
bp = bp2;
}
@ -293,7 +293,7 @@ cd9660_deftstamp(isodir,inop,bp,ftype)
if (!bp
&& ((imp = inop->i_mnt)->im_flags & ISOFSMNT_EXTATT)
&& (off = isonum_711(isodir->ext_attr_length))) {
VOP_BLKATOFF(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
cd9660_blkatoff(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
&bp2);
bp = bp2;
}

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_node.h 8.6 (Berkeley) 5/14/95
* $Id: cd9660_node.h,v 1.12 1997/08/26 07:32:31 phk Exp $
* $Id: cd9660_node.h,v 1.13 1997/10/12 20:23:36 phk Exp $
*/
/*
@ -105,8 +105,7 @@ int cd9660_inactive __P((struct vop_inactive_args *));
int cd9660_reclaim __P((struct vop_reclaim_args *));
int cd9660_bmap __P((struct vop_bmap_args *));
int cd9660_pathconf __P((struct vop_pathconf_args *));
int cd9660_blkatoff __P((struct vop_blkatoff_args *));
#define cd9660_revoke vop_revoke
int cd9660_blkatoff __P((struct vnode *vp, off_t offset, char **res, struct buf **bpp));
void cd9660_defattr __P((struct iso_directory_record *,
struct iso_node *, struct buf *, enum ISO_FTYPE));

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95
* $Id: cd9660_vfsops.c,v 1.29 1997/09/27 13:38:48 kato Exp $
* $Id: cd9660_vfsops.c,v 1.30 1997/10/12 20:23:38 phk Exp $
*/
#include <sys/param.h>
@ -765,7 +765,7 @@ cd9660_vget_internal(mp, ino, vpp, relocated, isodir)
ip->iso_start = ino >> imp->im_bshift;
if (bp != 0)
brelse(bp);
if (error = VOP_BLKATOFF(vp, (off_t)0, NULL, &bp)) {
if (error = cd9660_blkatoff(vp, (off_t)0, NULL, &bp)) {
vput(vp);
return (error);
}
@ -787,7 +787,7 @@ cd9660_vget_internal(mp, ino, vpp, relocated, isodir)
int off;
if ((imp->im_flags & ISOFSMNT_EXTATT)
&& (off = isonum_711(isodir->ext_attr_length)))
VOP_BLKATOFF(vp, (off_t)-(off << imp->im_bshift), NULL,
cd9660_blkatoff(vp, (off_t)-(off << imp->im_bshift), NULL,
&bp2);
else
bp2 = NULL;

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
* $Id: cd9660_vnops.c,v 1.42 1997/10/15 10:03:58 phk Exp $
* $Id: cd9660_vnops.c,v 1.43 1997/10/15 13:22:39 phk Exp $
*/
#include <sys/param.h>
@ -569,7 +569,7 @@ cd9660_readdir(ap)
idp->curroff = uio->uio_offset;
if ((entryoffsetinblock = idp->curroff & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)idp->curroff, NULL, &bp))) {
(error = cd9660_blkatoff(vdp, (off_t)idp->curroff, NULL, &bp))) {
FREE(idp, M_TEMP);
return (error);
}
@ -585,7 +585,7 @@ cd9660_readdir(ap)
if (bp != NULL)
brelse(bp);
if (error =
VOP_BLKATOFF(vdp, (off_t)idp->curroff, NULL, &bp))
cd9660_blkatoff(vdp, (off_t)idp->curroff, NULL, &bp))
break;
entryoffsetinblock = 0;
}
@ -952,44 +952,6 @@ cd9660_pathconf(ap)
/* NOTREACHED */
}
/*
* Global vfs data structures for isofs
*/
#define cd9660_create \
((int (*) __P((struct vop_create_args *)))eopnotsupp)
#define cd9660_mknod ((int (*) __P((struct vop_mknod_args *)))eopnotsupp)
#define cd9660_write ((int (*) __P((struct vop_write_args *)))eopnotsupp)
#ifdef NFS
#define cd9660_lease_check lease_check
#else
#define cd9660_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
#endif
#define cd9660_poll vop_nopoll
#define cd9660_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define cd9660_remove \
((int (*) __P((struct vop_remove_args *)))eopnotsupp)
#define cd9660_link ((int (*) __P((struct vop_link_args *)))eopnotsupp)
#define cd9660_rename \
((int (*) __P((struct vop_rename_args *)))eopnotsupp)
#define cd9660_mkdir ((int (*) __P((struct vop_mkdir_args *)))eopnotsupp)
#define cd9660_rmdir ((int (*) __P((struct vop_rmdir_args *)))eopnotsupp)
#define cd9660_symlink \
((int (*) __P((struct vop_symlink_args *)))eopnotsupp)
#define cd9660_advlock \
((int (*) __P((struct vop_advlock_args *)))eopnotsupp)
#define cd9660_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) eopnotsupp)
#define cd9660_vfree ((int (*) __P((struct vop_vfree_args *)))eopnotsupp)
#define cd9660_truncate \
((int (*) __P((struct vop_truncate_args *)))eopnotsupp)
#define cd9660_update \
((int (*) __P((struct vop_update_args *)))eopnotsupp)
#define cd9660_bwrite \
((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
/*
* Global vfs data structures for cd9660
*/
@ -998,47 +960,28 @@ struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) cd9660_abortop },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_advlock_desc, (vop_t *) cd9660_advlock },
{ &vop_blkatoff_desc, (vop_t *) cd9660_blkatoff },
{ &vop_bmap_desc, (vop_t *) cd9660_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) cd9660_lookup },
{ &vop_close_desc, (vop_t *) cd9660_close },
{ &vop_create_desc, (vop_t *) cd9660_create },
{ &vop_fsync_desc, (vop_t *) cd9660_fsync },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_ioctl_desc, (vop_t *) cd9660_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lease_desc, (vop_t *) cd9660_lease_check },
{ &vop_link_desc, (vop_t *) cd9660_link },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) cd9660_mkdir },
{ &vop_mknod_desc, (vop_t *) cd9660_mknod },
{ &vop_mmap_desc, (vop_t *) cd9660_mmap },
{ &vop_open_desc, (vop_t *) cd9660_open },
{ &vop_pathconf_desc, (vop_t *) cd9660_pathconf },
{ &vop_poll_desc, (vop_t *) cd9660_poll },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) cd9660_read },
{ &vop_readdir_desc, (vop_t *) cd9660_readdir },
{ &vop_readlink_desc, (vop_t *) cd9660_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_remove_desc, (vop_t *) cd9660_remove },
{ &vop_rename_desc, (vop_t *) cd9660_rename },
{ &vop_revoke_desc, (vop_t *) cd9660_revoke },
{ &vop_rmdir_desc, (vop_t *) cd9660_rmdir },
{ &vop_seek_desc, (vop_t *) cd9660_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) cd9660_strategy },
{ &vop_symlink_desc, (vop_t *) cd9660_symlink },
{ &vop_truncate_desc, (vop_t *) cd9660_truncate },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ &vop_valloc_desc, (vop_t *) cd9660_valloc },
{ &vop_vfree_desc, (vop_t *) cd9660_vfree },
{ &vop_write_desc, (vop_t *) cd9660_write },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_vnodeop_opv_desc =
@ -1052,7 +995,6 @@ vop_t **cd9660_specop_p;
struct vnodeopv_entry_desc cd9660_specop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
@ -1061,7 +1003,6 @@ struct vnodeopv_entry_desc cd9660_specop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_specop_opv_desc =
@ -1072,7 +1013,6 @@ vop_t **cd9660_fifoop_p;
struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
@ -1081,7 +1021,6 @@ struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_fifoop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)dead_vnops.c 8.1 (Berkeley) 6/10/93
* $Id: dead_vnops.c,v 1.16 1997/10/15 09:20:50 phk Exp $
* $Id: dead_vnops.c,v 1.17 1997/10/15 10:04:03 phk Exp $
*/
#include <sys/param.h>
@ -47,88 +47,48 @@ static int chkvnlock __P((struct vnode *));
static int dead_badop __P((void));
static int dead_ebadf __P((void));
static int dead_lookup __P((struct vop_lookup_args *));
#define dead_create ((int (*) __P((struct vop_create_args *)))dead_badop)
#define dead_mknod ((int (*) __P((struct vop_mknod_args *)))dead_badop)
static int dead_open __P((struct vop_open_args *));
#define dead_close ((int (*) __P((struct vop_close_args *)))nullop)
#define dead_access ((int (*) __P((struct vop_access_args *)))dead_ebadf)
#define dead_getattr ((int (*) __P((struct vop_getattr_args *)))dead_ebadf)
#define dead_setattr ((int (*) __P((struct vop_setattr_args *)))dead_ebadf)
static int dead_read __P((struct vop_read_args *));
static int dead_write __P((struct vop_write_args *));
static int dead_ioctl __P((struct vop_ioctl_args *));
#define dead_poll vop_nopoll
#define dead_mmap ((int (*) __P((struct vop_mmap_args *)))dead_badop)
#define dead_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define dead_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define dead_remove ((int (*) __P((struct vop_remove_args *)))dead_badop)
#define dead_link ((int (*) __P((struct vop_link_args *)))dead_badop)
#define dead_rename ((int (*) __P((struct vop_rename_args *)))dead_badop)
#define dead_mkdir ((int (*) __P((struct vop_mkdir_args *)))dead_badop)
#define dead_rmdir ((int (*) __P((struct vop_rmdir_args *)))dead_badop)
#define dead_symlink ((int (*) __P((struct vop_symlink_args *)))dead_badop)
#define dead_readdir ((int (*) __P((struct vop_readdir_args *)))dead_ebadf)
#define dead_readlink ((int (*) __P((struct vop_readlink_args *)))dead_ebadf)
#define dead_abortop ((int (*) __P((struct vop_abortop_args *)))dead_badop)
#define dead_inactive ((int (*) __P((struct vop_inactive_args *)))nullop)
#define dead_reclaim ((int (*) __P((struct vop_reclaim_args *)))nullop)
static int dead_lock __P((struct vop_lock_args *));
#define dead_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
static int dead_bmap __P((struct vop_bmap_args *));
static int dead_strategy __P((struct vop_strategy_args *));
static int dead_print __P((struct vop_print_args *));
#define dead_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
#define dead_pathconf ((int (*) __P((struct vop_pathconf_args *)))dead_ebadf)
#define dead_advlock ((int (*) __P((struct vop_advlock_args *)))dead_ebadf)
#define dead_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))dead_badop)
#define dead_valloc ((int (*) __P((struct vop_valloc_args *)))dead_badop)
#define dead_vfree ((int (*) __P((struct vop_vfree_args *)))dead_badop)
#define dead_truncate ((int (*) __P((struct vop_truncate_args *)))nullop)
#define dead_update ((int (*) __P((struct vop_update_args *)))nullop)
#define dead_bwrite ((int (*) __P((struct vop_bwrite_args *)))nullop)
vop_t **dead_vnodeop_p;
static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) dead_abortop },
{ &vop_access_desc, (vop_t *) dead_access },
{ &vop_advlock_desc, (vop_t *) dead_advlock },
{ &vop_blkatoff_desc, (vop_t *) dead_blkatoff },
{ &vop_access_desc, (vop_t *) dead_ebadf },
{ &vop_advlock_desc, (vop_t *) dead_ebadf },
{ &vop_bmap_desc, (vop_t *) dead_bmap },
{ &vop_bwrite_desc, (vop_t *) dead_bwrite },
{ &vop_close_desc, (vop_t *) dead_close },
{ &vop_create_desc, (vop_t *) dead_create },
{ &vop_fsync_desc, (vop_t *) dead_fsync },
{ &vop_getattr_desc, (vop_t *) dead_getattr },
{ &vop_inactive_desc, (vop_t *) dead_inactive },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_create_desc, (vop_t *) dead_badop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) dead_ebadf },
{ &vop_inactive_desc, (vop_t *) nullop },
{ &vop_ioctl_desc, (vop_t *) dead_ioctl },
{ &vop_islocked_desc, (vop_t *) dead_islocked },
{ &vop_link_desc, (vop_t *) dead_link },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) dead_badop },
{ &vop_lock_desc, (vop_t *) dead_lock },
{ &vop_lookup_desc, (vop_t *) dead_lookup },
{ &vop_mkdir_desc, (vop_t *) dead_mkdir },
{ &vop_mknod_desc, (vop_t *) dead_mknod },
{ &vop_mmap_desc, (vop_t *) dead_mmap },
{ &vop_mkdir_desc, (vop_t *) dead_badop },
{ &vop_mknod_desc, (vop_t *) dead_badop },
{ &vop_mmap_desc, (vop_t *) dead_badop },
{ &vop_open_desc, (vop_t *) dead_open },
{ &vop_pathconf_desc, (vop_t *) dead_pathconf },
{ &vop_poll_desc, (vop_t *) dead_poll },
{ &vop_pathconf_desc, (vop_t *) dead_ebadf },
{ &vop_print_desc, (vop_t *) dead_print },
{ &vop_read_desc, (vop_t *) dead_read },
{ &vop_readdir_desc, (vop_t *) dead_readdir },
{ &vop_readlink_desc, (vop_t *) dead_readlink },
{ &vop_reclaim_desc, (vop_t *) dead_reclaim },
{ &vop_remove_desc, (vop_t *) dead_remove },
{ &vop_rename_desc, (vop_t *) dead_rename },
{ &vop_rmdir_desc, (vop_t *) dead_rmdir },
{ &vop_seek_desc, (vop_t *) dead_seek },
{ &vop_setattr_desc, (vop_t *) dead_setattr },
{ &vop_strategy_desc, (vop_t *) dead_strategy },
{ &vop_symlink_desc, (vop_t *) dead_symlink },
{ &vop_truncate_desc, (vop_t *) dead_truncate },
{ &vop_unlock_desc, (vop_t *) dead_unlock },
{ &vop_update_desc, (vop_t *) dead_update },
{ &vop_valloc_desc, (vop_t *) dead_valloc },
{ &vop_vfree_desc, (vop_t *) dead_vfree },
{ &vop_readdir_desc, (vop_t *) dead_ebadf },
{ &vop_readlink_desc, (vop_t *) dead_ebadf },
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) dead_badop },
{ &vop_rename_desc, (vop_t *) dead_badop },
{ &vop_rmdir_desc, (vop_t *) dead_badop },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) dead_ebadf },
{ &vop_symlink_desc, (vop_t *) dead_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) dead_write },
{ NULL, NULL }
};
@ -244,23 +204,6 @@ dead_ioctl(ap)
return (VCALL(ap->a_vp, VOFFSET(vop_ioctl), ap));
}
/*
* Just call the device strategy routine
*/
static int
dead_strategy(ap)
struct vop_strategy_args /* {
struct buf *a_bp;
} */ *ap;
{
if (ap->a_bp->b_vp == NULL || !chkvnlock(ap->a_bp->b_vp)) {
ap->a_bp->b_flags |= B_ERROR;
biodone(ap->a_bp);
return (EIO);
}
return (VOP_STRATEGY(ap->a_bp));
}
/*
* Wait until the vnode has finished changing state.

View File

@ -35,7 +35,7 @@
*
* @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94
*
* $Id: fdesc_vnops.c,v 1.27 1997/10/15 09:20:57 phk Exp $
* $Id: fdesc_vnops.c,v 1.28 1997/10/15 10:04:12 phk Exp $
*/
/*
@ -99,7 +99,6 @@ static int fdesc_readlink __P((struct vop_readlink_args *ap));
static int fdesc_reclaim __P((struct vop_reclaim_args *ap));
static int fdesc_poll __P((struct vop_poll_args *ap));
static int fdesc_setattr __P((struct vop_setattr_args *ap));
static int fdesc_vfree __P((struct vop_vfree_args *ap));
static int fdesc_write __P((struct vop_write_args *ap));
/*
@ -883,19 +882,6 @@ fdesc_print(ap)
return (0);
}
/*void*/
static int
fdesc_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
{
return (0);
}
/*
* /dev/fd "should never get here" operation
*/
@ -907,61 +893,18 @@ fdesc_badop()
/* NOTREACHED */
}
#define fdesc_create ((int (*) __P((struct vop_create_args *)))eopnotsupp)
#define fdesc_mknod ((int (*) __P((struct vop_mknod_args *)))eopnotsupp)
#define fdesc_close ((int (*) __P((struct vop_close_args *)))nullop)
#define fdesc_access ((int (*) __P((struct vop_access_args *)))nullop)
#define fdesc_mmap ((int (*) __P((struct vop_mmap_args *)))eopnotsupp)
#define fdesc_revoke vop_revoke
#define fdesc_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define fdesc_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define fdesc_remove ((int (*) __P((struct vop_remove_args *)))eopnotsupp)
#define fdesc_link ((int (*) __P((struct vop_link_args *)))eopnotsupp)
#define fdesc_rename ((int (*) __P((struct vop_rename_args *)))eopnotsupp)
#define fdesc_mkdir ((int (*) __P((struct vop_mkdir_args *)))eopnotsupp)
#define fdesc_rmdir ((int (*) __P((struct vop_rmdir_args *)))eopnotsupp)
#define fdesc_symlink ((int (*) __P((struct vop_symlink_args *)))eopnotsupp)
#define fdesc_abortop ((int (*) __P((struct vop_abortop_args *)))nullop)
#define fdesc_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define fdesc_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define fdesc_bmap ((int (*) __P((struct vop_bmap_args *)))fdesc_badop)
#define fdesc_strategy ((int (*) __P((struct vop_strategy_args *)))fdesc_badop)
#define fdesc_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define fdesc_advlock ((int (*) __P((struct vop_advlock_args *)))eopnotsupp)
#define fdesc_blkatoff \
((int (*) __P((struct vop_blkatoff_args *)))eopnotsupp)
#define fdesc_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) eopnotsupp)
#define fdesc_truncate \
((int (*) __P((struct vop_truncate_args *)))eopnotsupp)
#define fdesc_update ((int (*) __P((struct vop_update_args *)))eopnotsupp)
#define fdesc_bwrite ((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fdesc_abortop },
{ &vop_access_desc, (vop_t *) fdesc_access },
{ &vop_advlock_desc, (vop_t *) fdesc_advlock },
{ &vop_blkatoff_desc, (vop_t *) fdesc_blkatoff },
{ &vop_bmap_desc, (vop_t *) fdesc_bmap },
{ &vop_bwrite_desc, (vop_t *) fdesc_bwrite },
{ &vop_close_desc, (vop_t *) fdesc_close },
{ &vop_create_desc, (vop_t *) fdesc_create },
{ &vop_fsync_desc, (vop_t *) fdesc_fsync },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) fdesc_badop },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) fdesc_getattr },
{ &vop_inactive_desc, (vop_t *) fdesc_inactive },
{ &vop_ioctl_desc, (vop_t *) fdesc_ioctl },
{ &vop_islocked_desc, (vop_t *) fdesc_islocked },
{ &vop_link_desc, (vop_t *) fdesc_link },
{ &vop_lock_desc, (vop_t *) fdesc_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) fdesc_lookup },
{ &vop_mkdir_desc, (vop_t *) fdesc_mkdir },
{ &vop_mknod_desc, (vop_t *) fdesc_mknod },
{ &vop_mmap_desc, (vop_t *) fdesc_mmap },
{ &vop_open_desc, (vop_t *) fdesc_open },
{ &vop_pathconf_desc, (vop_t *) fdesc_pathconf },
{ &vop_poll_desc, (vop_t *) fdesc_poll },
@ -970,19 +913,9 @@ static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_readdir_desc, (vop_t *) fdesc_readdir },
{ &vop_readlink_desc, (vop_t *) fdesc_readlink },
{ &vop_reclaim_desc, (vop_t *) fdesc_reclaim },
{ &vop_remove_desc, (vop_t *) fdesc_remove },
{ &vop_rename_desc, (vop_t *) fdesc_rename },
{ &vop_revoke_desc, (vop_t *) fdesc_revoke },
{ &vop_rmdir_desc, (vop_t *) fdesc_rmdir },
{ &vop_seek_desc, (vop_t *) fdesc_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) fdesc_setattr },
{ &vop_strategy_desc, (vop_t *) fdesc_strategy },
{ &vop_symlink_desc, (vop_t *) fdesc_symlink },
{ &vop_truncate_desc, (vop_t *) fdesc_truncate },
{ &vop_unlock_desc, (vop_t *) fdesc_unlock },
{ &vop_update_desc, (vop_t *) fdesc_update },
{ &vop_valloc_desc, (vop_t *) fdesc_valloc },
{ &vop_vfree_desc, (vop_t *) fdesc_vfree },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) fdesc_write },
{ NULL, NULL }
};

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
* $Id: fifo_vnops.c,v 1.30 1997/10/15 10:04:18 phk Exp $
* $Id: fifo_vnops.c,v 1.31 1997/10/15 13:23:12 phk Exp $
*/
#include <sys/param.h>
@ -82,9 +82,7 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_abortop_desc, (vop_t *) fifo_badop },
{ &vop_access_desc, (vop_t *) fifo_ebadf },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_badop },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &vop_create_desc, (vop_t *) fifo_badop },
{ &vop_fsync_desc, (vop_t *) nullop },
@ -110,17 +108,12 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) fifo_badop },
{ &vop_rename_desc, (vop_t *) fifo_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_badop },
{ &vop_seek_desc, (vop_t *) fifo_badop },
{ &vop_setattr_desc, (vop_t *) fifo_ebadf },
{ &vop_strategy_desc, (vop_t *) fifo_badop },
{ &vop_symlink_desc, (vop_t *) fifo_badop },
{ &vop_truncate_desc, (vop_t *) fifo_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) fifo_badop },
{ &vop_vfree_desc, (vop_t *) fifo_badop },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};

View File

@ -1,4 +1,4 @@
/* $Id: msdosfs_vnops.c,v 1.46 1997/10/15 09:21:39 phk Exp $ */
/* $Id: msdosfs_vnops.c,v 1.47 1997/10/15 10:05:03 phk Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
/*-
@ -1992,7 +1992,6 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
{ &vop_access_desc, (vop_t *) msdosfs_access },
{ &vop_advlock_desc, (vop_t *) msdosfs_advlock },
{ &vop_bmap_desc, (vop_t *) msdosfs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) msdosfs_lookup },
{ &vop_close_desc, (vop_t *) msdosfs_close },
{ &vop_create_desc, (vop_t *) msdosfs_create },

View File

@ -35,7 +35,7 @@
*
* @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95
*
* $Id: portal_vnops.c,v 1.22 1997/10/15 09:21:11 phk Exp $
* $Id: portal_vnops.c,v 1.23 1997/10/15 10:04:34 phk Exp $
*/
/*
@ -78,7 +78,6 @@ static int portal_print __P((struct vop_print_args *ap));
static int portal_readdir __P((struct vop_readdir_args *ap));
static int portal_reclaim __P((struct vop_reclaim_args *ap));
static int portal_setattr __P((struct vop_setattr_args *ap));
static int portal_vfree __P((struct vop_vfree_args *ap));
static void
portal_closefd(p, fd)
@ -612,19 +611,6 @@ portal_print(ap)
return (0);
}
/*void*/
static int
portal_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
{
return (0);
}
/*
* Portal vnode unsupported operation
@ -647,94 +633,26 @@ portal_badop()
/* NOTREACHED */
}
#define portal_create ((int (*) __P((struct vop_create_args *)))portal_enotsupp)
#define portal_mknod ((int (*) __P((struct vop_mknod_args *)))portal_enotsupp)
#define portal_close ((int (*) __P((struct vop_close_args *)))nullop)
#define portal_access ((int (*) __P((struct vop_access_args *)))nullop)
#define portal_read ((int (*) __P((struct vop_read_args *)))portal_enotsupp)
#define portal_write ((int (*) __P((struct vop_write_args *)))portal_enotsupp)
#define portal_ioctl ((int (*) __P((struct vop_ioctl_args *)))portal_enotsupp)
#define portal_mmap ((int (*) __P((struct vop_mmap_args *)))portal_enotsupp)
#define portal_poll vop_nopoll
#define portal_revoke vop_revoke
#define portal_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define portal_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define portal_remove ((int (*) __P((struct vop_remove_args *)))portal_enotsupp)
#define portal_link ((int (*) __P((struct vop_link_args *)))portal_enotsupp)
#define portal_rename ((int (*) __P((struct vop_rename_args *)))portal_enotsupp)
#define portal_mkdir ((int (*) __P((struct vop_mkdir_args *)))portal_enotsupp)
#define portal_rmdir ((int (*) __P((struct vop_rmdir_args *)))portal_enotsupp)
#define portal_symlink \
((int (*) __P((struct vop_symlink_args *)))portal_enotsupp)
#define portal_readlink \
((int (*) __P((struct vop_readlink_args *)))portal_enotsupp)
#define portal_abortop ((int (*) __P((struct vop_abortop_args *)))nullop)
#define portal_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define portal_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define portal_bmap ((int (*) __P((struct vop_bmap_args *)))portal_badop)
#define portal_strategy \
((int (*) __P((struct vop_strategy_args *)))portal_badop)
#define portal_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define fifo_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
#define portal_advlock \
((int (*) __P((struct vop_advlock_args *)))portal_enotsupp)
#define portal_blkatoff \
((int (*) __P((struct vop_blkatoff_args *)))portal_enotsupp)
#define portal_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) portal_enotsupp)
#define portal_truncate \
((int (*) __P((struct vop_truncate_args *)))portal_enotsupp)
#define portal_update ((int (*) __P((struct vop_update_args *)))portal_enotsupp)
#define portal_bwrite ((int (*) __P((struct vop_bwrite_args *)))portal_enotsupp)
vop_t **portal_vnodeop_p;
static struct vnodeopv_entry_desc portal_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) portal_abortop },
{ &vop_access_desc, (vop_t *) portal_access },
{ &vop_advlock_desc, (vop_t *) portal_advlock },
{ &vop_blkatoff_desc, (vop_t *) portal_blkatoff },
{ &vop_bmap_desc, (vop_t *) portal_bmap },
{ &vop_bwrite_desc, (vop_t *) portal_bwrite },
{ &vop_close_desc, (vop_t *) portal_close },
{ &vop_create_desc, (vop_t *) portal_create },
{ &vop_fsync_desc, (vop_t *) portal_fsync },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) portal_badop },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) portal_getattr },
{ &vop_inactive_desc, (vop_t *) portal_inactive },
{ &vop_ioctl_desc, (vop_t *) portal_ioctl },
{ &vop_islocked_desc, (vop_t *) portal_islocked },
{ &vop_link_desc, (vop_t *) portal_link },
{ &vop_lock_desc, (vop_t *) portal_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) portal_lookup },
{ &vop_mkdir_desc, (vop_t *) portal_mkdir },
{ &vop_mknod_desc, (vop_t *) portal_mknod },
{ &vop_mmap_desc, (vop_t *) portal_mmap },
{ &vop_open_desc, (vop_t *) portal_open },
{ &vop_pathconf_desc, (vop_t *) portal_pathconf },
{ &vop_poll_desc, (vop_t *) portal_poll },
{ &vop_print_desc, (vop_t *) portal_print },
{ &vop_read_desc, (vop_t *) portal_read },
{ &vop_readdir_desc, (vop_t *) portal_readdir },
{ &vop_readlink_desc, (vop_t *) portal_readlink },
{ &vop_reclaim_desc, (vop_t *) portal_reclaim },
{ &vop_remove_desc, (vop_t *) portal_remove },
{ &vop_rename_desc, (vop_t *) portal_rename },
{ &vop_revoke_desc, (vop_t *) portal_revoke },
{ &vop_rmdir_desc, (vop_t *) portal_rmdir },
{ &vop_seek_desc, (vop_t *) portal_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) portal_setattr },
{ &vop_strategy_desc, (vop_t *) portal_strategy },
{ &vop_symlink_desc, (vop_t *) portal_symlink },
{ &vop_truncate_desc, (vop_t *) portal_truncate },
{ &vop_unlock_desc, (vop_t *) portal_unlock },
{ &vop_update_desc, (vop_t *) portal_update },
{ &vop_valloc_desc, (vop_t *) portal_valloc },
{ &vop_vfree_desc, (vop_t *) portal_vfree },
{ &vop_write_desc, (vop_t *) portal_write },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ NULL, NULL }
};
static struct vnodeopv_desc portal_vnodeop_opv_desc =

View File

@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
* $Id: procfs_vnops.c,v 1.34 1997/10/15 09:21:19 phk Exp $
* $Id: procfs_vnops.c,v 1.35 1997/10/15 10:04:38 phk Exp $
*/
/*
@ -936,33 +936,6 @@ atopid(b, len)
return (p);
}
#define procfs_create ((int (*) __P((struct vop_create_args *))) procfs_badop)
#define procfs_mknod ((int (*) __P((struct vop_mknod_args *))) procfs_badop)
#define procfs_read procfs_rw
#define procfs_write procfs_rw
#define procfs_mmap ((int (*) __P((struct vop_mmap_args *))) procfs_badop)
#define procfs_poll vop_nopoll
#define procfs_revoke vop_revoke
#define procfs_fsync ((int (*) __P((struct vop_fsync_args *))) procfs_badop)
#define procfs_seek ((int (*) __P((struct vop_seek_args *))) procfs_badop)
#define procfs_remove ((int (*) __P((struct vop_remove_args *))) procfs_badop)
#define procfs_link ((int (*) __P((struct vop_link_args *))) procfs_badop)
#define procfs_rename ((int (*) __P((struct vop_rename_args *))) procfs_badop)
#define procfs_mkdir ((int (*) __P((struct vop_mkdir_args *))) procfs_badop)
#define procfs_rmdir ((int (*) __P((struct vop_rmdir_args *))) procfs_badop)
#define procfs_symlink ((int (*) __P((struct vop_symlink_args *))) procfs_badop)
#define procfs_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define procfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define procfs_strategy ((int (*) __P((struct vop_strategy_args *))) procfs_badop)
#define procfs_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define procfs_advlock ((int (*) __P((struct vop_advlock_args *))) procfs_badop)
#define procfs_blkatoff ((int (*) __P((struct vop_blkatoff_args *))) procfs_badop)
#define procfs_valloc ((int (*) __P((struct vop_valloc_args *))) procfs_badop)
#define procfs_vfree ((int (*) __P((struct vop_vfree_args *))) nullop)
#define procfs_truncate ((int (*) __P((struct vop_truncate_args *))) procfs_badop)
#define procfs_update ((int (*) __P((struct vop_update_args *))) nullop)
/*
* procfs vnode operations.
*/
@ -971,44 +944,36 @@ static struct vnodeopv_entry_desc procfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) procfs_abortop },
{ &vop_access_desc, (vop_t *) procfs_access },
{ &vop_advlock_desc, (vop_t *) procfs_advlock },
{ &vop_blkatoff_desc, (vop_t *) procfs_blkatoff },
{ &vop_advlock_desc, (vop_t *) procfs_badop },
{ &vop_bmap_desc, (vop_t *) procfs_bmap },
{ &vop_close_desc, (vop_t *) procfs_close },
{ &vop_create_desc, (vop_t *) procfs_create },
{ &vop_fsync_desc, (vop_t *) procfs_fsync },
{ &vop_create_desc, (vop_t *) procfs_badop },
{ &vop_getattr_desc, (vop_t *) procfs_getattr },
{ &vop_inactive_desc, (vop_t *) procfs_inactive },
{ &vop_ioctl_desc, (vop_t *) procfs_ioctl },
{ &vop_islocked_desc, (vop_t *) procfs_islocked },
{ &vop_link_desc, (vop_t *) procfs_link },
{ &vop_lock_desc, (vop_t *) procfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) procfs_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) procfs_lookup },
{ &vop_mkdir_desc, (vop_t *) procfs_mkdir },
{ &vop_mknod_desc, (vop_t *) procfs_mknod },
{ &vop_mmap_desc, (vop_t *) procfs_mmap },
{ &vop_mkdir_desc, (vop_t *) procfs_badop },
{ &vop_mknod_desc, (vop_t *) procfs_badop },
{ &vop_mmap_desc, (vop_t *) procfs_badop },
{ &vop_open_desc, (vop_t *) procfs_open },
{ &vop_pathconf_desc, (vop_t *) procfs_pathconf },
{ &vop_poll_desc, (vop_t *) procfs_poll },
{ &vop_print_desc, (vop_t *) procfs_print },
{ &vop_read_desc, (vop_t *) procfs_read },
{ &vop_read_desc, (vop_t *) procfs_rw },
{ &vop_readdir_desc, (vop_t *) procfs_readdir },
{ &vop_readlink_desc, (vop_t *) procfs_readlink },
{ &vop_reclaim_desc, (vop_t *) procfs_reclaim },
{ &vop_remove_desc, (vop_t *) procfs_remove },
{ &vop_rename_desc, (vop_t *) procfs_rename },
{ &vop_revoke_desc, (vop_t *) procfs_revoke },
{ &vop_rmdir_desc, (vop_t *) procfs_rmdir },
{ &vop_seek_desc, (vop_t *) procfs_seek },
{ &vop_remove_desc, (vop_t *) procfs_badop },
{ &vop_rename_desc, (vop_t *) procfs_badop },
{ &vop_rmdir_desc, (vop_t *) procfs_badop },
{ &vop_seek_desc, (vop_t *) procfs_badop },
{ &vop_setattr_desc, (vop_t *) procfs_setattr },
{ &vop_strategy_desc, (vop_t *) procfs_strategy },
{ &vop_symlink_desc, (vop_t *) procfs_symlink },
{ &vop_truncate_desc, (vop_t *) procfs_truncate },
{ &vop_unlock_desc, (vop_t *) procfs_unlock },
{ &vop_update_desc, (vop_t *) procfs_update },
{ &vop_valloc_desc, (vop_t *) procfs_valloc },
{ &vop_vfree_desc, (vop_t *) procfs_vfree },
{ &vop_write_desc, (vop_t *) procfs_write },
{ &vop_symlink_desc, (vop_t *) procfs_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) procfs_rw },
{ NULL, NULL }
};
static struct vnodeopv_desc procfs_vnodeop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95
* $Id: spec_vnops.c,v 1.45 1997/10/15 10:04:43 phk Exp $
* $Id: spec_vnops.c,v 1.46 1997/10/15 13:23:18 phk Exp $
*/
#include <sys/param.h>
@ -81,12 +81,9 @@ struct vnode *speclisth[SPECHSZ];
vop_t **spec_vnodeop_p;
static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_badop },
{ &vop_access_desc, (vop_t *) spec_ebadf },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_badop },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_badop },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
@ -113,17 +110,13 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) spec_badop },
{ &vop_rename_desc, (vop_t *) spec_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_badop },
{ &vop_seek_desc, (vop_t *) spec_badop },
{ &vop_setattr_desc, (vop_t *) spec_ebadf },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_badop },
{ &vop_truncate_desc, (vop_t *) nullop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) spec_badop },
{ &vop_vfree_desc, (vop_t *) spec_badop },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
@ -480,7 +473,7 @@ spec_poll(ap)
dev = ap->a_vp->v_rdev;
return (*cdevsw[major(dev)]->d_poll)(dev, ap->a_events, ap->a_p);
default:
return (vop_nopoll(ap));
return (vn_defaultop((struct vop_generic_args *)ap));
}
}

View File

@ -56,6 +56,7 @@
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <ufs/ufs/ufsmount.h>
#include <gnu/ext2fs/ext2_fs.h>
#include <gnu/ext2fs/ext2_fs_sb.h>
@ -383,26 +384,22 @@ return ENOSPC;
* ext2_new_inode(), to make sure we get the policies right
*/
int
ext2_valloc(ap)
struct vop_valloc_args /* {
struct vnode *a_pvp;
int a_mode;
struct ucred *a_cred;
struct vnode **a_vpp;
} */ *ap;
ext2_valloc(pvp, mode, cred, vpp)
struct vnode *pvp;
int mode;
struct ucred *cred;
struct vnode **vpp;
{
register struct vnode *pvp = ap->a_pvp;
register struct inode *pip;
register struct ext2_sb_info *fs;
register struct inode *ip;
mode_t mode = ap->a_mode;
ino_t ino;
int i, error;
#if !defined(__FreeBSD__)
struct timeval time;
#endif
*ap->a_vpp = NULL;
*vpp = NULL;
pip = VTOI(pvp);
fs = pip->i_e2fs;
if (fs->s_es->s_free_inodes_count == 0)
@ -413,12 +410,12 @@ ext2_valloc(ap)
if (ino == 0)
goto noinodes;
error = VFS_VGET(pvp->v_mount, ino, ap->a_vpp);
error = VFS_VGET(pvp->v_mount, ino, vpp);
if (error) {
VOP_VFREE(pvp, ino, mode);
UFS_VFREE(pvp, ino, mode);
return (error);
}
ip = VTOI(*ap->a_vpp);
ip = VTOI(*vpp);
/*
the question is whether using VGET was such good idea at all -
@ -448,7 +445,7 @@ printf("ext2_valloc: allocated inode %d\n", ino);
*/
return (0);
noinodes:
ext2_fserr(fs, ap->a_cred->cr_uid, "out of inodes");
ext2_fserr(fs, cred->cr_uid, "out of inodes");
uprintf("\n%s: create/symlink failed, no inodes free\n", fs->fs_fsmnt);
return (ENOSPC);
}
@ -525,25 +522,21 @@ ext2_blkfree(ip, bno, size)
* the maintenance of the actual bitmaps is again up to the linux code
*/
int
ext2_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
ext2_vfree(pvp, ino, mode)
struct vnode *pvp;
ino_t ino;
int mode;
{
register struct ext2_sb_info *fs;
register struct inode *pip;
ino_t ino = ap->a_ino;
int mode;
pip = VTOI(ap->a_pvp);
pip = VTOI(pvp);
fs = pip->i_e2fs;
if ((u_int)ino >= fs->s_inodes_per_group * fs->s_groups_count)
panic("ifree: range: dev = 0x%x, ino = %d, fs = %s",
pip->i_dev, ino, fs->fs_fsmnt);
/* ext2_debug("ext2_vfree (%d, %d) called\n", pip->i_number, ap->a_mode);
/* ext2_debug("ext2_vfree (%d, %d) called\n", pip->i_number, mode);
*/
ext2_discard_prealloc(pip);
@ -553,7 +546,7 @@ ext2_vfree(ap)
'set i_mode to zero to denote an unused inode' is
*/
mode = pip->i_mode;
pip->i_mode = ap->a_mode;
pip->i_mode = mode;
ext2_free_inode(pip);
pip->i_mode = mode;
return (0);

View File

@ -53,7 +53,7 @@ int ext2_alloc __P((struct inode *,
daddr_t, daddr_t, int, struct ucred *, daddr_t *));
int ext2_balloc __P((struct inode *,
daddr_t, int, struct ucred *, struct buf **, int));
int ext2_blkatoff __P((struct vop_blkatoff_args *));
int ext2_blkatoff __P((struct vnode *, off_t, char **, struct buf **));
void ext2_blkfree __P((struct inode *, daddr_t, long));
daddr_t ext2_blkpref __P((struct inode *, daddr_t, int, daddr_t *, daddr_t));
int ext2_bmap __P((struct vop_bmap_args *));
@ -61,10 +61,10 @@ int ext2_init __P((struct vfsconf *));
int ext2_reallocblks __P((struct vop_reallocblks_args *));
int ext2_reclaim __P((struct vop_reclaim_args *));
void ext2_setblock __P((struct ext2_sb_info *, u_char *, daddr_t));
int ext2_truncate __P((struct vop_truncate_args *));
int ext2_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int ext2_update __P((struct vop_update_args *));
int ext2_valloc __P((struct vop_valloc_args *));
int ext2_vfree __P((struct vop_vfree_args *));
int ext2_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int ext2_vfree __P((struct vnode *, ino_t, int));
int ext2_lookup __P((struct vop_cachedlookup_args *));
int ext2_readdir __P((struct vop_readdir_args *));
void ext2_print_dinode __P((struct dinode *));

View File

@ -156,21 +156,18 @@ ext2_update(ap)
* disk blocks.
*/
int
ext2_truncate(ap)
struct vop_truncate_args /* {
struct vnode *a_vp;
off_t a_length;
int a_flags;
struct ucred *a_cred;
struct proc *a_p;
} */ *ap;
ext2_truncate(vp, length, flags, cred, p)
struct vnode *vp;
off_t length;
int flags;
struct ucred *cred;
struct proc *p;
{
register struct vnode *ovp = ap->a_vp;
register struct vnode *ovp = vp;
register daddr_t lastblock;
register struct inode *oip;
daddr_t bn, lbn, lastiblock[NIADDR], indir_lbn[NIADDR];
daddr_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR];
off_t length = ap->a_length;
register struct ext2_sb_info *fs;
struct buf *bp;
int offset, size, level;
@ -180,7 +177,7 @@ ext2_truncate(ap)
int aflags, error, allerror;
off_t osize;
/*
printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
*/ /*
* negative file sizes will totally break the code below and
* are not meaningful anyways.
@ -221,10 +218,10 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
offset = blkoff(fs, length - 1);
lbn = lblkno(fs, length - 1);
aflags = B_CLRBUF;
if (ap->a_flags & IO_SYNC)
if (flags & IO_SYNC)
aflags |= B_SYNC;
vnode_pager_setsize(ovp, length);
if (error = ext2_balloc(oip, lbn, offset + 1, ap->a_cred, &bp,
if (error = ext2_balloc(oip, lbn, offset + 1, cred, &bp,
aflags))
return (error);
oip->i_size = length;
@ -252,9 +249,9 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
} else {
lbn = lblkno(fs, length);
aflags = B_CLRBUF;
if (ap->a_flags & IO_SYNC)
if (flags & IO_SYNC)
aflags |= B_SYNC;
if (error = ext2_balloc(oip, lbn, offset, ap->a_cred, &bp,
if (error = ext2_balloc(oip, lbn, offset, cred, &bp,
aflags))
return (error);
oip->i_size = length;
@ -307,7 +304,7 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
bcopy((caddr_t)oldblks, (caddr_t)&oip->i_db[0], sizeof oldblks);
oip->i_size = osize;
vflags = ((length > 0) ? V_SAVE : 0) | V_SAVEMETA;
allerror = vinvalbuf(ovp, vflags, ap->a_cred, ap->a_p, 0, 0);
allerror = vinvalbuf(ovp, vflags, cred, p, 0, 0);
/*
* Indirect blocks first.

View File

@ -349,7 +349,7 @@ ext2_lookup(ap)
} else {
dp->i_offset = dp->i_diroff;
if ((entryoffsetinblock = dp->i_offset & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
(error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
return (error);
numdirpasses = 2;
nchstats.ncs_2passes++;
@ -367,7 +367,7 @@ ext2_lookup(ap)
if (bp != NULL)
brelse(bp);
if (error =
VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp))
UFS_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp))
return (error);
entryoffsetinblock = 0;
}
@ -802,7 +802,7 @@ ext2_direnter(ip, dvp, cnp)
/*
* Get the block containing the space for the new directory entry.
*/
if (error = VOP_BLKATOFF(dvp, (off_t)dp->i_offset, &dirbuf, &bp))
if (error = UFS_BLKATOFF(dvp, (off_t)dp->i_offset, &dirbuf, &bp))
return (error);
/*
* Find space for the new entry. In the simple case, the entry at
@ -848,7 +848,7 @@ ext2_direnter(ip, dvp, cnp)
error = VOP_BWRITE(bp);
dp->i_flag |= IN_CHANGE | IN_UPDATE;
if (!error && dp->i_endoff && dp->i_endoff < dp->i_size)
error = VOP_TRUNCATE(dvp, (off_t)dp->i_endoff, IO_SYNC,
error = UFS_TRUNCATE(dvp, (off_t)dp->i_endoff, IO_SYNC,
cnp->cn_cred, cnp->cn_proc);
return (error);
}
@ -881,7 +881,7 @@ ext2_dirremove(dvp, cnp)
* First entry in block: set d_ino to zero.
*/
if (error =
VOP_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp))
UFS_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp))
return (error);
ep->inode = 0;
error = VOP_BWRITE(bp);
@ -891,7 +891,7 @@ ext2_dirremove(dvp, cnp)
/*
* Collapse new free space into previous entry.
*/
if (error = VOP_BLKATOFF(dvp, (off_t)(dp->i_offset - dp->i_count),
if (error = UFS_BLKATOFF(dvp, (off_t)(dp->i_offset - dp->i_count),
(char **)&ep, &bp))
return (error);
ep->rec_len += dp->i_reclen;
@ -915,7 +915,7 @@ ext2_dirrewrite(dp, ip, cnp)
struct vnode *vdp = ITOV(dp);
int error;
if (error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp))
if (error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp))
return (error);
ep->inode = ip->i_number;
error = VOP_BWRITE(bp);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufsmount.h 8.6 (Berkeley) 3/30/95
* $Id: ufsmount.h,v 1.9 1997/10/10 18:18:13 phk Exp $
* $Id: ufsmount.h,v 1.10 1997/10/12 20:26:28 phk Exp $
*/
#ifndef _UFS_UFS_UFSMOUNT_H_
@ -97,8 +97,17 @@ struct ufsmount {
struct netexport um_export; /* export information */
int64_t um_savedmaxfilesize; /* XXX - limit maxfilesize */
struct malloc_type *um_malloctype; /* The inodes malloctype */
int (*um_blkatoff) __P((struct vnode *, off_t, char **, struct buf **));
int (*um_truncate) __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int (*um_valloc) __P((struct vnode *, int, struct ucred *, struct vnode **));
int (*um_vfree) __P((struct vnode *, ino_t, int));
};
#define UFS_BLKATOFF(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_blkatoff(aa, bb, cc, dd)
#define UFS_TRUNCATE(aa, bb, cc, dd, ee) VFSTOUFS((aa)->v_mount)->um_truncate(aa, bb, cc, dd, ee)
#define UFS_VALLOC(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_valloc(aa, bb, cc, dd)
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
/*
* Flags describing the state of quotas.
*/

View File

@ -307,7 +307,7 @@ WRITE(ap)
ip->i_mode &= ~(ISUID | ISGID);
if (error) {
if (ioflag & IO_UNIT) {
(void)VOP_TRUNCATE(vp, osize,
(void)UFS_TRUNCATE(vp, osize,
ioflag & IO_SYNC, ap->a_cred, uio->uio_procp);
uio->uio_offset -= resid - uio->uio_resid;
uio->uio_resid = resid;

View File

@ -56,13 +56,11 @@
* remaining space in the directory.
*/
int
ext2_blkatoff(ap)
struct vop_blkatoff_args /* {
struct vnode *a_vp;
off_t a_offset;
char **a_res;
struct buf **a_bpp;
} */ *ap;
ext2_blkatoff(vp, offset, res, bpp)
struct vnode *vp;
off_t offset;
char **res;
struct buf **bpp;
{
struct inode *ip;
register struct ext2_sb_info *fs;
@ -70,19 +68,19 @@ ext2_blkatoff(ap)
daddr_t lbn;
int bsize, error;
ip = VTOI(ap->a_vp);
ip = VTOI(vp);
fs = ip->i_e2fs;
lbn = lblkno(fs, ap->a_offset);
lbn = lblkno(fs, offset);
bsize = blksize(fs, ip, lbn);
*ap->a_bpp = NULL;
if (error = bread(ap->a_vp, lbn, bsize, NOCRED, &bp)) {
*bpp = NULL;
if (error = bread(vp, lbn, bsize, NOCRED, &bp)) {
brelse(bp);
return (error);
}
if (ap->a_res)
*ap->a_res = (char *)bp->b_data + blkoff(fs, ap->a_offset);
*ap->a_bpp = bp;
if (res)
*res = (char *)bp->b_data + blkoff(fs, offset);
*bpp = bp;
return (0);
}

View File

@ -621,6 +621,10 @@ ext2_mountfs(devvp, mp, p)
ump = bsd_malloc(sizeof *ump, M_UFSMNT, M_WAITOK);
bzero((caddr_t)ump, sizeof *ump);
ump->um_malloctype = M_EXT2NODE;
ump->um_blkatoff = ext2_blkatoff;
ump->um_truncate = ext2_truncate;
ump->um_valloc = ext2_valloc;
ump->um_vfree = ext2_vfree;
/* I don't know whether this is the right strategy. Note that
we dynamically allocate both a ext2_sb_info and a ext2_super_block
while Linux keeps the super block in a locked buffer

View File

@ -69,6 +69,7 @@
#endif
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/ufs_extern.h>
#include <ufs/ffs/ffs_extern.h>
@ -84,17 +85,13 @@ static int ext2_write __P((struct vop_write_args *));
vop_t **ext2_vnodeop_p;
static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) ext2_blkatoff },
{ &vop_cachedlookup_desc, (vop_t *) ext2_lookup },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_read_desc, (vop_t *) ext2_read },
{ &vop_readdir_desc, (vop_t *) ext2_readdir },
{ &vop_reallocblks_desc, (vop_t *) ext2_reallocblks },
{ &vop_truncate_desc, (vop_t *) ext2_truncate },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) ext2_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ &vop_write_desc, (vop_t *) ext2_write },
{ NULL, NULL }
};
@ -107,7 +104,6 @@ static struct vnodeopv_entry_desc ext2_specop_entries[] = {
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_specop_opv_desc =
@ -119,7 +115,6 @@ static struct vnodeopv_entry_desc ext2_fifoop_entries[] = {
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_fifoop_opv_desc =

View File

@ -56,6 +56,7 @@
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <ufs/ufs/ufsmount.h>
#include <gnu/ext2fs/ext2_fs.h>
#include <gnu/ext2fs/ext2_fs_sb.h>
@ -383,26 +384,22 @@ return ENOSPC;
* ext2_new_inode(), to make sure we get the policies right
*/
int
ext2_valloc(ap)
struct vop_valloc_args /* {
struct vnode *a_pvp;
int a_mode;
struct ucred *a_cred;
struct vnode **a_vpp;
} */ *ap;
ext2_valloc(pvp, mode, cred, vpp)
struct vnode *pvp;
int mode;
struct ucred *cred;
struct vnode **vpp;
{
register struct vnode *pvp = ap->a_pvp;
register struct inode *pip;
register struct ext2_sb_info *fs;
register struct inode *ip;
mode_t mode = ap->a_mode;
ino_t ino;
int i, error;
#if !defined(__FreeBSD__)
struct timeval time;
#endif
*ap->a_vpp = NULL;
*vpp = NULL;
pip = VTOI(pvp);
fs = pip->i_e2fs;
if (fs->s_es->s_free_inodes_count == 0)
@ -413,12 +410,12 @@ ext2_valloc(ap)
if (ino == 0)
goto noinodes;
error = VFS_VGET(pvp->v_mount, ino, ap->a_vpp);
error = VFS_VGET(pvp->v_mount, ino, vpp);
if (error) {
VOP_VFREE(pvp, ino, mode);
UFS_VFREE(pvp, ino, mode);
return (error);
}
ip = VTOI(*ap->a_vpp);
ip = VTOI(*vpp);
/*
the question is whether using VGET was such good idea at all -
@ -448,7 +445,7 @@ printf("ext2_valloc: allocated inode %d\n", ino);
*/
return (0);
noinodes:
ext2_fserr(fs, ap->a_cred->cr_uid, "out of inodes");
ext2_fserr(fs, cred->cr_uid, "out of inodes");
uprintf("\n%s: create/symlink failed, no inodes free\n", fs->fs_fsmnt);
return (ENOSPC);
}
@ -525,25 +522,21 @@ ext2_blkfree(ip, bno, size)
* the maintenance of the actual bitmaps is again up to the linux code
*/
int
ext2_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
ext2_vfree(pvp, ino, mode)
struct vnode *pvp;
ino_t ino;
int mode;
{
register struct ext2_sb_info *fs;
register struct inode *pip;
ino_t ino = ap->a_ino;
int mode;
pip = VTOI(ap->a_pvp);
pip = VTOI(pvp);
fs = pip->i_e2fs;
if ((u_int)ino >= fs->s_inodes_per_group * fs->s_groups_count)
panic("ifree: range: dev = 0x%x, ino = %d, fs = %s",
pip->i_dev, ino, fs->fs_fsmnt);
/* ext2_debug("ext2_vfree (%d, %d) called\n", pip->i_number, ap->a_mode);
/* ext2_debug("ext2_vfree (%d, %d) called\n", pip->i_number, mode);
*/
ext2_discard_prealloc(pip);
@ -553,7 +546,7 @@ ext2_vfree(ap)
'set i_mode to zero to denote an unused inode' is
*/
mode = pip->i_mode;
pip->i_mode = ap->a_mode;
pip->i_mode = mode;
ext2_free_inode(pip);
pip->i_mode = mode;
return (0);

View File

@ -53,7 +53,7 @@ int ext2_alloc __P((struct inode *,
daddr_t, daddr_t, int, struct ucred *, daddr_t *));
int ext2_balloc __P((struct inode *,
daddr_t, int, struct ucred *, struct buf **, int));
int ext2_blkatoff __P((struct vop_blkatoff_args *));
int ext2_blkatoff __P((struct vnode *, off_t, char **, struct buf **));
void ext2_blkfree __P((struct inode *, daddr_t, long));
daddr_t ext2_blkpref __P((struct inode *, daddr_t, int, daddr_t *, daddr_t));
int ext2_bmap __P((struct vop_bmap_args *));
@ -61,10 +61,10 @@ int ext2_init __P((struct vfsconf *));
int ext2_reallocblks __P((struct vop_reallocblks_args *));
int ext2_reclaim __P((struct vop_reclaim_args *));
void ext2_setblock __P((struct ext2_sb_info *, u_char *, daddr_t));
int ext2_truncate __P((struct vop_truncate_args *));
int ext2_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int ext2_update __P((struct vop_update_args *));
int ext2_valloc __P((struct vop_valloc_args *));
int ext2_vfree __P((struct vop_vfree_args *));
int ext2_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int ext2_vfree __P((struct vnode *, ino_t, int));
int ext2_lookup __P((struct vop_cachedlookup_args *));
int ext2_readdir __P((struct vop_readdir_args *));
void ext2_print_dinode __P((struct dinode *));

View File

@ -156,21 +156,18 @@ ext2_update(ap)
* disk blocks.
*/
int
ext2_truncate(ap)
struct vop_truncate_args /* {
struct vnode *a_vp;
off_t a_length;
int a_flags;
struct ucred *a_cred;
struct proc *a_p;
} */ *ap;
ext2_truncate(vp, length, flags, cred, p)
struct vnode *vp;
off_t length;
int flags;
struct ucred *cred;
struct proc *p;
{
register struct vnode *ovp = ap->a_vp;
register struct vnode *ovp = vp;
register daddr_t lastblock;
register struct inode *oip;
daddr_t bn, lbn, lastiblock[NIADDR], indir_lbn[NIADDR];
daddr_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR];
off_t length = ap->a_length;
register struct ext2_sb_info *fs;
struct buf *bp;
int offset, size, level;
@ -180,7 +177,7 @@ ext2_truncate(ap)
int aflags, error, allerror;
off_t osize;
/*
printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, length);
*/ /*
* negative file sizes will totally break the code below and
* are not meaningful anyways.
@ -221,10 +218,10 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
offset = blkoff(fs, length - 1);
lbn = lblkno(fs, length - 1);
aflags = B_CLRBUF;
if (ap->a_flags & IO_SYNC)
if (flags & IO_SYNC)
aflags |= B_SYNC;
vnode_pager_setsize(ovp, length);
if (error = ext2_balloc(oip, lbn, offset + 1, ap->a_cred, &bp,
if (error = ext2_balloc(oip, lbn, offset + 1, cred, &bp,
aflags))
return (error);
oip->i_size = length;
@ -252,9 +249,9 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
} else {
lbn = lblkno(fs, length);
aflags = B_CLRBUF;
if (ap->a_flags & IO_SYNC)
if (flags & IO_SYNC)
aflags |= B_SYNC;
if (error = ext2_balloc(oip, lbn, offset, ap->a_cred, &bp,
if (error = ext2_balloc(oip, lbn, offset, cred, &bp,
aflags))
return (error);
oip->i_size = length;
@ -307,7 +304,7 @@ printf("ext2_truncate called %d to %d\n", VTOI(ovp)->i_number, ap->a_length);
bcopy((caddr_t)oldblks, (caddr_t)&oip->i_db[0], sizeof oldblks);
oip->i_size = osize;
vflags = ((length > 0) ? V_SAVE : 0) | V_SAVEMETA;
allerror = vinvalbuf(ovp, vflags, ap->a_cred, ap->a_p, 0, 0);
allerror = vinvalbuf(ovp, vflags, cred, p, 0, 0);
/*
* Indirect blocks first.

View File

@ -349,7 +349,7 @@ ext2_lookup(ap)
} else {
dp->i_offset = dp->i_diroff;
if ((entryoffsetinblock = dp->i_offset & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
(error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
return (error);
numdirpasses = 2;
nchstats.ncs_2passes++;
@ -367,7 +367,7 @@ ext2_lookup(ap)
if (bp != NULL)
brelse(bp);
if (error =
VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp))
UFS_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp))
return (error);
entryoffsetinblock = 0;
}
@ -802,7 +802,7 @@ ext2_direnter(ip, dvp, cnp)
/*
* Get the block containing the space for the new directory entry.
*/
if (error = VOP_BLKATOFF(dvp, (off_t)dp->i_offset, &dirbuf, &bp))
if (error = UFS_BLKATOFF(dvp, (off_t)dp->i_offset, &dirbuf, &bp))
return (error);
/*
* Find space for the new entry. In the simple case, the entry at
@ -848,7 +848,7 @@ ext2_direnter(ip, dvp, cnp)
error = VOP_BWRITE(bp);
dp->i_flag |= IN_CHANGE | IN_UPDATE;
if (!error && dp->i_endoff && dp->i_endoff < dp->i_size)
error = VOP_TRUNCATE(dvp, (off_t)dp->i_endoff, IO_SYNC,
error = UFS_TRUNCATE(dvp, (off_t)dp->i_endoff, IO_SYNC,
cnp->cn_cred, cnp->cn_proc);
return (error);
}
@ -881,7 +881,7 @@ ext2_dirremove(dvp, cnp)
* First entry in block: set d_ino to zero.
*/
if (error =
VOP_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp))
UFS_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp))
return (error);
ep->inode = 0;
error = VOP_BWRITE(bp);
@ -891,7 +891,7 @@ ext2_dirremove(dvp, cnp)
/*
* Collapse new free space into previous entry.
*/
if (error = VOP_BLKATOFF(dvp, (off_t)(dp->i_offset - dp->i_count),
if (error = UFS_BLKATOFF(dvp, (off_t)(dp->i_offset - dp->i_count),
(char **)&ep, &bp))
return (error);
ep->rec_len += dp->i_reclen;
@ -915,7 +915,7 @@ ext2_dirrewrite(dp, ip, cnp)
struct vnode *vdp = ITOV(dp);
int error;
if (error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp))
if (error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp))
return (error);
ep->inode = ip->i_number;
error = VOP_BWRITE(bp);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufsmount.h 8.6 (Berkeley) 3/30/95
* $Id: ufsmount.h,v 1.9 1997/10/10 18:18:13 phk Exp $
* $Id: ufsmount.h,v 1.10 1997/10/12 20:26:28 phk Exp $
*/
#ifndef _UFS_UFS_UFSMOUNT_H_
@ -97,8 +97,17 @@ struct ufsmount {
struct netexport um_export; /* export information */
int64_t um_savedmaxfilesize; /* XXX - limit maxfilesize */
struct malloc_type *um_malloctype; /* The inodes malloctype */
int (*um_blkatoff) __P((struct vnode *, off_t, char **, struct buf **));
int (*um_truncate) __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int (*um_valloc) __P((struct vnode *, int, struct ucred *, struct vnode **));
int (*um_vfree) __P((struct vnode *, ino_t, int));
};
#define UFS_BLKATOFF(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_blkatoff(aa, bb, cc, dd)
#define UFS_TRUNCATE(aa, bb, cc, dd, ee) VFSTOUFS((aa)->v_mount)->um_truncate(aa, bb, cc, dd, ee)
#define UFS_VALLOC(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_valloc(aa, bb, cc, dd)
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
/*
* Flags describing the state of quotas.
*/

View File

@ -307,7 +307,7 @@ WRITE(ap)
ip->i_mode &= ~(ISUID | ISGID);
if (error) {
if (ioflag & IO_UNIT) {
(void)VOP_TRUNCATE(vp, osize,
(void)UFS_TRUNCATE(vp, osize,
ioflag & IO_SYNC, ap->a_cred, uio->uio_procp);
uio->uio_offset -= resid - uio->uio_resid;
uio->uio_resid = resid;

View File

@ -56,13 +56,11 @@
* remaining space in the directory.
*/
int
ext2_blkatoff(ap)
struct vop_blkatoff_args /* {
struct vnode *a_vp;
off_t a_offset;
char **a_res;
struct buf **a_bpp;
} */ *ap;
ext2_blkatoff(vp, offset, res, bpp)
struct vnode *vp;
off_t offset;
char **res;
struct buf **bpp;
{
struct inode *ip;
register struct ext2_sb_info *fs;
@ -70,19 +68,19 @@ ext2_blkatoff(ap)
daddr_t lbn;
int bsize, error;
ip = VTOI(ap->a_vp);
ip = VTOI(vp);
fs = ip->i_e2fs;
lbn = lblkno(fs, ap->a_offset);
lbn = lblkno(fs, offset);
bsize = blksize(fs, ip, lbn);
*ap->a_bpp = NULL;
if (error = bread(ap->a_vp, lbn, bsize, NOCRED, &bp)) {
*bpp = NULL;
if (error = bread(vp, lbn, bsize, NOCRED, &bp)) {
brelse(bp);
return (error);
}
if (ap->a_res)
*ap->a_res = (char *)bp->b_data + blkoff(fs, ap->a_offset);
*ap->a_bpp = bp;
if (res)
*res = (char *)bp->b_data + blkoff(fs, offset);
*bpp = bp;
return (0);
}

View File

@ -621,6 +621,10 @@ ext2_mountfs(devvp, mp, p)
ump = bsd_malloc(sizeof *ump, M_UFSMNT, M_WAITOK);
bzero((caddr_t)ump, sizeof *ump);
ump->um_malloctype = M_EXT2NODE;
ump->um_blkatoff = ext2_blkatoff;
ump->um_truncate = ext2_truncate;
ump->um_valloc = ext2_valloc;
ump->um_vfree = ext2_vfree;
/* I don't know whether this is the right strategy. Note that
we dynamically allocate both a ext2_sb_info and a ext2_super_block
while Linux keeps the super block in a locked buffer

View File

@ -69,6 +69,7 @@
#endif
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/ufs_extern.h>
#include <ufs/ffs/ffs_extern.h>
@ -84,17 +85,13 @@ static int ext2_write __P((struct vop_write_args *));
vop_t **ext2_vnodeop_p;
static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) ext2_blkatoff },
{ &vop_cachedlookup_desc, (vop_t *) ext2_lookup },
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_read_desc, (vop_t *) ext2_read },
{ &vop_readdir_desc, (vop_t *) ext2_readdir },
{ &vop_reallocblks_desc, (vop_t *) ext2_reallocblks },
{ &vop_truncate_desc, (vop_t *) ext2_truncate },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_valloc_desc, (vop_t *) ext2_valloc },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ &vop_write_desc, (vop_t *) ext2_write },
{ NULL, NULL }
};
@ -107,7 +104,6 @@ static struct vnodeopv_entry_desc ext2_specop_entries[] = {
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_specop_opv_desc =
@ -119,7 +115,6 @@ static struct vnodeopv_entry_desc ext2_fifoop_entries[] = {
{ &vop_fsync_desc, (vop_t *) ext2_fsync },
{ &vop_inactive_desc, (vop_t *) ext2_inactive },
{ &vop_update_desc, (vop_t *) ext2_update },
{ &vop_vfree_desc, (vop_t *) ext2_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc ext2fs_fifoop_opv_desc =

View File

@ -38,7 +38,7 @@
* from: @(#)ufs_lookup.c 7.33 (Berkeley) 5/19/91
*
* @(#)cd9660_lookup.c 8.2 (Berkeley) 1/23/94
* $Id: cd9660_lookup.c,v 1.17 1997/08/26 07:32:30 phk Exp $
* $Id: cd9660_lookup.c,v 1.18 1997/09/10 19:43:15 phk Exp $
*/
#include <sys/param.h>
@ -165,7 +165,7 @@ cd9660_lookup(ap)
} else {
dp->i_offset = dp->i_diroff;
if ((entryoffsetinblock = dp->i_offset & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
(error = cd9660_blkatoff(vdp, (off_t)dp->i_offset, NULL, &bp)))
return (error);
numdirpasses = 2;
nchstats.ncs_2passes++;
@ -183,7 +183,7 @@ cd9660_lookup(ap)
if (bp != NULL)
brelse(bp);
if (error =
VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp))
cd9660_blkatoff(vdp, (off_t)dp->i_offset, NULL, &bp))
return (error);
entryoffsetinblock = 0;
}
@ -280,7 +280,7 @@ cd9660_lookup(ap)
lblkno(imp, saveoffset)) {
if (bp != NULL)
brelse(bp);
if (error = VOP_BLKATOFF(vdp,
if (error = cd9660_blkatoff(vdp,
(off_t)saveoffset, NULL, &bp))
return (error);
}
@ -394,13 +394,11 @@ cd9660_lookup(ap)
* remaining space in the directory.
*/
int
cd9660_blkatoff(ap)
struct vop_blkatoff_args /* {
struct vnode *a_vp;
off_t a_offset;
char **a_res;
struct buf **a_bpp;
} */ *ap;
cd9660_blkatoff(vp, offset, res, bpp)
struct vnode *vp;
off_t offset;
char **res;
struct buf **bpp;
{
struct iso_node *ip;
register struct iso_mnt *imp;
@ -408,18 +406,18 @@ cd9660_blkatoff(ap)
daddr_t lbn;
int bsize, error;
ip = VTOI(ap->a_vp);
ip = VTOI(vp);
imp = ip->i_mnt;
lbn = lblkno(imp, ap->a_offset);
lbn = lblkno(imp, offset);
bsize = blksize(imp, ip, lbn);
if (error = bread(ap->a_vp, lbn, bsize, NOCRED, &bp)) {
if (error = bread(vp, lbn, bsize, NOCRED, &bp)) {
brelse(bp);
*ap->a_bpp = NULL;
*bpp = NULL;
return (error);
}
if (ap->a_res)
*ap->a_res = (char *)bp->b_data + blkoff(imp, ap->a_offset);
*ap->a_bpp = bp;
if (res)
*res = (char *)bp->b_data + blkoff(imp, offset);
*bpp = bp;
return (0);
}

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_node.c 8.2 (Berkeley) 1/23/94
* $Id: cd9660_node.c,v 1.19 1997/04/14 18:15:45 phk Exp $
* $Id: cd9660_node.c,v 1.20 1997/08/02 14:31:18 bde Exp $
*/
#include <sys/param.h>
@ -241,7 +241,7 @@ cd9660_defattr(isodir, inop, bp, ftype)
if (!bp
&& ((imp = inop->i_mnt)->im_flags & ISOFSMNT_EXTATT)
&& (off = isonum_711(isodir->ext_attr_length))) {
VOP_BLKATOFF(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
cd9660_blkatoff(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
&bp2);
bp = bp2;
}
@ -293,7 +293,7 @@ cd9660_deftstamp(isodir,inop,bp,ftype)
if (!bp
&& ((imp = inop->i_mnt)->im_flags & ISOFSMNT_EXTATT)
&& (off = isonum_711(isodir->ext_attr_length))) {
VOP_BLKATOFF(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
cd9660_blkatoff(ITOV(inop), (off_t)-(off << imp->im_bshift), NULL,
&bp2);
bp = bp2;
}

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_node.h 8.6 (Berkeley) 5/14/95
* $Id: cd9660_node.h,v 1.12 1997/08/26 07:32:31 phk Exp $
* $Id: cd9660_node.h,v 1.13 1997/10/12 20:23:36 phk Exp $
*/
/*
@ -105,8 +105,7 @@ int cd9660_inactive __P((struct vop_inactive_args *));
int cd9660_reclaim __P((struct vop_reclaim_args *));
int cd9660_bmap __P((struct vop_bmap_args *));
int cd9660_pathconf __P((struct vop_pathconf_args *));
int cd9660_blkatoff __P((struct vop_blkatoff_args *));
#define cd9660_revoke vop_revoke
int cd9660_blkatoff __P((struct vnode *vp, off_t offset, char **res, struct buf **bpp));
void cd9660_defattr __P((struct iso_directory_record *,
struct iso_node *, struct buf *, enum ISO_FTYPE));

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95
* $Id: cd9660_vfsops.c,v 1.29 1997/09/27 13:38:48 kato Exp $
* $Id: cd9660_vfsops.c,v 1.30 1997/10/12 20:23:38 phk Exp $
*/
#include <sys/param.h>
@ -765,7 +765,7 @@ cd9660_vget_internal(mp, ino, vpp, relocated, isodir)
ip->iso_start = ino >> imp->im_bshift;
if (bp != 0)
brelse(bp);
if (error = VOP_BLKATOFF(vp, (off_t)0, NULL, &bp)) {
if (error = cd9660_blkatoff(vp, (off_t)0, NULL, &bp)) {
vput(vp);
return (error);
}
@ -787,7 +787,7 @@ cd9660_vget_internal(mp, ino, vpp, relocated, isodir)
int off;
if ((imp->im_flags & ISOFSMNT_EXTATT)
&& (off = isonum_711(isodir->ext_attr_length)))
VOP_BLKATOFF(vp, (off_t)-(off << imp->im_bshift), NULL,
cd9660_blkatoff(vp, (off_t)-(off << imp->im_bshift), NULL,
&bp2);
else
bp2 = NULL;

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
* $Id: cd9660_vnops.c,v 1.42 1997/10/15 10:03:58 phk Exp $
* $Id: cd9660_vnops.c,v 1.43 1997/10/15 13:22:39 phk Exp $
*/
#include <sys/param.h>
@ -569,7 +569,7 @@ cd9660_readdir(ap)
idp->curroff = uio->uio_offset;
if ((entryoffsetinblock = idp->curroff & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)idp->curroff, NULL, &bp))) {
(error = cd9660_blkatoff(vdp, (off_t)idp->curroff, NULL, &bp))) {
FREE(idp, M_TEMP);
return (error);
}
@ -585,7 +585,7 @@ cd9660_readdir(ap)
if (bp != NULL)
brelse(bp);
if (error =
VOP_BLKATOFF(vdp, (off_t)idp->curroff, NULL, &bp))
cd9660_blkatoff(vdp, (off_t)idp->curroff, NULL, &bp))
break;
entryoffsetinblock = 0;
}
@ -952,44 +952,6 @@ cd9660_pathconf(ap)
/* NOTREACHED */
}
/*
* Global vfs data structures for isofs
*/
#define cd9660_create \
((int (*) __P((struct vop_create_args *)))eopnotsupp)
#define cd9660_mknod ((int (*) __P((struct vop_mknod_args *)))eopnotsupp)
#define cd9660_write ((int (*) __P((struct vop_write_args *)))eopnotsupp)
#ifdef NFS
#define cd9660_lease_check lease_check
#else
#define cd9660_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
#endif
#define cd9660_poll vop_nopoll
#define cd9660_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define cd9660_remove \
((int (*) __P((struct vop_remove_args *)))eopnotsupp)
#define cd9660_link ((int (*) __P((struct vop_link_args *)))eopnotsupp)
#define cd9660_rename \
((int (*) __P((struct vop_rename_args *)))eopnotsupp)
#define cd9660_mkdir ((int (*) __P((struct vop_mkdir_args *)))eopnotsupp)
#define cd9660_rmdir ((int (*) __P((struct vop_rmdir_args *)))eopnotsupp)
#define cd9660_symlink \
((int (*) __P((struct vop_symlink_args *)))eopnotsupp)
#define cd9660_advlock \
((int (*) __P((struct vop_advlock_args *)))eopnotsupp)
#define cd9660_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) eopnotsupp)
#define cd9660_vfree ((int (*) __P((struct vop_vfree_args *)))eopnotsupp)
#define cd9660_truncate \
((int (*) __P((struct vop_truncate_args *)))eopnotsupp)
#define cd9660_update \
((int (*) __P((struct vop_update_args *)))eopnotsupp)
#define cd9660_bwrite \
((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
/*
* Global vfs data structures for cd9660
*/
@ -998,47 +960,28 @@ struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) cd9660_abortop },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_advlock_desc, (vop_t *) cd9660_advlock },
{ &vop_blkatoff_desc, (vop_t *) cd9660_blkatoff },
{ &vop_bmap_desc, (vop_t *) cd9660_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) cd9660_lookup },
{ &vop_close_desc, (vop_t *) cd9660_close },
{ &vop_create_desc, (vop_t *) cd9660_create },
{ &vop_fsync_desc, (vop_t *) cd9660_fsync },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_ioctl_desc, (vop_t *) cd9660_ioctl },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
{ &vop_lease_desc, (vop_t *) cd9660_lease_check },
{ &vop_link_desc, (vop_t *) cd9660_link },
{ &vop_lock_desc, (vop_t *) cd9660_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
{ &vop_mkdir_desc, (vop_t *) cd9660_mkdir },
{ &vop_mknod_desc, (vop_t *) cd9660_mknod },
{ &vop_mmap_desc, (vop_t *) cd9660_mmap },
{ &vop_open_desc, (vop_t *) cd9660_open },
{ &vop_pathconf_desc, (vop_t *) cd9660_pathconf },
{ &vop_poll_desc, (vop_t *) cd9660_poll },
{ &vop_print_desc, (vop_t *) cd9660_print },
{ &vop_read_desc, (vop_t *) cd9660_read },
{ &vop_readdir_desc, (vop_t *) cd9660_readdir },
{ &vop_readlink_desc, (vop_t *) cd9660_readlink },
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_remove_desc, (vop_t *) cd9660_remove },
{ &vop_rename_desc, (vop_t *) cd9660_rename },
{ &vop_revoke_desc, (vop_t *) cd9660_revoke },
{ &vop_rmdir_desc, (vop_t *) cd9660_rmdir },
{ &vop_seek_desc, (vop_t *) cd9660_seek },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_strategy_desc, (vop_t *) cd9660_strategy },
{ &vop_symlink_desc, (vop_t *) cd9660_symlink },
{ &vop_truncate_desc, (vop_t *) cd9660_truncate },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ &vop_valloc_desc, (vop_t *) cd9660_valloc },
{ &vop_vfree_desc, (vop_t *) cd9660_vfree },
{ &vop_write_desc, (vop_t *) cd9660_write },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_vnodeop_opv_desc =
@ -1052,7 +995,6 @@ vop_t **cd9660_specop_p;
struct vnodeopv_entry_desc cd9660_specop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
@ -1061,7 +1003,6 @@ struct vnodeopv_entry_desc cd9660_specop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_specop_opv_desc =
@ -1072,7 +1013,6 @@ vop_t **cd9660_fifoop_p;
struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) cd9660_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_getattr_desc, (vop_t *) cd9660_getattr },
{ &vop_inactive_desc, (vop_t *) cd9660_inactive },
{ &vop_islocked_desc, (vop_t *) cd9660_islocked },
@ -1081,7 +1021,6 @@ struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
{ &vop_unlock_desc, (vop_t *) cd9660_unlock },
{ &vop_update_desc, (vop_t *) cd9660_update },
{ NULL, NULL }
};
static struct vnodeopv_desc cd9660_fifoop_opv_desc =

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_cache.c 8.5 (Berkeley) 3/22/95
* $Id: vfs_cache.c,v 1.33 1997/09/24 15:54:10 phk Exp $
* $Id: vfs_cache.c,v 1.34 1997/10/15 13:22:52 phk Exp $
*/
#include <sys/param.h>
@ -450,6 +450,5 @@ vfs_cache_lookup(ap)
error = vn_lock(pdp, LK_EXCLUSIVE, p);
if (error)
return (error);
return (VCALL(vdp, VOFFSET(vop_cachedlookup),
(struct vop_cachedlookup_args *)ap));
return (VOP_CACHEDLOOKUP(ap->a_dvp, ap->a_vpp, ap->a_cnp));
}

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_init.c 8.3 (Berkeley) 1/4/94
* $Id: vfs_init.c,v 1.28 1997/09/21 04:22:59 dyson Exp $
* $Id: vfs_init.c,v 1.29 1997/10/12 20:24:24 phk Exp $
*/
@ -79,17 +79,6 @@ extern struct vnodeop_desc *vfs_op_descs[];
*/
struct vm_zone *namei_zone;
/*
* A miscellaneous routine.
* A generic "default" routine that just returns an error.
*/
int
vn_default_error()
{
return (EOPNOTSUPP);
}
/*
* vfs_init.c
*
@ -283,6 +272,8 @@ vfsinit(dummy)
/*
* This goop is here to support a loadable NFS module... grumble...
*
* XXX: NFS could plug this into default_vnodeop_p now!
*/
int (*lease_check_hook) __P((struct vop_lease_args *))
= 0;

View File

@ -31,7 +31,7 @@
# SUCH DAMAGE.
#
# @(#)vnode_if.src 8.12 (Berkeley) 5/14/95
# $Id: vnode_if.src,v 1.12 1997/08/25 20:28:49 phk Exp $
# $Id: vnode_if.src,v 1.13 1997/09/14 02:35:25 peter Exp $
#
#
@ -439,26 +439,6 @@ vop_advlock {
IN int flags;
};
#
#% blkatoff vp L L L
#
vop_blkatoff {
IN struct vnode *vp;
IN off_t offset;
OUT char **res;
OUT struct buf **bpp;
};
#
#% valloc pvp L L L
#
vop_valloc {
IN struct vnode *pvp;
IN int mode;
IN struct ucred *cred;
OUT struct vnode **vpp;
};
#
#% reallocblks vp L L L
#
@ -467,26 +447,6 @@ vop_reallocblks {
IN struct cluster_save *buflist;
};
#
#% vfree pvp L L L
#
vop_vfree {
IN struct vnode *pvp;
IN ino_t ino;
IN int mode;
};
#
#% truncate vp L L L
#
vop_truncate {
IN struct vnode *vp;
IN off_t length;
IN int flags;
IN struct ucred *cred;
IN struct proc *p;
};
#
#% update vp L L L
#

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)dead_vnops.c 8.1 (Berkeley) 6/10/93
* $Id: dead_vnops.c,v 1.16 1997/10/15 09:20:50 phk Exp $
* $Id: dead_vnops.c,v 1.17 1997/10/15 10:04:03 phk Exp $
*/
#include <sys/param.h>
@ -47,88 +47,48 @@ static int chkvnlock __P((struct vnode *));
static int dead_badop __P((void));
static int dead_ebadf __P((void));
static int dead_lookup __P((struct vop_lookup_args *));
#define dead_create ((int (*) __P((struct vop_create_args *)))dead_badop)
#define dead_mknod ((int (*) __P((struct vop_mknod_args *)))dead_badop)
static int dead_open __P((struct vop_open_args *));
#define dead_close ((int (*) __P((struct vop_close_args *)))nullop)
#define dead_access ((int (*) __P((struct vop_access_args *)))dead_ebadf)
#define dead_getattr ((int (*) __P((struct vop_getattr_args *)))dead_ebadf)
#define dead_setattr ((int (*) __P((struct vop_setattr_args *)))dead_ebadf)
static int dead_read __P((struct vop_read_args *));
static int dead_write __P((struct vop_write_args *));
static int dead_ioctl __P((struct vop_ioctl_args *));
#define dead_poll vop_nopoll
#define dead_mmap ((int (*) __P((struct vop_mmap_args *)))dead_badop)
#define dead_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define dead_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define dead_remove ((int (*) __P((struct vop_remove_args *)))dead_badop)
#define dead_link ((int (*) __P((struct vop_link_args *)))dead_badop)
#define dead_rename ((int (*) __P((struct vop_rename_args *)))dead_badop)
#define dead_mkdir ((int (*) __P((struct vop_mkdir_args *)))dead_badop)
#define dead_rmdir ((int (*) __P((struct vop_rmdir_args *)))dead_badop)
#define dead_symlink ((int (*) __P((struct vop_symlink_args *)))dead_badop)
#define dead_readdir ((int (*) __P((struct vop_readdir_args *)))dead_ebadf)
#define dead_readlink ((int (*) __P((struct vop_readlink_args *)))dead_ebadf)
#define dead_abortop ((int (*) __P((struct vop_abortop_args *)))dead_badop)
#define dead_inactive ((int (*) __P((struct vop_inactive_args *)))nullop)
#define dead_reclaim ((int (*) __P((struct vop_reclaim_args *)))nullop)
static int dead_lock __P((struct vop_lock_args *));
#define dead_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
static int dead_bmap __P((struct vop_bmap_args *));
static int dead_strategy __P((struct vop_strategy_args *));
static int dead_print __P((struct vop_print_args *));
#define dead_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
#define dead_pathconf ((int (*) __P((struct vop_pathconf_args *)))dead_ebadf)
#define dead_advlock ((int (*) __P((struct vop_advlock_args *)))dead_ebadf)
#define dead_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))dead_badop)
#define dead_valloc ((int (*) __P((struct vop_valloc_args *)))dead_badop)
#define dead_vfree ((int (*) __P((struct vop_vfree_args *)))dead_badop)
#define dead_truncate ((int (*) __P((struct vop_truncate_args *)))nullop)
#define dead_update ((int (*) __P((struct vop_update_args *)))nullop)
#define dead_bwrite ((int (*) __P((struct vop_bwrite_args *)))nullop)
vop_t **dead_vnodeop_p;
static struct vnodeopv_entry_desc dead_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) dead_abortop },
{ &vop_access_desc, (vop_t *) dead_access },
{ &vop_advlock_desc, (vop_t *) dead_advlock },
{ &vop_blkatoff_desc, (vop_t *) dead_blkatoff },
{ &vop_access_desc, (vop_t *) dead_ebadf },
{ &vop_advlock_desc, (vop_t *) dead_ebadf },
{ &vop_bmap_desc, (vop_t *) dead_bmap },
{ &vop_bwrite_desc, (vop_t *) dead_bwrite },
{ &vop_close_desc, (vop_t *) dead_close },
{ &vop_create_desc, (vop_t *) dead_create },
{ &vop_fsync_desc, (vop_t *) dead_fsync },
{ &vop_getattr_desc, (vop_t *) dead_getattr },
{ &vop_inactive_desc, (vop_t *) dead_inactive },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_create_desc, (vop_t *) dead_badop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) dead_ebadf },
{ &vop_inactive_desc, (vop_t *) nullop },
{ &vop_ioctl_desc, (vop_t *) dead_ioctl },
{ &vop_islocked_desc, (vop_t *) dead_islocked },
{ &vop_link_desc, (vop_t *) dead_link },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) dead_badop },
{ &vop_lock_desc, (vop_t *) dead_lock },
{ &vop_lookup_desc, (vop_t *) dead_lookup },
{ &vop_mkdir_desc, (vop_t *) dead_mkdir },
{ &vop_mknod_desc, (vop_t *) dead_mknod },
{ &vop_mmap_desc, (vop_t *) dead_mmap },
{ &vop_mkdir_desc, (vop_t *) dead_badop },
{ &vop_mknod_desc, (vop_t *) dead_badop },
{ &vop_mmap_desc, (vop_t *) dead_badop },
{ &vop_open_desc, (vop_t *) dead_open },
{ &vop_pathconf_desc, (vop_t *) dead_pathconf },
{ &vop_poll_desc, (vop_t *) dead_poll },
{ &vop_pathconf_desc, (vop_t *) dead_ebadf },
{ &vop_print_desc, (vop_t *) dead_print },
{ &vop_read_desc, (vop_t *) dead_read },
{ &vop_readdir_desc, (vop_t *) dead_readdir },
{ &vop_readlink_desc, (vop_t *) dead_readlink },
{ &vop_reclaim_desc, (vop_t *) dead_reclaim },
{ &vop_remove_desc, (vop_t *) dead_remove },
{ &vop_rename_desc, (vop_t *) dead_rename },
{ &vop_rmdir_desc, (vop_t *) dead_rmdir },
{ &vop_seek_desc, (vop_t *) dead_seek },
{ &vop_setattr_desc, (vop_t *) dead_setattr },
{ &vop_strategy_desc, (vop_t *) dead_strategy },
{ &vop_symlink_desc, (vop_t *) dead_symlink },
{ &vop_truncate_desc, (vop_t *) dead_truncate },
{ &vop_unlock_desc, (vop_t *) dead_unlock },
{ &vop_update_desc, (vop_t *) dead_update },
{ &vop_valloc_desc, (vop_t *) dead_valloc },
{ &vop_vfree_desc, (vop_t *) dead_vfree },
{ &vop_readdir_desc, (vop_t *) dead_ebadf },
{ &vop_readlink_desc, (vop_t *) dead_ebadf },
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) dead_badop },
{ &vop_rename_desc, (vop_t *) dead_badop },
{ &vop_rmdir_desc, (vop_t *) dead_badop },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) dead_ebadf },
{ &vop_symlink_desc, (vop_t *) dead_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) dead_write },
{ NULL, NULL }
};
@ -244,23 +204,6 @@ dead_ioctl(ap)
return (VCALL(ap->a_vp, VOFFSET(vop_ioctl), ap));
}
/*
* Just call the device strategy routine
*/
static int
dead_strategy(ap)
struct vop_strategy_args /* {
struct buf *a_bp;
} */ *ap;
{
if (ap->a_bp->b_vp == NULL || !chkvnlock(ap->a_bp->b_vp)) {
ap->a_bp->b_flags |= B_ERROR;
biodone(ap->a_bp);
return (EIO);
}
return (VOP_STRATEGY(ap->a_bp));
}
/*
* Wait until the vnode has finished changing state.

View File

@ -1,7 +1,7 @@
/*
* Written by Julian Elischer (julian@DIALix.oz.au)
*
* $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.42 1997/10/15 10:04:08 phk Exp $
* $Header: /home/ncvs/src/sys/miscfs/devfs/devfs_vnops.c,v 1.43 1997/10/15 13:23:01 phk Exp $
*
* symlinks can wait 'til later.
*/
@ -1487,20 +1487,6 @@ DBPRINT(("bmap\n"));
return 0;
}
static int
devfs_strategy(struct vop_strategy_args *ap)
/*struct vop_strategy_args {
struct buf *a_bp;
} */
{
DBPRINT(("strategy\n"));
if (ap->a_bp->b_vp->v_type == VBLK || ap->a_bp->b_vp->v_type == VCHR)
printf("devfs_strategy: spec");
return 0;
}
static int
devfs_advlock(struct vop_advlock_args *ap)
/*struct vop_advlock_args {
@ -1590,18 +1576,6 @@ devfs_print(struct vop_print_args *ap)
return (0);
}
static int
devfs_vfree(struct vop_vfree_args *ap)
/*struct vop_vfree_args {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */
{
return (0);
}
/**************************************************************************\
* pseudo ops *
\**************************************************************************/
@ -1650,68 +1624,24 @@ devfs_dropvnode(dn_p dnp)
dnp->vn = NULL; /* be pedantic about this */
}
#define devfs_create ((int (*) __P((struct vop_create_args *)))devfs_enotsupp)
#define devfs_mknod ((int (*) __P((struct vop_mknod_args *)))devfs_enotsupp)
#define devfs_close ((int (*) __P((struct vop_close_args *)))nullop)
#define devfs_ioctl ((int (*) __P((struct vop_ioctl_args *)))devfs_enotsupp)
#define devfs_poll vop_nopoll
#define devfs_mmap ((int (*) __P((struct vop_mmap_args *)))devfs_enotsupp)
#define devfs_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define devfs_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define devfs_mkdir ((int (*) __P((struct vop_mkdir_args *)))devfs_enotsupp)
#define devfs_rmdir ((int (*) __P((struct vop_rmdir_args *)))devfs_enotsupp)
/*
#define devfs_symlink ((int (*) __P((struct vop_symlink_args *)))devfs_enotsupp)
#define devfs_readlink \
((int (*) __P((struct vop_readlink_args *)))devfs_enotsupp)
*/
#define devfs_abortop ((int (*) __P((struct vop_abortop_args *)))nullop)
#define devfs_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define devfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define devfs_bmap ((int (*) __P((struct vop_bmap_args *)))devfs_badop)
#define devfs_strategy ((int (*) __P((struct vop_strategy_args *)))devfs_badop)
#define devfs_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define devfs_advlock ((int (*) __P((struct vop_advlock_args *)))devfs_enotsupp)
#define devfs_blkatoff \
((int (*) __P((struct vop_blkatoff_args *)))devfs_enotsupp)
#define devfs_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) devfs_enotsupp)
#define devfs_truncate \
((int (*) __P((struct vop_truncate_args *)))devfs_enotsupp)
#define devfs_update ((int (*) __P((struct vop_update_args *)))devfs_enotsupp)
#define devfs_bwrite ((int (*) __P((struct vop_bwrite_args *)))devfs_enotsupp)
/* These are the operations used by directories etc in a devfs */
vop_t **devfs_vnodeop_p;
static struct vnodeopv_entry_desc devfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) devfs_abortop },
{ &vop_abortop_desc, (vop_t *) nullop },
{ &vop_access_desc, (vop_t *) devfs_access },
{ &vop_advlock_desc, (vop_t *) devfs_advlock },
{ &vop_blkatoff_desc, (vop_t *) devfs_blkatoff },
{ &vop_bmap_desc, (vop_t *) devfs_bmap },
{ &vop_bwrite_desc, (vop_t *) devfs_bwrite },
{ &vop_close_desc, (vop_t *) devfs_close },
{ &vop_create_desc, (vop_t *) devfs_create },
{ &vop_fsync_desc, (vop_t *) devfs_fsync },
{ &vop_bmap_desc, (vop_t *) devfs_badop },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) devfs_getattr },
{ &vop_inactive_desc, (vop_t *) devfs_inactive },
{ &vop_ioctl_desc, (vop_t *) devfs_ioctl },
{ &vop_islocked_desc, (vop_t *) devfs_islocked },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) devfs_link },
{ &vop_lock_desc, (vop_t *) devfs_lock },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) devfs_lookup },
{ &vop_mkdir_desc, (vop_t *) devfs_mkdir },
{ &vop_mknod_desc, (vop_t *) devfs_mknod },
{ &vop_mmap_desc, (vop_t *) devfs_mmap },
{ &vop_open_desc, (vop_t *) devfs_open },
{ &vop_pathconf_desc, (vop_t *) devfs_pathconf },
{ &vop_poll_desc, (vop_t *) devfs_poll },
{ &vop_print_desc, (vop_t *) devfs_print },
{ &vop_read_desc, (vop_t *) devfs_read },
{ &vop_readdir_desc, (vop_t *) devfs_readdir },
@ -1719,16 +1649,10 @@ static struct vnodeopv_entry_desc devfs_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) devfs_reclaim },
{ &vop_remove_desc, (vop_t *) devfs_remove },
{ &vop_rename_desc, (vop_t *) devfs_rename },
{ &vop_rmdir_desc, (vop_t *) devfs_rmdir },
{ &vop_seek_desc, (vop_t *) devfs_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) devfs_setattr },
{ &vop_strategy_desc, (vop_t *) devfs_strategy },
{ &vop_symlink_desc, (vop_t *) devfs_symlink },
{ &vop_truncate_desc, (vop_t *) devfs_truncate },
{ &vop_unlock_desc, (vop_t *) devfs_unlock },
{ &vop_update_desc, (vop_t *) devfs_update },
{ &vop_valloc_desc, (vop_t *) devfs_valloc },
{ &vop_vfree_desc, (vop_t *) devfs_vfree },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) devfs_write },
{ NULL, NULL }
};
@ -1781,7 +1705,6 @@ vop_t **dev_spec_vnodeop_p;
static struct vnodeopv_entry_desc dev_spec_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) devfs_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_getattr_desc, (vop_t *) devfs_getattr },
{ &vop_read_desc, (vop_t *) devfs_read },
{ &vop_reclaim_desc, (vop_t *) devfs_reclaim },

View File

@ -35,7 +35,7 @@
*
* @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94
*
* $Id: fdesc_vnops.c,v 1.27 1997/10/15 09:20:57 phk Exp $
* $Id: fdesc_vnops.c,v 1.28 1997/10/15 10:04:12 phk Exp $
*/
/*
@ -99,7 +99,6 @@ static int fdesc_readlink __P((struct vop_readlink_args *ap));
static int fdesc_reclaim __P((struct vop_reclaim_args *ap));
static int fdesc_poll __P((struct vop_poll_args *ap));
static int fdesc_setattr __P((struct vop_setattr_args *ap));
static int fdesc_vfree __P((struct vop_vfree_args *ap));
static int fdesc_write __P((struct vop_write_args *ap));
/*
@ -883,19 +882,6 @@ fdesc_print(ap)
return (0);
}
/*void*/
static int
fdesc_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
{
return (0);
}
/*
* /dev/fd "should never get here" operation
*/
@ -907,61 +893,18 @@ fdesc_badop()
/* NOTREACHED */
}
#define fdesc_create ((int (*) __P((struct vop_create_args *)))eopnotsupp)
#define fdesc_mknod ((int (*) __P((struct vop_mknod_args *)))eopnotsupp)
#define fdesc_close ((int (*) __P((struct vop_close_args *)))nullop)
#define fdesc_access ((int (*) __P((struct vop_access_args *)))nullop)
#define fdesc_mmap ((int (*) __P((struct vop_mmap_args *)))eopnotsupp)
#define fdesc_revoke vop_revoke
#define fdesc_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define fdesc_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define fdesc_remove ((int (*) __P((struct vop_remove_args *)))eopnotsupp)
#define fdesc_link ((int (*) __P((struct vop_link_args *)))eopnotsupp)
#define fdesc_rename ((int (*) __P((struct vop_rename_args *)))eopnotsupp)
#define fdesc_mkdir ((int (*) __P((struct vop_mkdir_args *)))eopnotsupp)
#define fdesc_rmdir ((int (*) __P((struct vop_rmdir_args *)))eopnotsupp)
#define fdesc_symlink ((int (*) __P((struct vop_symlink_args *)))eopnotsupp)
#define fdesc_abortop ((int (*) __P((struct vop_abortop_args *)))nullop)
#define fdesc_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define fdesc_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define fdesc_bmap ((int (*) __P((struct vop_bmap_args *)))fdesc_badop)
#define fdesc_strategy ((int (*) __P((struct vop_strategy_args *)))fdesc_badop)
#define fdesc_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define fdesc_advlock ((int (*) __P((struct vop_advlock_args *)))eopnotsupp)
#define fdesc_blkatoff \
((int (*) __P((struct vop_blkatoff_args *)))eopnotsupp)
#define fdesc_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) eopnotsupp)
#define fdesc_truncate \
((int (*) __P((struct vop_truncate_args *)))eopnotsupp)
#define fdesc_update ((int (*) __P((struct vop_update_args *)))eopnotsupp)
#define fdesc_bwrite ((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) fdesc_abortop },
{ &vop_access_desc, (vop_t *) fdesc_access },
{ &vop_advlock_desc, (vop_t *) fdesc_advlock },
{ &vop_blkatoff_desc, (vop_t *) fdesc_blkatoff },
{ &vop_bmap_desc, (vop_t *) fdesc_bmap },
{ &vop_bwrite_desc, (vop_t *) fdesc_bwrite },
{ &vop_close_desc, (vop_t *) fdesc_close },
{ &vop_create_desc, (vop_t *) fdesc_create },
{ &vop_fsync_desc, (vop_t *) fdesc_fsync },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) fdesc_badop },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) fdesc_getattr },
{ &vop_inactive_desc, (vop_t *) fdesc_inactive },
{ &vop_ioctl_desc, (vop_t *) fdesc_ioctl },
{ &vop_islocked_desc, (vop_t *) fdesc_islocked },
{ &vop_link_desc, (vop_t *) fdesc_link },
{ &vop_lock_desc, (vop_t *) fdesc_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) fdesc_lookup },
{ &vop_mkdir_desc, (vop_t *) fdesc_mkdir },
{ &vop_mknod_desc, (vop_t *) fdesc_mknod },
{ &vop_mmap_desc, (vop_t *) fdesc_mmap },
{ &vop_open_desc, (vop_t *) fdesc_open },
{ &vop_pathconf_desc, (vop_t *) fdesc_pathconf },
{ &vop_poll_desc, (vop_t *) fdesc_poll },
@ -970,19 +913,9 @@ static struct vnodeopv_entry_desc fdesc_vnodeop_entries[] = {
{ &vop_readdir_desc, (vop_t *) fdesc_readdir },
{ &vop_readlink_desc, (vop_t *) fdesc_readlink },
{ &vop_reclaim_desc, (vop_t *) fdesc_reclaim },
{ &vop_remove_desc, (vop_t *) fdesc_remove },
{ &vop_rename_desc, (vop_t *) fdesc_rename },
{ &vop_revoke_desc, (vop_t *) fdesc_revoke },
{ &vop_rmdir_desc, (vop_t *) fdesc_rmdir },
{ &vop_seek_desc, (vop_t *) fdesc_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) fdesc_setattr },
{ &vop_strategy_desc, (vop_t *) fdesc_strategy },
{ &vop_symlink_desc, (vop_t *) fdesc_symlink },
{ &vop_truncate_desc, (vop_t *) fdesc_truncate },
{ &vop_unlock_desc, (vop_t *) fdesc_unlock },
{ &vop_update_desc, (vop_t *) fdesc_update },
{ &vop_valloc_desc, (vop_t *) fdesc_valloc },
{ &vop_vfree_desc, (vop_t *) fdesc_vfree },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) fdesc_write },
{ NULL, NULL }
};

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95
* $Id: fifo_vnops.c,v 1.30 1997/10/15 10:04:18 phk Exp $
* $Id: fifo_vnops.c,v 1.31 1997/10/15 13:23:12 phk Exp $
*/
#include <sys/param.h>
@ -82,9 +82,7 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_abortop_desc, (vop_t *) fifo_badop },
{ &vop_access_desc, (vop_t *) fifo_ebadf },
{ &vop_advlock_desc, (vop_t *) fifo_advlock },
{ &vop_blkatoff_desc, (vop_t *) fifo_badop },
{ &vop_bmap_desc, (vop_t *) fifo_bmap },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) fifo_close },
{ &vop_create_desc, (vop_t *) fifo_badop },
{ &vop_fsync_desc, (vop_t *) nullop },
@ -110,17 +108,12 @@ static struct vnodeopv_entry_desc fifo_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) fifo_badop },
{ &vop_rename_desc, (vop_t *) fifo_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) fifo_badop },
{ &vop_seek_desc, (vop_t *) fifo_badop },
{ &vop_setattr_desc, (vop_t *) fifo_ebadf },
{ &vop_strategy_desc, (vop_t *) fifo_badop },
{ &vop_symlink_desc, (vop_t *) fifo_badop },
{ &vop_truncate_desc, (vop_t *) fifo_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) fifo_badop },
{ &vop_vfree_desc, (vop_t *) fifo_badop },
{ &vop_write_desc, (vop_t *) fifo_write },
{ NULL, NULL }
};

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95
* $Id: kernfs_vnops.c,v 1.22 1997/10/15 09:21:04 phk Exp $
* $Id: kernfs_vnops.c,v 1.23 1997/10/15 10:04:23 phk Exp $
*/
/*
@ -116,7 +116,6 @@ static int kernfs_read __P((struct vop_read_args *ap));
static int kernfs_readdir __P((struct vop_readdir_args *ap));
static int kernfs_reclaim __P((struct vop_reclaim_args *ap));
static int kernfs_setattr __P((struct vop_setattr_args *ap));
static int kernfs_vfree __P((struct vop_vfree_args *ap));
static int kernfs_write __P((struct vop_write_args *ap));
static int kernfs_xread __P((struct kern_target *kt, char *buf, int len,
int *lenp));
@ -689,19 +688,6 @@ kernfs_print(ap)
return (0);
}
/*void*/
static int
kernfs_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
{
return (0);
}
/*
* Kernfs "should never get here" operation
*/
@ -711,84 +697,28 @@ kernfs_badop()
return (EIO);
}
#define kernfs_create ((int (*) __P((struct vop_create_args *)))eopnotsupp)
#define kernfs_mknod ((int (*) __P((struct vop_mknod_args *)))eopnotsupp)
#define kernfs_close ((int (*) __P((struct vop_close_args *)))nullop)
#define kernfs_ioctl ((int (*) __P((struct vop_ioctl_args *)))eopnotsupp)
#define kernfs_poll vop_nopoll
#define kernfs_revoke vop_revoke
#define kernfs_mmap ((int (*) __P((struct vop_mmap_args *)))eopnotsupp)
#define kernfs_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define kernfs_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define kernfs_remove ((int (*) __P((struct vop_remove_args *)))eopnotsupp)
#define kernfs_link ((int (*) __P((struct vop_link_args *)))eopnotsupp)
#define kernfs_rename ((int (*) __P((struct vop_rename_args *)))eopnotsupp)
#define kernfs_mkdir ((int (*) __P((struct vop_mkdir_args *)))eopnotsupp)
#define kernfs_rmdir ((int (*) __P((struct vop_rmdir_args *)))eopnotsupp)
#define kernfs_symlink ((int (*) __P((struct vop_symlink_args *)))eopnotsupp)
#define kernfs_readlink ((int (*) __P((struct vop_readlink_args *)))eopnotsupp)
#define kernfs_abortop ((int (*) __P((struct vop_abortop_args *)))nullop)
#define kernfs_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define kernfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define kernfs_bmap ((int (*) __P((struct vop_bmap_args *)))kernfs_badop)
#define kernfs_strategy \
((int (*) __P((struct vop_strategy_args *)))kernfs_badop)
#define kernfs_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define kernfs_advlock ((int (*) __P((struct vop_advlock_args *)))eopnotsupp)
#define kernfs_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))eopnotsupp)
#define kernfs_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) eopnotsupp)
#define kernfs_truncate ((int (*) __P((struct vop_truncate_args *)))eopnotsupp)
#define kernfs_update ((int (*) __P((struct vop_update_args *)))eopnotsupp)
#define kernfs_bwrite ((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
vop_t **kernfs_vnodeop_p;
static struct vnodeopv_entry_desc kernfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) kernfs_abortop },
{ &vop_access_desc, (vop_t *) kernfs_access },
{ &vop_advlock_desc, (vop_t *) kernfs_advlock },
{ &vop_blkatoff_desc, (vop_t *) kernfs_blkatoff },
{ &vop_bmap_desc, (vop_t *) kernfs_bmap },
{ &vop_bwrite_desc, (vop_t *) kernfs_bwrite },
{ &vop_close_desc, (vop_t *) kernfs_close },
{ &vop_create_desc, (vop_t *) kernfs_create },
{ &vop_fsync_desc, (vop_t *) kernfs_fsync },
{ &vop_bmap_desc, (vop_t *) kernfs_badop },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) kernfs_getattr },
{ &vop_inactive_desc, (vop_t *) kernfs_inactive },
{ &vop_ioctl_desc, (vop_t *) kernfs_ioctl },
{ &vop_islocked_desc, (vop_t *) kernfs_islocked },
{ &vop_link_desc, (vop_t *) kernfs_link },
{ &vop_lock_desc, (vop_t *) kernfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) kernfs_lookup },
{ &vop_mkdir_desc, (vop_t *) kernfs_mkdir },
{ &vop_mknod_desc, (vop_t *) kernfs_mknod },
{ &vop_mmap_desc, (vop_t *) kernfs_mmap },
{ &vop_open_desc, (vop_t *) kernfs_open },
{ &vop_pathconf_desc, (vop_t *) kernfs_pathconf },
{ &vop_poll_desc, (vop_t *) kernfs_poll },
{ &vop_print_desc, (vop_t *) kernfs_print },
{ &vop_read_desc, (vop_t *) kernfs_read },
{ &vop_readdir_desc, (vop_t *) kernfs_readdir },
{ &vop_readlink_desc, (vop_t *) kernfs_readlink },
{ &vop_reclaim_desc, (vop_t *) kernfs_reclaim },
{ &vop_remove_desc, (vop_t *) kernfs_remove },
{ &vop_rename_desc, (vop_t *) kernfs_rename },
{ &vop_revoke_desc, (vop_t *) kernfs_revoke },
{ &vop_rmdir_desc, (vop_t *) kernfs_rmdir },
{ &vop_seek_desc, (vop_t *) kernfs_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) kernfs_setattr },
{ &vop_strategy_desc, (vop_t *) kernfs_strategy },
{ &vop_symlink_desc, (vop_t *) kernfs_symlink },
{ &vop_truncate_desc, (vop_t *) kernfs_truncate },
{ &vop_unlock_desc, (vop_t *) kernfs_unlock },
{ &vop_update_desc, (vop_t *) kernfs_update },
{ &vop_valloc_desc, (vop_t *) kernfs_valloc },
{ &vop_vfree_desc, (vop_t *) kernfs_vfree },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) kernfs_write },
{ NULL, NULL }
};

View File

@ -35,7 +35,7 @@
*
* @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95
*
* $Id: portal_vnops.c,v 1.22 1997/10/15 09:21:11 phk Exp $
* $Id: portal_vnops.c,v 1.23 1997/10/15 10:04:34 phk Exp $
*/
/*
@ -78,7 +78,6 @@ static int portal_print __P((struct vop_print_args *ap));
static int portal_readdir __P((struct vop_readdir_args *ap));
static int portal_reclaim __P((struct vop_reclaim_args *ap));
static int portal_setattr __P((struct vop_setattr_args *ap));
static int portal_vfree __P((struct vop_vfree_args *ap));
static void
portal_closefd(p, fd)
@ -612,19 +611,6 @@ portal_print(ap)
return (0);
}
/*void*/
static int
portal_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
{
return (0);
}
/*
* Portal vnode unsupported operation
@ -647,94 +633,26 @@ portal_badop()
/* NOTREACHED */
}
#define portal_create ((int (*) __P((struct vop_create_args *)))portal_enotsupp)
#define portal_mknod ((int (*) __P((struct vop_mknod_args *)))portal_enotsupp)
#define portal_close ((int (*) __P((struct vop_close_args *)))nullop)
#define portal_access ((int (*) __P((struct vop_access_args *)))nullop)
#define portal_read ((int (*) __P((struct vop_read_args *)))portal_enotsupp)
#define portal_write ((int (*) __P((struct vop_write_args *)))portal_enotsupp)
#define portal_ioctl ((int (*) __P((struct vop_ioctl_args *)))portal_enotsupp)
#define portal_mmap ((int (*) __P((struct vop_mmap_args *)))portal_enotsupp)
#define portal_poll vop_nopoll
#define portal_revoke vop_revoke
#define portal_fsync ((int (*) __P((struct vop_fsync_args *)))nullop)
#define portal_seek ((int (*) __P((struct vop_seek_args *)))nullop)
#define portal_remove ((int (*) __P((struct vop_remove_args *)))portal_enotsupp)
#define portal_link ((int (*) __P((struct vop_link_args *)))portal_enotsupp)
#define portal_rename ((int (*) __P((struct vop_rename_args *)))portal_enotsupp)
#define portal_mkdir ((int (*) __P((struct vop_mkdir_args *)))portal_enotsupp)
#define portal_rmdir ((int (*) __P((struct vop_rmdir_args *)))portal_enotsupp)
#define portal_symlink \
((int (*) __P((struct vop_symlink_args *)))portal_enotsupp)
#define portal_readlink \
((int (*) __P((struct vop_readlink_args *)))portal_enotsupp)
#define portal_abortop ((int (*) __P((struct vop_abortop_args *)))nullop)
#define portal_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define portal_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define portal_bmap ((int (*) __P((struct vop_bmap_args *)))portal_badop)
#define portal_strategy \
((int (*) __P((struct vop_strategy_args *)))portal_badop)
#define portal_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define fifo_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
#define portal_advlock \
((int (*) __P((struct vop_advlock_args *)))portal_enotsupp)
#define portal_blkatoff \
((int (*) __P((struct vop_blkatoff_args *)))portal_enotsupp)
#define portal_valloc ((int(*) __P(( \
struct vnode *pvp, \
int mode, \
struct ucred *cred, \
struct vnode **vpp))) portal_enotsupp)
#define portal_truncate \
((int (*) __P((struct vop_truncate_args *)))portal_enotsupp)
#define portal_update ((int (*) __P((struct vop_update_args *)))portal_enotsupp)
#define portal_bwrite ((int (*) __P((struct vop_bwrite_args *)))portal_enotsupp)
vop_t **portal_vnodeop_p;
static struct vnodeopv_entry_desc portal_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) portal_abortop },
{ &vop_access_desc, (vop_t *) portal_access },
{ &vop_advlock_desc, (vop_t *) portal_advlock },
{ &vop_blkatoff_desc, (vop_t *) portal_blkatoff },
{ &vop_bmap_desc, (vop_t *) portal_bmap },
{ &vop_bwrite_desc, (vop_t *) portal_bwrite },
{ &vop_close_desc, (vop_t *) portal_close },
{ &vop_create_desc, (vop_t *) portal_create },
{ &vop_fsync_desc, (vop_t *) portal_fsync },
{ &vop_access_desc, (vop_t *) nullop },
{ &vop_bmap_desc, (vop_t *) portal_badop },
{ &vop_close_desc, (vop_t *) nullop },
{ &vop_fsync_desc, (vop_t *) nullop },
{ &vop_getattr_desc, (vop_t *) portal_getattr },
{ &vop_inactive_desc, (vop_t *) portal_inactive },
{ &vop_ioctl_desc, (vop_t *) portal_ioctl },
{ &vop_islocked_desc, (vop_t *) portal_islocked },
{ &vop_link_desc, (vop_t *) portal_link },
{ &vop_lock_desc, (vop_t *) portal_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) portal_lookup },
{ &vop_mkdir_desc, (vop_t *) portal_mkdir },
{ &vop_mknod_desc, (vop_t *) portal_mknod },
{ &vop_mmap_desc, (vop_t *) portal_mmap },
{ &vop_open_desc, (vop_t *) portal_open },
{ &vop_pathconf_desc, (vop_t *) portal_pathconf },
{ &vop_poll_desc, (vop_t *) portal_poll },
{ &vop_print_desc, (vop_t *) portal_print },
{ &vop_read_desc, (vop_t *) portal_read },
{ &vop_readdir_desc, (vop_t *) portal_readdir },
{ &vop_readlink_desc, (vop_t *) portal_readlink },
{ &vop_reclaim_desc, (vop_t *) portal_reclaim },
{ &vop_remove_desc, (vop_t *) portal_remove },
{ &vop_rename_desc, (vop_t *) portal_rename },
{ &vop_revoke_desc, (vop_t *) portal_revoke },
{ &vop_rmdir_desc, (vop_t *) portal_rmdir },
{ &vop_seek_desc, (vop_t *) portal_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) portal_setattr },
{ &vop_strategy_desc, (vop_t *) portal_strategy },
{ &vop_symlink_desc, (vop_t *) portal_symlink },
{ &vop_truncate_desc, (vop_t *) portal_truncate },
{ &vop_unlock_desc, (vop_t *) portal_unlock },
{ &vop_update_desc, (vop_t *) portal_update },
{ &vop_valloc_desc, (vop_t *) portal_valloc },
{ &vop_vfree_desc, (vop_t *) portal_vfree },
{ &vop_write_desc, (vop_t *) portal_write },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ NULL, NULL }
};
static struct vnodeopv_desc portal_vnodeop_opv_desc =

View File

@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
* $Id: procfs_vnops.c,v 1.34 1997/10/15 09:21:19 phk Exp $
* $Id: procfs_vnops.c,v 1.35 1997/10/15 10:04:38 phk Exp $
*/
/*
@ -936,33 +936,6 @@ atopid(b, len)
return (p);
}
#define procfs_create ((int (*) __P((struct vop_create_args *))) procfs_badop)
#define procfs_mknod ((int (*) __P((struct vop_mknod_args *))) procfs_badop)
#define procfs_read procfs_rw
#define procfs_write procfs_rw
#define procfs_mmap ((int (*) __P((struct vop_mmap_args *))) procfs_badop)
#define procfs_poll vop_nopoll
#define procfs_revoke vop_revoke
#define procfs_fsync ((int (*) __P((struct vop_fsync_args *))) procfs_badop)
#define procfs_seek ((int (*) __P((struct vop_seek_args *))) procfs_badop)
#define procfs_remove ((int (*) __P((struct vop_remove_args *))) procfs_badop)
#define procfs_link ((int (*) __P((struct vop_link_args *))) procfs_badop)
#define procfs_rename ((int (*) __P((struct vop_rename_args *))) procfs_badop)
#define procfs_mkdir ((int (*) __P((struct vop_mkdir_args *))) procfs_badop)
#define procfs_rmdir ((int (*) __P((struct vop_rmdir_args *))) procfs_badop)
#define procfs_symlink ((int (*) __P((struct vop_symlink_args *))) procfs_badop)
#define procfs_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define procfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define procfs_strategy ((int (*) __P((struct vop_strategy_args *))) procfs_badop)
#define procfs_islocked \
((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
#define procfs_advlock ((int (*) __P((struct vop_advlock_args *))) procfs_badop)
#define procfs_blkatoff ((int (*) __P((struct vop_blkatoff_args *))) procfs_badop)
#define procfs_valloc ((int (*) __P((struct vop_valloc_args *))) procfs_badop)
#define procfs_vfree ((int (*) __P((struct vop_vfree_args *))) nullop)
#define procfs_truncate ((int (*) __P((struct vop_truncate_args *))) procfs_badop)
#define procfs_update ((int (*) __P((struct vop_update_args *))) nullop)
/*
* procfs vnode operations.
*/
@ -971,44 +944,36 @@ static struct vnodeopv_entry_desc procfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) procfs_abortop },
{ &vop_access_desc, (vop_t *) procfs_access },
{ &vop_advlock_desc, (vop_t *) procfs_advlock },
{ &vop_blkatoff_desc, (vop_t *) procfs_blkatoff },
{ &vop_advlock_desc, (vop_t *) procfs_badop },
{ &vop_bmap_desc, (vop_t *) procfs_bmap },
{ &vop_close_desc, (vop_t *) procfs_close },
{ &vop_create_desc, (vop_t *) procfs_create },
{ &vop_fsync_desc, (vop_t *) procfs_fsync },
{ &vop_create_desc, (vop_t *) procfs_badop },
{ &vop_getattr_desc, (vop_t *) procfs_getattr },
{ &vop_inactive_desc, (vop_t *) procfs_inactive },
{ &vop_ioctl_desc, (vop_t *) procfs_ioctl },
{ &vop_islocked_desc, (vop_t *) procfs_islocked },
{ &vop_link_desc, (vop_t *) procfs_link },
{ &vop_lock_desc, (vop_t *) procfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_link_desc, (vop_t *) procfs_badop },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_lookup_desc, (vop_t *) procfs_lookup },
{ &vop_mkdir_desc, (vop_t *) procfs_mkdir },
{ &vop_mknod_desc, (vop_t *) procfs_mknod },
{ &vop_mmap_desc, (vop_t *) procfs_mmap },
{ &vop_mkdir_desc, (vop_t *) procfs_badop },
{ &vop_mknod_desc, (vop_t *) procfs_badop },
{ &vop_mmap_desc, (vop_t *) procfs_badop },
{ &vop_open_desc, (vop_t *) procfs_open },
{ &vop_pathconf_desc, (vop_t *) procfs_pathconf },
{ &vop_poll_desc, (vop_t *) procfs_poll },
{ &vop_print_desc, (vop_t *) procfs_print },
{ &vop_read_desc, (vop_t *) procfs_read },
{ &vop_read_desc, (vop_t *) procfs_rw },
{ &vop_readdir_desc, (vop_t *) procfs_readdir },
{ &vop_readlink_desc, (vop_t *) procfs_readlink },
{ &vop_reclaim_desc, (vop_t *) procfs_reclaim },
{ &vop_remove_desc, (vop_t *) procfs_remove },
{ &vop_rename_desc, (vop_t *) procfs_rename },
{ &vop_revoke_desc, (vop_t *) procfs_revoke },
{ &vop_rmdir_desc, (vop_t *) procfs_rmdir },
{ &vop_seek_desc, (vop_t *) procfs_seek },
{ &vop_remove_desc, (vop_t *) procfs_badop },
{ &vop_rename_desc, (vop_t *) procfs_badop },
{ &vop_rmdir_desc, (vop_t *) procfs_badop },
{ &vop_seek_desc, (vop_t *) procfs_badop },
{ &vop_setattr_desc, (vop_t *) procfs_setattr },
{ &vop_strategy_desc, (vop_t *) procfs_strategy },
{ &vop_symlink_desc, (vop_t *) procfs_symlink },
{ &vop_truncate_desc, (vop_t *) procfs_truncate },
{ &vop_unlock_desc, (vop_t *) procfs_unlock },
{ &vop_update_desc, (vop_t *) procfs_update },
{ &vop_valloc_desc, (vop_t *) procfs_valloc },
{ &vop_vfree_desc, (vop_t *) procfs_vfree },
{ &vop_write_desc, (vop_t *) procfs_write },
{ &vop_symlink_desc, (vop_t *) procfs_badop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_write_desc, (vop_t *) procfs_rw },
{ NULL, NULL }
};
static struct vnodeopv_desc procfs_vnodeop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95
* $Id: spec_vnops.c,v 1.45 1997/10/15 10:04:43 phk Exp $
* $Id: spec_vnops.c,v 1.46 1997/10/15 13:23:18 phk Exp $
*/
#include <sys/param.h>
@ -81,12 +81,9 @@ struct vnode *speclisth[SPECHSZ];
vop_t **spec_vnodeop_p;
static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) spec_badop },
{ &vop_access_desc, (vop_t *) spec_ebadf },
{ &vop_advlock_desc, (vop_t *) spec_advlock },
{ &vop_blkatoff_desc, (vop_t *) spec_badop },
{ &vop_bmap_desc, (vop_t *) spec_bmap },
{ &vop_bwrite_desc, (vop_t *) nullop },
{ &vop_close_desc, (vop_t *) spec_close },
{ &vop_create_desc, (vop_t *) spec_badop },
{ &vop_fsync_desc, (vop_t *) spec_fsync },
@ -113,17 +110,13 @@ static struct vnodeopv_entry_desc spec_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) nullop },
{ &vop_remove_desc, (vop_t *) spec_badop },
{ &vop_rename_desc, (vop_t *) spec_badop },
{ &vop_revoke_desc, (vop_t *) vop_revoke },
{ &vop_rmdir_desc, (vop_t *) spec_badop },
{ &vop_seek_desc, (vop_t *) spec_badop },
{ &vop_setattr_desc, (vop_t *) spec_ebadf },
{ &vop_strategy_desc, (vop_t *) spec_strategy },
{ &vop_symlink_desc, (vop_t *) spec_badop },
{ &vop_truncate_desc, (vop_t *) nullop },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_update_desc, (vop_t *) nullop },
{ &vop_valloc_desc, (vop_t *) spec_badop },
{ &vop_vfree_desc, (vop_t *) spec_badop },
{ &vop_write_desc, (vop_t *) spec_write },
{ NULL, NULL }
};
@ -480,7 +473,7 @@ spec_poll(ap)
dev = ap->a_vp->v_rdev;
return (*cdevsw[major(dev)]->d_poll)(dev, ap->a_events, ap->a_p);
default:
return (vop_nopoll(ap));
return (vn_defaultop((struct vop_generic_args *)ap));
}
}

View File

@ -1,4 +1,4 @@
/* $Id: msdosfs_vnops.c,v 1.46 1997/10/15 09:21:39 phk Exp $ */
/* $Id: msdosfs_vnops.c,v 1.47 1997/10/15 10:05:03 phk Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
/*-
@ -1992,7 +1992,6 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
{ &vop_access_desc, (vop_t *) msdosfs_access },
{ &vop_advlock_desc, (vop_t *) msdosfs_advlock },
{ &vop_bmap_desc, (vop_t *) msdosfs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) msdosfs_lookup },
{ &vop_close_desc, (vop_t *) msdosfs_close },
{ &vop_create_desc, (vop_t *) msdosfs_create },

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
* $Id: nfs_vnops.c,v 1.65 1997/10/15 10:05:10 phk Exp $
* $Id: nfs_vnops.c,v 1.66 1997/10/15 13:23:35 phk Exp $
*/
@ -148,10 +148,10 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_getpages_desc, (vop_t *) nfs_getpages },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_ioctl_desc, (vop_t *) nfs_ioctl },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lease_desc, (vop_t *) nfs_lease_check },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) nfs_link },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_lock_desc, (vop_t *) vop_sharedlock },
{ &vop_lookup_desc, (vop_t *) nfs_lookup },
{ &vop_mkdir_desc, (vop_t *) nfs_mkdir },
{ &vop_mknod_desc, (vop_t *) nfs_mknod },
@ -166,13 +166,12 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_remove_desc, (vop_t *) nfs_remove },
{ &vop_rename_desc, (vop_t *) nfs_rename },
{ &vop_revoke_desc, (vop_t *) nfs_revoke },
{ &vop_rmdir_desc, (vop_t *) nfs_rmdir },
{ &vop_seek_desc, (vop_t *) nfs_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) nfs_strategy },
{ &vop_symlink_desc, (vop_t *) nfs_symlink },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) nfs_write },
{ NULL, NULL }
};
@ -187,18 +186,17 @@ vop_t **spec_nfsv2nodeop_p;
static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsspec_close },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_sharedlock },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsspec_read },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) nfsspec_write },
{ NULL, NULL }
};
@ -210,18 +208,17 @@ vop_t **fifo_nfsv2nodeop_p;
static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsfifo_close },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_sharedlock },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsfifo_read },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) nfsfifo_write },
{ NULL, NULL }
};

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsnode.h 8.9 (Berkeley) 5/14/95
* $Id: nfsnode.h,v 1.21 1997/05/19 14:36:51 dfr Exp $
* $Id: nfsnode.h,v 1.22 1997/10/15 07:42:34 phk Exp $
*/
@ -163,16 +163,10 @@ extern vop_t **spec_nfsv2nodeop_p;
*/
int nfs_getpages __P((struct vop_getpages_args *));
int nfs_write __P((struct vop_write_args *));
#define nfs_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
int nqnfs_vop_lease_check __P((struct vop_lease_args *));
#define nfs_revoke vop_revoke
#define nfs_seek ((int (*) __P((struct vop_seek_args *)))nullop)
int nfs_abortop __P((struct vop_abortop_args *));
int nfs_inactive __P((struct vop_inactive_args *));
int nfs_reclaim __P((struct vop_reclaim_args *));
#define nfs_lock ((int (*) __P((struct vop_lock_args *)))vop_sharedlock)
#define nfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define nfs_islocked ((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
/* other stuff */
int nfs_removeit __P((struct sillyrename *));

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
* $Id: nfs_vnops.c,v 1.65 1997/10/15 10:05:10 phk Exp $
* $Id: nfs_vnops.c,v 1.66 1997/10/15 13:23:35 phk Exp $
*/
@ -148,10 +148,10 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_getpages_desc, (vop_t *) nfs_getpages },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_ioctl_desc, (vop_t *) nfs_ioctl },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lease_desc, (vop_t *) nfs_lease_check },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) nullop },
{ &vop_link_desc, (vop_t *) nfs_link },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_lock_desc, (vop_t *) vop_sharedlock },
{ &vop_lookup_desc, (vop_t *) nfs_lookup },
{ &vop_mkdir_desc, (vop_t *) nfs_mkdir },
{ &vop_mknod_desc, (vop_t *) nfs_mknod },
@ -166,13 +166,12 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_remove_desc, (vop_t *) nfs_remove },
{ &vop_rename_desc, (vop_t *) nfs_rename },
{ &vop_revoke_desc, (vop_t *) nfs_revoke },
{ &vop_rmdir_desc, (vop_t *) nfs_rmdir },
{ &vop_seek_desc, (vop_t *) nfs_seek },
{ &vop_seek_desc, (vop_t *) nullop },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_strategy_desc, (vop_t *) nfs_strategy },
{ &vop_symlink_desc, (vop_t *) nfs_symlink },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) nfs_write },
{ NULL, NULL }
};
@ -187,18 +186,17 @@ vop_t **spec_nfsv2nodeop_p;
static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsspec_close },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_sharedlock },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsspec_read },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) nfsspec_write },
{ NULL, NULL }
};
@ -210,18 +208,17 @@ vop_t **fifo_nfsv2nodeop_p;
static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_access_desc, (vop_t *) nfsspec_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) nfsfifo_close },
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
{ &vop_islocked_desc, (vop_t *) nfs_islocked },
{ &vop_lock_desc, (vop_t *) nfs_lock },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_sharedlock },
{ &vop_print_desc, (vop_t *) nfs_print },
{ &vop_read_desc, (vop_t *) nfsfifo_read },
{ &vop_reclaim_desc, (vop_t *) nfs_reclaim },
{ &vop_setattr_desc, (vop_t *) nfs_setattr },
{ &vop_unlock_desc, (vop_t *) nfs_unlock },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ &vop_write_desc, (vop_t *) nfsfifo_write },
{ NULL, NULL }
};

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsnode.h 8.9 (Berkeley) 5/14/95
* $Id: nfsnode.h,v 1.21 1997/05/19 14:36:51 dfr Exp $
* $Id: nfsnode.h,v 1.22 1997/10/15 07:42:34 phk Exp $
*/
@ -163,16 +163,10 @@ extern vop_t **spec_nfsv2nodeop_p;
*/
int nfs_getpages __P((struct vop_getpages_args *));
int nfs_write __P((struct vop_write_args *));
#define nfs_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
int nqnfs_vop_lease_check __P((struct vop_lease_args *));
#define nfs_revoke vop_revoke
#define nfs_seek ((int (*) __P((struct vop_seek_args *)))nullop)
int nfs_abortop __P((struct vop_abortop_args *));
int nfs_inactive __P((struct vop_inactive_args *));
int nfs_reclaim __P((struct vop_reclaim_args *));
#define nfs_lock ((int (*) __P((struct vop_lock_args *)))vop_sharedlock)
#define nfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define nfs_islocked ((int (*) __P((struct vop_islocked_args *)))vop_noislocked)
/* other stuff */
int nfs_removeit __P((struct sillyrename *));

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)vnode.h 8.7 (Berkeley) 2/4/94
* $Id: vnode.h,v 1.49 1997/09/21 04:24:09 dyson Exp $
* $Id: vnode.h,v 1.50 1997/10/12 20:26:07 phk Exp $
*/
#ifndef _SYS_VNODE_H_
@ -372,11 +372,6 @@ struct vnodeopv_desc {
struct vnodeopv_entry_desc *opv_desc_ops; /* null terminated list */
};
/*
* A default routine which just returns an error.
*/
int vn_default_error __P((void));
/*
* A generic structure.
* This can be used by bypass routines to identify generic arguments.
@ -386,6 +381,14 @@ struct vop_generic_args {
/* other random data follows, presumably */
};
/*
* A default routine for vnops we shouldn't hit
*/
int vn_defaultop __P((struct vop_generic_args *ap));
/* XXX: compat until fixed all places*/
#define vn_default_error vn_defaultop
#ifdef DEBUG_VFS_LOCKS
/*
* Macros to aid in tracing VFS locking problems. Not totally

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_alloc.c 8.18 (Berkeley) 5/26/95
* $Id: ffs_alloc.c,v 1.38 1997/10/14 14:22:23 phk Exp $
* $Id: ffs_alloc.c,v 1.39 1997/10/14 18:46:41 phk Exp $
*/
#include "opt_quota.h"
@ -48,6 +48,7 @@
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <ufs/ufs/ufsmount.h>
#include <ufs/ffs/fs.h>
#include <ufs/ffs/ffs_extern.h>
@ -545,23 +546,19 @@ ffs_reallocblks(ap)
* available inode is located.
*/
int
ffs_valloc(ap)
struct vop_valloc_args /* {
struct vnode *a_pvp;
int a_mode;
struct ucred *a_cred;
struct vnode **a_vpp;
} */ *ap;
ffs_valloc(pvp, mode, cred, vpp)
struct vnode *pvp;
int mode;
struct ucred *cred;
struct vnode **vpp;
{
register struct vnode *pvp = ap->a_pvp;
register struct inode *pip;
register struct fs *fs;
register struct inode *ip;
mode_t mode = ap->a_mode;
ino_t ino, ipref;
int cg, error;
*ap->a_vpp = NULL;
*vpp = NULL;
pip = VTOI(pvp);
fs = pip->i_fs;
if (fs->fs_cstotal.cs_nifree == 0)
@ -578,12 +575,12 @@ ffs_valloc(ap)
(allocfcn_t *)ffs_nodealloccg);
if (ino == 0)
goto noinodes;
error = VFS_VGET(pvp->v_mount, ino, ap->a_vpp);
error = VFS_VGET(pvp->v_mount, ino, vpp);
if (error) {
VOP_VFREE(pvp, ino, mode);
UFS_VFREE(pvp, ino, mode);
return (error);
}
ip = VTOI(*ap->a_vpp);
ip = VTOI(*vpp);
if (ip->i_mode) {
printf("mode = 0%o, inum = %ld, fs = %s\n",
ip->i_mode, ip->i_number, fs->fs_fsmnt);
@ -602,7 +599,7 @@ ffs_valloc(ap)
ip->i_gen = random() / 2 + 1;
return (0);
noinodes:
ffs_fserr(fs, ap->a_cred->cr_uid, "out of inodes");
ffs_fserr(fs, cred->cr_uid, "out of inodes");
uprintf("\n%s: create/symlink failed, no inodes free\n", fs->fs_fsmnt);
return (ENOSPC);
}
@ -1404,21 +1401,18 @@ ffs_checkblk(ip, bno, size)
* The specified inode is placed back in the free map.
*/
int
ffs_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
ffs_vfree(pvp, ino, mode)
struct vnode *pvp;
ino_t ino;
int mode;
{
register struct fs *fs;
register struct cg *cgp;
register struct inode *pip;
ino_t ino = ap->a_ino;
struct buf *bp;
int error, cg;
pip = VTOI(ap->a_pvp);
pip = VTOI(pvp);
fs = pip->i_fs;
if ((u_int)ino >= fs->fs_ipg * fs->fs_ncg)
panic("ffs_vfree: range: dev = 0x%x, ino = %d, fs = %s",
@ -1449,7 +1443,7 @@ ffs_vfree(ap)
cgp->cg_cs.cs_nifree++;
fs->fs_cstotal.cs_nifree++;
fs->fs_cs(fs, cg).cs_nifree++;
if ((ap->a_mode & IFMT) == IFDIR) {
if ((mode & IFMT) == IFDIR) {
cgp->cg_cs.cs_ndir--;
fs->fs_cstotal.cs_ndir--;
fs->fs_cs(fs, cg).cs_ndir--;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_extern.h 8.6 (Berkeley) 3/30/95
* $Id: ffs_extern.h,v 1.17 1997/09/27 13:40:05 kato Exp $
* $Id: ffs_extern.h,v 1.18 1997/10/10 18:16:58 phk Exp $
*/
#ifndef _UFS_FFS_EXTERN_H
@ -65,7 +65,7 @@ int ffs_alloc __P((struct inode *,
ufs_daddr_t, ufs_daddr_t, int, struct ucred *, ufs_daddr_t *));
int ffs_balloc __P((struct inode *,
ufs_daddr_t, int, struct ucred *, struct buf **, int));
int ffs_blkatoff __P((struct vop_blkatoff_args *));
int ffs_blkatoff __P((struct vnode *, off_t, char **, struct buf **));
void ffs_blkfree __P((struct inode *, ufs_daddr_t, long));
ufs_daddr_t ffs_blkpref __P((struct inode *, ufs_daddr_t, int, ufs_daddr_t *));
int ffs_bmap __P((struct vop_bmap_args *));
@ -84,11 +84,12 @@ int ffs_realloccg __P((struct inode *,
void ffs_setblock __P((struct fs *, u_char *, ufs_daddr_t));
int ffs_statfs __P((struct mount *, struct statfs *, struct proc *));
int ffs_sync __P((struct mount *, int, struct ucred *, struct proc *));
int ffs_truncate __P((struct vop_truncate_args *));
int ffs_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int ffs_unmount __P((struct mount *, int, struct proc *));
int ffs_update __P((struct vop_update_args *));
int ffs_valloc __P((struct vop_valloc_args *));
int ffs_vfree __P((struct vop_vfree_args *));
int ffs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int ffs_vfree __P((struct vnode *, ino_t, int));
int ffs_vget __P((struct mount *, ino_t, struct vnode **));
int ffs_vptofh __P((struct vnode *, struct fid *));

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_inode.c 8.13 (Berkeley) 4/21/95
* $Id: ffs_inode.c,v 1.26 1997/03/22 06:53:29 bde Exp $
* $Id: ffs_inode.c,v 1.27 1997/09/02 20:06:44 bde Exp $
*/
#include "opt_quota.h"
@ -149,21 +149,18 @@ ffs_update(ap)
* disk blocks.
*/
int
ffs_truncate(ap)
struct vop_truncate_args /* {
struct vnode *a_vp;
off_t a_length;
int a_flags;
struct ucred *a_cred;
struct proc *a_p;
} */ *ap;
ffs_truncate(vp, length, flags, cred, p)
struct vnode *vp;
off_t length;
int flags;
struct ucred *cred;
struct proc *p;
{
register struct vnode *ovp = ap->a_vp;
register struct vnode *ovp = vp;
ufs_daddr_t lastblock;
register struct inode *oip;
ufs_daddr_t bn, lbn, lastiblock[NIADDR], indir_lbn[NIADDR];
ufs_daddr_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR];
off_t length = ap->a_length;
register struct fs *fs;
struct buf *bp;
int offset, size, level;
@ -210,9 +207,9 @@ ffs_truncate(ap)
offset = blkoff(fs, length - 1);
lbn = lblkno(fs, length - 1);
aflags = B_CLRBUF;
if (ap->a_flags & IO_SYNC)
if (flags & IO_SYNC)
aflags |= B_SYNC;
error = ffs_balloc(oip, lbn, offset + 1, ap->a_cred,
error = ffs_balloc(oip, lbn, offset + 1, cred,
&bp, aflags);
if (error)
return (error);
@ -240,9 +237,9 @@ ffs_truncate(ap)
} else {
lbn = lblkno(fs, length);
aflags = B_CLRBUF;
if (ap->a_flags & IO_SYNC)
if (flags & IO_SYNC)
aflags |= B_SYNC;
error = ffs_balloc(oip, lbn, offset, ap->a_cred, &bp, aflags);
error = ffs_balloc(oip, lbn, offset, cred, &bp, aflags);
if (error)
return (error);
oip->i_size = length;
@ -296,7 +293,7 @@ ffs_truncate(ap)
bcopy((caddr_t)oldblks, (caddr_t)&oip->i_db[0], sizeof oldblks);
oip->i_size = osize;
vflags = ((length > 0) ? V_SAVE : 0) | V_SAVEMETA;
allerror = vinvalbuf(ovp, vflags, ap->a_cred, ap->a_p, 0, 0);
allerror = vinvalbuf(ovp, vflags, cred, p, 0, 0);
/*
* Indirect blocks first.

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_subr.c 8.5 (Berkeley) 3/21/95
* $Id: ffs_subr.c,v 1.11 1997/02/22 09:47:04 peter Exp $
* $Id: ffs_subr.c,v 1.12 1997/03/09 06:00:42 mpp Exp $
*/
#include <sys/param.h>
@ -57,13 +57,11 @@
* remaining space in the directory.
*/
int
ffs_blkatoff(ap)
struct vop_blkatoff_args /* {
struct vnode *a_vp;
off_t a_offset;
char **a_res;
struct buf **a_bpp;
} */ *ap;
ffs_blkatoff(vp, offset, res, bpp)
struct vnode *vp;
off_t offset;
char **res;
struct buf **bpp;
{
struct inode *ip;
register struct fs *fs;
@ -71,20 +69,20 @@ ffs_blkatoff(ap)
ufs_daddr_t lbn;
int bsize, error;
ip = VTOI(ap->a_vp);
ip = VTOI(vp);
fs = ip->i_fs;
lbn = lblkno(fs, ap->a_offset);
lbn = lblkno(fs, offset);
bsize = blksize(fs, ip, lbn);
*ap->a_bpp = NULL;
error = bread(ap->a_vp, lbn, bsize, NOCRED, &bp);
*bpp = NULL;
error = bread(vp, lbn, bsize, NOCRED, &bp);
if (error) {
brelse(bp);
return (error);
}
if (ap->a_res)
*ap->a_res = (char *)bp->b_data + blkoff(fs, ap->a_offset);
*ap->a_bpp = bp;
if (res)
*res = (char *)bp->b_data + blkoff(fs, offset);
*bpp = bp;
return (0);
}
#endif

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_vfsops.c 8.31 (Berkeley) 5/20/95
* $Id: ffs_vfsops.c,v 1.58 1997/10/11 18:31:36 phk Exp $
* $Id: ffs_vfsops.c,v 1.59 1997/10/12 20:26:12 phk Exp $
*/
#include "opt_quota.h"
@ -555,6 +555,10 @@ ffs_mountfs(devvp, mp, p, malloctype)
ump->um_malloctype = malloctype;
ump->um_fs = malloc((u_long)fs->fs_sbsize, M_UFSMNT,
M_WAITOK);
ump->um_blkatoff = ffs_blkatoff;
ump->um_truncate = ffs_truncate;
ump->um_valloc = ffs_valloc;
ump->um_vfree = ffs_vfree;
bcopy(bp->b_data, ump->um_fs, (u_int)fs->fs_sbsize);
if (fs->fs_sbsize < SBSIZE)
bp->b_flags |= B_INVAL;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95
* $Id: ffs_vnops.c,v 1.33 1997/10/15 10:05:17 phk Exp $
* $Id: ffs_vnops.c,v 1.34 1997/10/15 13:23:47 phk Exp $
*/
#include <sys/param.h>
@ -73,15 +73,11 @@ static int ffs_write __P((struct vop_write_args *));
vop_t **ffs_vnodeop_p;
static struct vnodeopv_entry_desc ffs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) ffs_blkatoff },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
{ &vop_getpages_desc, (vop_t *) ffs_getpages },
{ &vop_read_desc, (vop_t *) ffs_read },
{ &vop_reallocblks_desc, (vop_t *) ffs_reallocblks },
{ &vop_truncate_desc, (vop_t *) ffs_truncate },
{ &vop_update_desc, (vop_t *) ffs_update },
{ &vop_valloc_desc, (vop_t *) ffs_valloc },
{ &vop_vfree_desc, (vop_t *) ffs_vfree },
{ &vop_write_desc, (vop_t *) ffs_write },
{ NULL, NULL }
};
@ -93,7 +89,6 @@ static struct vnodeopv_entry_desc ffs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatespec },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
{ &vop_update_desc, (vop_t *) ffs_update },
{ &vop_vfree_desc, (vop_t *) ffs_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc ffs_specop_opv_desc =
@ -104,7 +99,6 @@ static struct vnodeopv_entry_desc ffs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperatefifo },
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
{ &vop_update_desc, (vop_t *) ffs_update },
{ &vop_vfree_desc, (vop_t *) ffs_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc ffs_fifoop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_alloc.c 8.7 (Berkeley) 5/14/95
* $Id: lfs_alloc.c,v 1.16 1997/10/14 14:22:29 phk Exp $
* $Id: lfs_alloc.c,v 1.17 1997/10/14 18:46:43 phk Exp $
*/
#include "opt_quota.h"
@ -60,13 +60,11 @@ extern u_long nextgennumber;
/* Allocate a new inode. */
/* ARGSUSED */
int
lfs_valloc(ap)
struct vop_valloc_args /* {
struct vnode *a_pvp;
int a_mode;
struct ucred *a_cred;
struct vnode **a_vpp;
} */ *ap;
lfs_valloc(pvp, mode, cred, vpp)
struct vnode *pvp;
int mode;
struct ucred *cred;
struct vnode **vpp;
{
struct lfs *fs;
struct buf *bp;
@ -79,7 +77,7 @@ lfs_valloc(ap)
int error;
/* Get the head of the freelist. */
fs = VTOI(ap->a_pvp)->i_lfs;
fs = VTOI(pvp)->i_lfs;
new_ino = fs->lfs_free;
#ifdef ALLOCPRINT
printf("lfs_ialloc: allocate inode %d\n", new_ino);
@ -120,7 +118,7 @@ lfs_valloc(ap)
}
/* Create a vnode to associate with the inode. */
if (error = lfs_vcreate(ap->a_pvp->v_mount, new_ino, &vp))
if (error = lfs_vcreate(pvp->v_mount, new_ino, &vp))
return (error);
@ -139,11 +137,11 @@ lfs_valloc(ap)
if (error = ufs_vinit(vp->v_mount, lfs_specop_p, LFS_FIFOOPS, &vp)) {
vput(vp);
*ap->a_vpp = NULL;
*vpp = NULL;
return (error);
}
*ap->a_vpp = vp;
*vpp = vp;
vp->v_flag |= VDIROP;
VREF(ip->i_devvp);
@ -206,12 +204,10 @@ lfs_vcreate(mp, ino, vpp)
/* Free an inode. */
/* ARGUSED */
int
lfs_vfree(ap)
struct vop_vfree_args /* {
struct vnode *a_pvp;
ino_t a_ino;
int a_mode;
} */ *ap;
lfs_vfree(pvp, ino, mode)
struct vnode *pvp;
ino_t ino;
int mode;
{
SEGUSE *sup;
struct buf *bp;
@ -222,7 +218,7 @@ lfs_vfree(ap)
ino_t ino;
/* Get the inode number and file system. */
ip = VTOI(ap->a_pvp);
ip = VTOI(pvp);
fs = ip->i_lfs;
ino = ip->i_number;
if (ip->i_flag & IN_MODIFIED) {

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_extern.h 8.6 (Berkeley) 5/8/95
* $Id: lfs_extern.h,v 1.16 1997/10/10 18:17:20 phk Exp $
* $Id: lfs_extern.h,v 1.17 1997/10/12 20:26:15 phk Exp $
*/
#ifndef _UFS_LFS_LFS_EXTERN_H_
@ -39,15 +39,17 @@
#ifdef KERNEL
#ifdef MALLOC_DECLARE
MALLOC_DECLARE(M_LFSNODE);
MALLOC_DECLARE(M_SEGMENT); /* XXX should be M_LFSSEGMENT ?? */
#endif
struct inode;
struct mount;
struct nameidata;
int lfs_balloc __P((struct vnode *, int, u_long, ufs_daddr_t, struct buf **));
int lfs_blkatoff __P((struct vop_blkatoff_args *));
int lfs_blkatoff __P((struct vnode *, off_t, char **, struct buf **));
int lfs_bwrite __P((struct vop_bwrite_args *));
int lfs_check __P((struct vnode *, ufs_daddr_t));
void lfs_free_buffer __P((caddr_t, int));
@ -65,12 +67,12 @@ void lfs_segunlock __P((struct lfs *));
int lfs_segwrite __P((struct mount *, int));
#define lfs_sysctl ((int (*) __P((int *, u_int, void *, size_t *, void *, \
size_t, struct proc *)))eopnotsupp)
int lfs_truncate __P((struct vop_truncate_args *));
int lfs_truncate __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int lfs_update __P((struct vop_update_args *));
void lfs_updatemeta __P((struct segment *));
int lfs_valloc __P((struct vop_valloc_args *));
int lfs_valloc __P((struct vnode *, int, struct ucred *, struct vnode **));
int lfs_vcreate __P((struct mount *, ino_t, struct vnode **));
int lfs_vfree __P((struct vop_vfree_args *));
int lfs_vfree __P((struct vnode *, ino_t, int));
int lfs_vflush __P((struct vnode *));
int lfs_vref __P((struct vnode *));
void lfs_vunref __P((struct vnode *));

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_inode.c 8.9 (Berkeley) 5/8/95
* $Id: lfs_inode.c,v 1.17 1997/03/22 09:33:55 bde Exp $
* $Id: lfs_inode.c,v 1.18 1997/09/02 20:06:48 bde Exp $
*/
#include "opt_quota.h"
@ -154,20 +154,16 @@ lfs_update(ap)
*/
/* ARGSUSED */
int
lfs_truncate(ap)
struct vop_truncate_args /* {
struct vnode *a_vp;
off_t a_length;
int a_flags;
struct ucred *a_cred;
struct proc *a_p;
} */ *ap;
lfs_truncate(vp, length, flags, cred, p)
struct vnode *vp;
off_t length;
int flags;
struct ucred *cred;
struct proc *p;
{
register struct indir *inp;
register int i;
register ufs_daddr_t *daddrp;
register struct vnode *vp = ap->a_vp;
off_t length = ap->a_length;
struct buf *bp, *sup_bp;
struct timeval tv;
struct ifile *ifp;
@ -378,7 +374,7 @@ lfs_truncate(ap)
}
#endif
fs->lfs_avail += fragstodb(fs, a_released);
e1 = vinvalbuf(vp, (length > 0) ? V_SAVE : 0, ap->a_cred, ap->a_p,
e1 = vinvalbuf(vp, (length > 0) ? V_SAVE : 0, cred, p,
0, 0);
e2 = VOP_UPDATE(vp, &tv, &tv, 0);
return (e1 ? e1 : e2 ? e2 : 0);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_subr.c 8.4 (Berkeley) 5/8/95
* $Id: lfs_subr.c,v 1.10 1997/02/22 09:47:23 peter Exp $
* $Id: lfs_subr.c,v 1.11 1997/08/02 14:33:21 bde Exp $
*/
#include <sys/param.h>
@ -53,13 +53,11 @@
* remaining space in the directory.
*/
int
lfs_blkatoff(ap)
struct vop_blkatoff_args /* {
struct vnode *a_vp;
off_t a_offset;
char **a_res;
struct buf **a_bpp;
} */ *ap;
lfs_blkatoff(vp, offset, res, bpp)
struct vnode *vp;
off_t offset;
char **res;
struct buf **bpp;
{
register struct lfs *fs;
struct inode *ip;
@ -67,19 +65,19 @@ lfs_blkatoff(ap)
ufs_daddr_t lbn;
int bsize, error;
ip = VTOI(ap->a_vp);
ip = VTOI(vp);
fs = ip->i_lfs;
lbn = lblkno(fs, ap->a_offset);
lbn = lblkno(fs, offset);
bsize = blksize(fs, ip, lbn);
*ap->a_bpp = NULL;
if (error = bread(ap->a_vp, lbn, bsize, NOCRED, &bp)) {
*bpp = NULL;
if (error = bread(vp, lbn, bsize, NOCRED, &bp)) {
brelse(bp);
return (error);
}
if (ap->a_res)
*ap->a_res = (char *)bp->b_data + blkoff(fs, ap->a_offset);
*ap->a_bpp = bp;
if (res)
*res = (char *)bp->b_data + blkoff(fs, offset);
*bpp = bp;
return (0);
}

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)lfs_vnops.c 8.13 (Berkeley) 6/10/95
* $Id: lfs_vnops.c,v 1.26 1997/10/15 10:05:23 phk Exp $
* $Id: lfs_vnops.c,v 1.27 1997/10/15 13:23:52 phk Exp $
*/
#include <sys/param.h>
@ -56,6 +56,7 @@
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/ufs_extern.h>
#include <ufs/lfs/lfs.h>
@ -73,17 +74,12 @@ static int lfs_write __P((struct vop_write_args *));
vop_t **lfs_vnodeop_p;
static struct vnodeopv_entry_desc lfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
{ &vop_blkatoff_desc, (vop_t *) lfs_blkatoff },
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_close_desc, (vop_t *) lfs_close },
{ &vop_fsync_desc, (vop_t *) lfs_fsync },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_read_desc, (vop_t *) lfs_read },
{ &vop_truncate_desc, (vop_t *) lfs_truncate },
{ &vop_update_desc, (vop_t *) lfs_update },
{ &vop_valloc_desc, (vop_t *) lfs_valloc },
{ &vop_vfree_desc, (vop_t *) lfs_vfree },
{ &vop_write_desc, (vop_t *) lfs_write },
{ &vop_lookup_desc, (vop_t *) ufs_lookup },
{ NULL, NULL }
@ -97,7 +93,6 @@ static struct vnodeopv_entry_desc lfs_specop_entries[] = {
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_update_desc, (vop_t *) lfs_update },
{ &vop_vfree_desc, (vop_t *) lfs_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_specop_opv_desc =
@ -109,7 +104,6 @@ static struct vnodeopv_entry_desc lfs_fifoop_entries[] = {
{ &vop_bwrite_desc, (vop_t *) lfs_bwrite },
{ &vop_getattr_desc, (vop_t *) lfs_getattr },
{ &vop_update_desc, (vop_t *) lfs_update },
{ &vop_vfree_desc, (vop_t *) lfs_vfree },
{ NULL, NULL }
};
static struct vnodeopv_desc lfs_fifoop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfs_extern.h 8.4 (Berkeley) 3/30/95
* $Id$
* $Id: mfs_extern.h,v 1.9 1997/02/22 09:47:31 peter Exp $
*/
#ifndef _UFS_MFS_MFS_EXTERN_H_
@ -44,6 +44,4 @@ void mfs_doio __P((struct buf *bp, caddr_t base));
int mfs_mountfs __P((struct vnode *, struct mount *, struct proc *));
int mfs_mountroot __P((void));
#define mfs_revoke vop_revoke
#endif /* !_UFS_MFS_MFS_EXTERN_H_ */

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfs_vnops.c 8.11 (Berkeley) 5/22/95
* $Id: mfs_vnops.c,v 1.23 1997/10/15 10:05:29 phk Exp $
* $Id: mfs_vnops.c,v 1.24 1997/10/15 13:23:57 phk Exp $
*/
#include <sys/param.h>
@ -66,48 +66,19 @@ static int mfs_strategy __P((struct vop_strategy_args *)); /* XXX */
*/
vop_t **mfs_vnodeop_p;
static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_abortop_desc, (vop_t *) mfs_abortop },
{ &vop_access_desc, (vop_t *) mfs_access },
{ &vop_advlock_desc, (vop_t *) mfs_advlock },
{ &vop_blkatoff_desc, (vop_t *) mfs_blkatoff },
{ &vop_default_desc, (vop_t *) mfs_badop },
{ &vop_bmap_desc, (vop_t *) mfs_bmap },
{ &vop_bwrite_desc, (vop_t *) mfs_bwrite },
{ &vop_close_desc, (vop_t *) mfs_close },
{ &vop_create_desc, (vop_t *) mfs_create },
{ &vop_fsync_desc, (vop_t *) mfs_fsync },
{ &vop_getattr_desc, (vop_t *) mfs_getattr },
{ &vop_inactive_desc, (vop_t *) mfs_inactive },
{ &vop_ioctl_desc, (vop_t *) mfs_ioctl },
{ &vop_islocked_desc, (vop_t *) mfs_islocked },
{ &vop_link_desc, (vop_t *) mfs_link },
{ &vop_lock_desc, (vop_t *) mfs_lock },
{ &vop_lookup_desc, (vop_t *) mfs_lookup },
{ &vop_mkdir_desc, (vop_t *) mfs_mkdir },
{ &vop_mknod_desc, (vop_t *) mfs_mknod },
{ &vop_mmap_desc, (vop_t *) mfs_mmap },
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lock_desc, (vop_t *) vop_nolock },
{ &vop_open_desc, (vop_t *) mfs_open },
{ &vop_pathconf_desc, (vop_t *) mfs_pathconf },
{ &vop_poll_desc, (vop_t *) mfs_poll },
{ &vop_print_desc, (vop_t *) mfs_print },
{ &vop_read_desc, (vop_t *) mfs_read },
{ &vop_readdir_desc, (vop_t *) mfs_readdir },
{ &vop_readlink_desc, (vop_t *) mfs_readlink },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) mfs_remove },
{ &vop_rename_desc, (vop_t *) mfs_rename },
{ &vop_revoke_desc, (vop_t *) mfs_revoke },
{ &vop_rmdir_desc, (vop_t *) mfs_rmdir },
{ &vop_seek_desc, (vop_t *) mfs_seek },
{ &vop_setattr_desc, (vop_t *) mfs_setattr },
{ &vop_strategy_desc, (vop_t *) mfs_strategy },
{ &vop_symlink_desc, (vop_t *) mfs_symlink },
{ &vop_truncate_desc, (vop_t *) mfs_truncate },
{ &vop_unlock_desc, (vop_t *) mfs_unlock },
{ &vop_update_desc, (vop_t *) mfs_update },
{ &vop_valloc_desc, (vop_t *) mfs_valloc },
{ &vop_vfree_desc, (vop_t *) mfs_vfree },
{ &vop_write_desc, (vop_t *) mfs_write },
{ &vop_unlock_desc, (vop_t *) vop_nounlock },
{ NULL, NULL }
};
static struct vnodeopv_desc mfs_vnodeop_opv_desc =

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfsnode.h 8.3 (Berkeley) 5/19/95
* $Id: mfsnode.h,v 1.8 1997/02/22 09:47:34 peter Exp $
* $Id: mfsnode.h,v 1.9 1997/09/14 02:58:08 peter Exp $
*/
#ifndef _UFS_MFS_MFSNODE_H_
@ -57,37 +57,4 @@ struct mfsnode {
#define VTOMFS(vp) ((struct mfsnode *)(vp)->v_data)
#define MFSTOV(mfsp) ((mfsp)->mfs_vnode)
/* Prototypes for MFS operations on vnodes. */
#define mfs_lookup ((int (*) __P((struct vop_lookup_args *)))mfs_badop)
#define mfs_create ((int (*) __P((struct vop_create_args *)))mfs_badop)
#define mfs_mknod ((int (*) __P((struct vop_mknod_args *)))mfs_badop)
#define mfs_access ((int (*) __P((struct vop_access_args *)))mfs_badop)
#define mfs_getattr ((int (*) __P((struct vop_getattr_args *)))mfs_badop)
#define mfs_setattr ((int (*) __P((struct vop_setattr_args *)))mfs_badop)
#define mfs_read ((int (*) __P((struct vop_read_args *)))mfs_badop)
#define mfs_write ((int (*) __P((struct vop_write_args *)))mfs_badop)
#define mfs_poll ((int (*) __P((struct vop_poll_args *)))mfs_badop)
#define mfs_mmap ((int (*) __P((struct vop_mmap_args *)))mfs_badop)
#define mfs_seek ((int (*) __P((struct vop_seek_args *)))mfs_badop)
#define mfs_remove ((int (*) __P((struct vop_remove_args *)))mfs_badop)
#define mfs_link ((int (*) __P((struct vop_link_args *)))mfs_badop)
#define mfs_rename ((int (*) __P((struct vop_rename_args *)))mfs_badop)
#define mfs_mkdir ((int (*) __P((struct vop_mkdir_args *)))mfs_badop)
#define mfs_rmdir ((int (*) __P((struct vop_rmdir_args *)))mfs_badop)
#define mfs_symlink ((int (*) __P((struct vop_symlink_args *)))mfs_badop)
#define mfs_readdir ((int (*) __P((struct vop_readdir_args *)))mfs_badop)
#define mfs_readlink ((int (*) __P((struct vop_readlink_args *)))mfs_badop)
#define mfs_abortop ((int (*) __P((struct vop_abortop_args *)))mfs_badop)
#define mfs_lock ((int (*) __P((struct vop_lock_args *)))vop_nolock)
#define mfs_unlock ((int (*) __P((struct vop_unlock_args *)))vop_nounlock)
#define mfs_islocked ((int(*) __P((struct vop_islocked_args *)))vop_noislocked)
#define mfs_pathconf ((int (*) __P((struct vop_pathconf_args *)))mfs_badop)
#define mfs_advlock ((int (*) __P((struct vop_advlock_args *)))mfs_badop)
#define mfs_blkatoff ((int (*) __P((struct vop_blkatoff_args *)))mfs_badop)
#define mfs_valloc ((int (*) __P((struct vop_valloc_args *)))mfs_badop)
#define mfs_vfree ((int (*) __P((struct vop_vfree_args *)))mfs_badop)
#define mfs_truncate ((int (*) __P((struct vop_truncate_args *)))mfs_badop)
#define mfs_update ((int (*) __P((struct vop_update_args *)))mfs_badop)
#define mfs_bwrite ((int (*) __P((struct vop_bwrite_args *)))vn_bwrite)
#endif

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_extern.h 8.10 (Berkeley) 5/14/95
* $Id: ufs_extern.h,v 1.18 1997/10/10 18:18:12 phk Exp $
* $Id: ufs_extern.h,v 1.19 1997/10/15 13:24:02 phk Exp $
*/
#ifndef _UFS_UFS_EXTERN_H_
@ -90,11 +90,6 @@ int ufs_inactive __P((struct vop_inactive_args *));
int ufs_init __P((struct vfsconf *));
int ufs_ioctl __P((struct vop_ioctl_args *));
int ufs_islocked __P((struct vop_islocked_args *));
#ifdef NFS
#define ufs_lease_check lease_check
#else
#define ufs_lease_check ((int (*) __P((struct vop_lease_args *)))nullop)
#endif
int ufs_link __P((struct vop_link_args *));
int ufs_lock __P((struct vop_lock_args *));
int ufs_lookup __P((struct vop_cachedlookup_args *));
@ -110,11 +105,9 @@ int ufs_readlink __P((struct vop_readlink_args *));
int ufs_reclaim __P((struct vop_reclaim_args *));
int ufs_remove __P((struct vop_remove_args *));
int ufs_rename __P((struct vop_rename_args *));
#define ufs_revoke vop_revoke
int ufs_rmdir __P((struct vop_rmdir_args *));
int ufs_root __P((struct mount *, struct vnode **));
int ufs_seek __P((struct vop_seek_args *));
#define ufs_poll vop_nopoll
int ufs_setattr __P((struct vop_setattr_args *));
int ufs_start __P((struct mount *, int, struct proc *));
int ufs_strategy __P((struct vop_strategy_args *));

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_inode.c 8.9 (Berkeley) 5/14/95
* $Id: ufs_inode.c,v 1.17 1997/10/14 14:22:31 phk Exp $
* $Id: ufs_inode.c,v 1.18 1997/10/14 18:46:48 phk Exp $
*/
#include "opt_quota.h"
@ -83,12 +83,12 @@ ufs_inactive(ap)
if (!getinoquota(ip))
(void)chkiq(ip, -1, NOCRED, 0);
#endif
error = VOP_TRUNCATE(vp, (off_t)0, 0, NOCRED, p);
error = UFS_TRUNCATE(vp, (off_t)0, 0, NOCRED, p);
ip->i_rdev = 0;
mode = ip->i_mode;
ip->i_mode = 0;
ip->i_flag |= IN_CHANGE | IN_UPDATE;
VOP_VFREE(vp, ip->i_number, mode);
UFS_VFREE(vp, ip->i_number, mode);
}
if (ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) {
gettime(&tv);

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_lookup.c 8.15 (Berkeley) 6/16/95
* $Id: ufs_lookup.c,v 1.16 1997/09/02 20:06:58 bde Exp $
* $Id: ufs_lookup.c,v 1.17 1997/09/10 19:47:37 phk Exp $
*/
#include <sys/param.h>
@ -185,7 +185,7 @@ ufs_lookup(ap)
} else {
dp->i_offset = dp->i_diroff;
if ((entryoffsetinblock = dp->i_offset & bmask) &&
(error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
(error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp)))
return (error);
numdirpasses = 2;
nchstats.ncs_2passes++;
@ -203,7 +203,7 @@ ufs_lookup(ap)
if (bp != NULL)
brelse(bp);
error =
VOP_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp);
UFS_BLKATOFF(vdp, (off_t)dp->i_offset, NULL, &bp);
if (error)
return (error);
entryoffsetinblock = 0;
@ -715,7 +715,7 @@ ufs_direnter2(dvp, dirp, cr, p)
/*
* Get the block containing the space for the new directory entry.
*/
error = VOP_BLKATOFF(dvp, (off_t)dp->i_offset, &dirbuf, &bp);
error = UFS_BLKATOFF(dvp, (off_t)dp->i_offset, &dirbuf, &bp);
if (error)
return (error);
/*
@ -770,7 +770,7 @@ ufs_direnter2(dvp, dirp, cr, p)
}
dp->i_flag |= IN_CHANGE | IN_UPDATE;
if (!error && dp->i_endoff && dp->i_endoff < dp->i_size)
error = VOP_TRUNCATE(dvp, (off_t)dp->i_endoff, IO_SYNC, cr, p);
error = UFS_TRUNCATE(dvp, (off_t)dp->i_endoff, IO_SYNC, cr, p);
return (error);
}
@ -803,7 +803,7 @@ ufs_dirremove(dvp, cnp)
* Whiteout entry: set d_ino to WINO.
*/
if (error =
VOP_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp))
UFS_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp))
return (error);
ep->d_ino = WINO;
ep->d_type = DT_WHT;
@ -817,7 +817,7 @@ ufs_dirremove(dvp, cnp)
* First entry in block: set d_ino to zero.
*/
error =
VOP_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp);
UFS_BLKATOFF(dvp, (off_t)dp->i_offset, (char **)&ep, &bp);
if (error)
return (error);
ep->d_ino = 0;
@ -828,7 +828,7 @@ ufs_dirremove(dvp, cnp)
/*
* Collapse new free space into previous entry.
*/
error = VOP_BLKATOFF(dvp, (off_t)(dp->i_offset - dp->i_count),
error = UFS_BLKATOFF(dvp, (off_t)(dp->i_offset - dp->i_count),
(char **)&ep, &bp);
if (error)
return (error);
@ -858,7 +858,7 @@ ufs_dirrewrite(dp, ip, cnp)
struct vnode *vdp = ITOV(dp);
int error;
error = VOP_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp);
error = UFS_BLKATOFF(vdp, (off_t)dp->i_offset, (char **)&ep, &bp);
if (error)
return (error);
ep->d_ino = ip->i_number;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_readwrite.c 8.11 (Berkeley) 5/8/95
* $Id: ufs_readwrite.c,v 1.30 1997/08/25 08:18:39 kato Exp $
* $Id: ufs_readwrite.c,v 1.31 1997/09/27 13:40:20 kato Exp $
*/
#ifdef LFS_READWRITE
@ -305,7 +305,7 @@ WRITE(ap)
ip->i_mode &= ~(ISUID | ISGID);
if (error) {
if (ioflag & IO_UNIT) {
(void)VOP_TRUNCATE(vp, osize,
(void)UFS_TRUNCATE(vp, osize,
ioflag & IO_SYNC, ap->a_cred, uio->uio_procp);
uio->uio_offset -= resid - uio->uio_resid;
uio->uio_resid = resid;

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
* $Id: ufs_vnops.c,v 1.58 1997/09/21 04:24:14 dyson Exp $
* $Id: ufs_vnops.c,v 1.59 1997/10/15 13:24:07 phk Exp $
*/
#include "opt_quota.h"
@ -415,7 +415,7 @@ ufs_setattr(ap)
return (EROFS);
break;
}
if (error = VOP_TRUNCATE(vp, vap->va_size, 0, cred, p))
if (error = UFS_TRUNCATE(vp, vap->va_size, 0, cred, p))
return (error);
}
ip = VTOI(vp);
@ -1156,7 +1156,7 @@ ufs_rename(ap)
if (doingdirectory) {
if (--xp->i_nlink != 0)
panic("ufs_rename: linked directory");
error = VOP_TRUNCATE(tvp, (off_t)0, IO_SYNC,
error = UFS_TRUNCATE(tvp, (off_t)0, IO_SYNC,
tcnp->cn_cred, tcnp->cn_proc);
}
xp->i_flag |= IN_CHANGE;
@ -1334,7 +1334,7 @@ ufs_mkdir(ap)
* but not have it entered in the parent directory. The entry is
* made later after writing "." and ".." entries.
*/
error = VOP_VALLOC(dvp, dmode, cnp->cn_cred, &tvp);
error = UFS_VALLOC(dvp, dmode, cnp->cn_cred, &tvp);
if (error)
goto out;
ip = VTOI(tvp);
@ -1344,7 +1344,7 @@ ufs_mkdir(ap)
if ((error = getinoquota(ip)) ||
(error = chkiq(ip, 1, cnp->cn_cred, 0))) {
zfree(namei_zone, cnp->cn_pnbuf);
VOP_VFREE(tvp, ip->i_number, dmode);
UFS_VFREE(tvp, ip->i_number, dmode);
vput(tvp);
vput(dvp);
return (error);
@ -1520,7 +1520,7 @@ ufs_rmdir(ap)
* worry about them later.
*/
ip->i_nlink -= 2;
error = VOP_TRUNCATE(vp, (off_t)0, IO_SYNC, cnp->cn_cred,
error = UFS_TRUNCATE(vp, (off_t)0, IO_SYNC, cnp->cn_cred,
cnp->cn_proc);
cache_purge(ITOV(ip));
out:
@ -2092,7 +2092,7 @@ ufs_makeinode(mode, dvp, vpp, cnp)
if ((mode & IFMT) == 0)
mode |= IFREG;
error = VOP_VALLOC(dvp, mode, cnp->cn_cred, &tvp);
error = UFS_VALLOC(dvp, mode, cnp->cn_cred, &tvp);
if (error) {
zfree(namei_zone, cnp->cn_pnbuf);
vput(dvp);
@ -2105,7 +2105,7 @@ ufs_makeinode(mode, dvp, vpp, cnp)
if ((error = getinoquota(ip)) ||
(error = chkiq(ip, 1, cnp->cn_cred, 0))) {
zfree(namei_zone, cnp->cn_pnbuf);
VOP_VFREE(tvp, ip->i_number, mode);
UFS_VFREE(tvp, ip->i_number, mode);
vput(tvp);
vput(dvp);
return (error);
@ -2174,23 +2174,16 @@ ufs_missingop(ap)
vop_t **ufs_vnodeop_p;
static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &vop_default_desc, (vop_t *) vn_default_error },
{ &vop_blkatoff_desc, (vop_t *) ufs_missingop },
{ &vop_fsync_desc, (vop_t *) ufs_missingop },
{ &vop_getpages_desc, (vop_t *) ufs_missingop },
{ &vop_read_desc, (vop_t *) ufs_missingop },
{ &vop_reallocblks_desc, (vop_t *) ufs_missingop },
{ &vop_truncate_desc, (vop_t *) ufs_missingop },
{ &vop_update_desc, (vop_t *) ufs_missingop },
{ &vop_valloc_desc, (vop_t *) ufs_missingop },
{ &vop_vfree_desc, (vop_t *) ufs_missingop },
{ &vop_write_desc, (vop_t *) ufs_missingop },
{ &vop_abortop_desc, (vop_t *) ufs_abortop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_advlock_desc, (vop_t *) ufs_advlock },
{ &vop_bmap_desc, (vop_t *) ufs_bmap },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_cachedlookup_desc, (vop_t *) ufs_lookup },
{ &vop_close_desc, (vop_t *) ufs_close },
{ &vop_create_desc, (vop_t *) ufs_create },
@ -2198,7 +2191,6 @@ static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
{ &vop_ioctl_desc, (vop_t *) ufs_ioctl },
{ &vop_islocked_desc, (vop_t *) ufs_islocked },
{ &vop_lease_desc, (vop_t *) ufs_lease_check },
{ &vop_link_desc, (vop_t *) ufs_link },
{ &vop_lock_desc, (vop_t *) ufs_lock },
{ &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
@ -2207,14 +2199,12 @@ static struct vnodeopv_entry_desc ufs_vnodeop_entries[] = {
{ &vop_mmap_desc, (vop_t *) ufs_mmap },
{ &vop_open_desc, (vop_t *) ufs_open },
{ &vop_pathconf_desc, (vop_t *) ufs_pathconf },
{ &vop_poll_desc, (vop_t *) ufs_poll },
{ &vop_print_desc, (vop_t *) ufs_print },
{ &vop_readdir_desc, (vop_t *) ufs_readdir },
{ &vop_readlink_desc, (vop_t *) ufs_readlink },
{ &vop_reclaim_desc, (vop_t *) ufs_reclaim },
{ &vop_remove_desc, (vop_t *) ufs_remove },
{ &vop_rename_desc, (vop_t *) ufs_rename },
{ &vop_revoke_desc, (vop_t *) ufs_revoke },
{ &vop_rmdir_desc, (vop_t *) ufs_rmdir },
{ &vop_seek_desc, (vop_t *) ufs_seek },
{ &vop_setattr_desc, (vop_t *) ufs_setattr },
@ -2230,13 +2220,9 @@ static struct vnodeopv_desc ufs_vnodeop_opv_desc =
vop_t **ufs_specop_p;
static struct vnodeopv_entry_desc ufs_specop_entries[] = {
{ &vop_default_desc, (vop_t *) spec_vnoperate },
{ &vop_fsync_desc, (vop_t *) ufs_missingop },
{ &vop_update_desc, (vop_t *) ufs_missingop },
{ &vop_vfree_desc, (vop_t *) ufs_missingop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsspec_close },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },
@ -2256,13 +2242,9 @@ static struct vnodeopv_desc ufs_specop_opv_desc =
vop_t **ufs_fifoop_p;
static struct vnodeopv_entry_desc ufs_fifoop_entries[] = {
{ &vop_default_desc, (vop_t *) fifo_vnoperate },
{ &vop_fsync_desc, (vop_t *) ufs_missingop },
{ &vop_update_desc, (vop_t *) ufs_missingop },
{ &vop_vfree_desc, (vop_t *) ufs_missingop },
{ &vop_access_desc, (vop_t *) ufs_access },
{ &vop_bwrite_desc, (vop_t *) vn_bwrite },
{ &vop_close_desc, (vop_t *) ufsfifo_close },
{ &vop_getattr_desc, (vop_t *) ufs_getattr },
{ &vop_inactive_desc, (vop_t *) ufs_inactive },

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ufsmount.h 8.6 (Berkeley) 3/30/95
* $Id: ufsmount.h,v 1.9 1997/10/10 18:18:13 phk Exp $
* $Id: ufsmount.h,v 1.10 1997/10/12 20:26:28 phk Exp $
*/
#ifndef _UFS_UFS_UFSMOUNT_H_
@ -97,8 +97,17 @@ struct ufsmount {
struct netexport um_export; /* export information */
int64_t um_savedmaxfilesize; /* XXX - limit maxfilesize */
struct malloc_type *um_malloctype; /* The inodes malloctype */
int (*um_blkatoff) __P((struct vnode *, off_t, char **, struct buf **));
int (*um_truncate) __P((struct vnode *, off_t, int, struct ucred *, struct proc *));
int (*um_valloc) __P((struct vnode *, int, struct ucred *, struct vnode **));
int (*um_vfree) __P((struct vnode *, ino_t, int));
};
#define UFS_BLKATOFF(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_blkatoff(aa, bb, cc, dd)
#define UFS_TRUNCATE(aa, bb, cc, dd, ee) VFSTOUFS((aa)->v_mount)->um_truncate(aa, bb, cc, dd, ee)
#define UFS_VALLOC(aa, bb, cc, dd) VFSTOUFS((aa)->v_mount)->um_valloc(aa, bb, cc, dd)
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
/*
* Flags describing the state of quotas.
*/