diff options
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_alloc.c | 42 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_extern.h | 11 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_inode.c | 29 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_subr.c | 28 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 6 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 8 | ||||
-rw-r--r-- | sys/ufs/lfs/lfs_alloc.c | 34 | ||||
-rw-r--r-- | sys/ufs/lfs/lfs_extern.h | 12 | ||||
-rw-r--r-- | sys/ufs/lfs/lfs_inode.c | 20 | ||||
-rw-r--r-- | sys/ufs/lfs/lfs_subr.c | 28 | ||||
-rw-r--r-- | sys/ufs/lfs/lfs_vnops.c | 10 | ||||
-rw-r--r-- | sys/ufs/mfs/mfs_extern.h | 4 | ||||
-rw-r--r-- | sys/ufs/mfs/mfs_vnops.c | 39 | ||||
-rw-r--r-- | sys/ufs/mfs/mfsnode.h | 35 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_extern.h | 9 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_inode.c | 6 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_lookup.c | 18 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_readwrite.c | 4 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_vnops.c | 34 | ||||
-rw-r--r-- | sys/ufs/ufs/ufsmount.h | 11 |
20 files changed, 141 insertions, 247 deletions
diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index 425bf64..85ef1b6 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -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 @@ fail: * 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--; diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index 7cc5251..4aa6118 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -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 *)); diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index 99dc77b..78cf65c 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -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. diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 1387b20..06d5b55 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -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 diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 05ee306..c053477 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -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; diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index d3b9085..254d5e5 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -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 = diff --git a/sys/ufs/lfs/lfs_alloc.c b/sys/ufs/lfs/lfs_alloc.c index 797d0ba..a3f979d 100644 --- a/sys/ufs/lfs/lfs_alloc.c +++ b/sys/ufs/lfs/lfs_alloc.c @@ -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) { diff --git a/sys/ufs/lfs/lfs_extern.h b/sys/ufs/lfs/lfs_extern.h index acab203..030fedd 100644 --- a/sys/ufs/lfs/lfs_extern.h +++ b/sys/ufs/lfs/lfs_extern.h @@ -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 *)); diff --git a/sys/ufs/lfs/lfs_inode.c b/sys/ufs/lfs/lfs_inode.c index 545c1df..6b03151 100644 --- a/sys/ufs/lfs/lfs_inode.c +++ b/sys/ufs/lfs/lfs_inode.c @@ -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); diff --git a/sys/ufs/lfs/lfs_subr.c b/sys/ufs/lfs/lfs_subr.c index 62ab3ea..ad4fbcc 100644 --- a/sys/ufs/lfs/lfs_subr.c +++ b/sys/ufs/lfs/lfs_subr.c @@ -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); } diff --git a/sys/ufs/lfs/lfs_vnops.c b/sys/ufs/lfs/lfs_vnops.c index b7d930f..a440b2b 100644 --- a/sys/ufs/lfs/lfs_vnops.c +++ b/sys/ufs/lfs/lfs_vnops.c @@ -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 = diff --git a/sys/ufs/mfs/mfs_extern.h b/sys/ufs/mfs/mfs_extern.h index 6b3dc8b..465e434 100644 --- a/sys/ufs/mfs/mfs_extern.h +++ b/sys/ufs/mfs/mfs_extern.h @@ -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_ */ diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c index ce18df5..0c552bd 100644 --- a/sys/ufs/mfs/mfs_vnops.c +++ b/sys/ufs/mfs/mfs_vnops.c @@ -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 = diff --git a/sys/ufs/mfs/mfsnode.h b/sys/ufs/mfs/mfsnode.h index 53fe40a..34b7b6b 100644 --- a/sys/ufs/mfs/mfsnode.h +++ b/sys/ufs/mfs/mfsnode.h @@ -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 diff --git a/sys/ufs/ufs/ufs_extern.h b/sys/ufs/ufs/ufs_extern.h index 1c565d4..e897ede 100644 --- a/sys/ufs/ufs/ufs_extern.h +++ b/sys/ufs/ufs/ufs_extern.h @@ -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 *)); diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c index 812e86d..e635f29 100644 --- a/sys/ufs/ufs/ufs_inode.c +++ b/sys/ufs/ufs/ufs_inode.c @@ -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); diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c index e0eb989..5f0201a 100644 --- a/sys/ufs/ufs/ufs_lookup.c +++ b/sys/ufs/ufs/ufs_lookup.c @@ -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 @@ searchloop: 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; diff --git a/sys/ufs/ufs/ufs_readwrite.c b/sys/ufs/ufs/ufs_readwrite.c index 929a289..afbe95f 100644 --- a/sys/ufs/ufs/ufs_readwrite.c +++ b/sys/ufs/ufs/ufs_readwrite.c @@ -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; diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 89166b3..1e67920 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -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 @@ abortit: 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 }, diff --git a/sys/ufs/ufs/ufsmount.h b/sys/ufs/ufs/ufsmount.h index d57dd59..50bfe57 100644 --- a/sys/ufs/ufs/ufsmount.h +++ b/sys/ufs/ufs/ufsmount.h @@ -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. */ |