summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_alloc.c42
-rw-r--r--sys/ufs/ffs/ffs_extern.h11
-rw-r--r--sys/ufs/ffs/ffs_inode.c29
-rw-r--r--sys/ufs/ffs/ffs_subr.c28
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c6
-rw-r--r--sys/ufs/ffs/ffs_vnops.c8
-rw-r--r--sys/ufs/lfs/lfs_alloc.c34
-rw-r--r--sys/ufs/lfs/lfs_extern.h12
-rw-r--r--sys/ufs/lfs/lfs_inode.c20
-rw-r--r--sys/ufs/lfs/lfs_subr.c28
-rw-r--r--sys/ufs/lfs/lfs_vnops.c10
-rw-r--r--sys/ufs/mfs/mfs_extern.h4
-rw-r--r--sys/ufs/mfs/mfs_vnops.c39
-rw-r--r--sys/ufs/mfs/mfsnode.h35
-rw-r--r--sys/ufs/ufs/ufs_extern.h9
-rw-r--r--sys/ufs/ufs/ufs_inode.c6
-rw-r--r--sys/ufs/ufs/ufs_lookup.c18
-rw-r--r--sys/ufs/ufs/ufs_readwrite.c4
-rw-r--r--sys/ufs/ufs/ufs_vnops.c34
-rw-r--r--sys/ufs/ufs/ufsmount.h11
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.
*/
OpenPOWER on IntegriCloud