Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Apr 2002 20:14:28 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 10073 for review
Message-ID:  <200204210314.g3L3ESS32158@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=10073

Change 10073 by rwatson@rwatson_tislabs on 2002/04/20 20:14:17

	Back out Brian's fix to the "loadable module file system bug",
	which could result in crashes when a module is loaded supporting
	a filesystem.  This bug was fixed differently (and perhaps with
	less cleanliness) in the main tree, but in a recent integ, I
	apparently missed something and it resulted in mknod() causing
	system crashes during a vput() on device vnodes on UFS.  This
	backout appears to resolve that problem, and also will reduce
	integ costs in the future.  It may be worth looking at
	re-introducing these changes in the main tree in the future.

Affected files ...

... //depot/projects/trustedbsd/mac/sys/coda/coda_vnops.c#6 edit
... //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_vnops.c#14 edit
... //depot/projects/trustedbsd/mac/sys/fs/fdescfs/fdesc_vnops.c#5 edit
... //depot/projects/trustedbsd/mac/sys/fs/hpfs/hpfs_vfsops.c#8 edit
... //depot/projects/trustedbsd/mac/sys/fs/msdosfs/msdosfs_denode.c#6 edit
... //depot/projects/trustedbsd/mac/sys/fs/ntfs/ntfs_vfsops.c#7 edit
... //depot/projects/trustedbsd/mac/sys/fs/nullfs/null_subr.c#3 edit
... //depot/projects/trustedbsd/mac/sys/fs/nullfs/null_vfsops.c#5 edit
... //depot/projects/trustedbsd/mac/sys/fs/nullfs/null_vnops.c#4 edit
... //depot/projects/trustedbsd/mac/sys/fs/portalfs/portal_vfsops.c#6 edit
... //depot/projects/trustedbsd/mac/sys/fs/portalfs/portal_vnops.c#7 edit
... //depot/projects/trustedbsd/mac/sys/fs/pseudofs/pseudofs_vncache.c#7 edit
... //depot/projects/trustedbsd/mac/sys/fs/smbfs/smbfs_node.c#6 edit
... //depot/projects/trustedbsd/mac/sys/fs/udf/udf_vnops.c#2 edit
... //depot/projects/trustedbsd/mac/sys/fs/umapfs/umap_subr.c#4 edit
... //depot/projects/trustedbsd/mac/sys/fs/umapfs/umap_vnops.c#4 edit
... //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_subr.c#8 edit
... //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_vfsops.c#6 edit
... //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_vnops.c#5 edit
... //depot/projects/trustedbsd/mac/sys/gnu/ext2fs/ext2_vfsops.c#7 edit
... //depot/projects/trustedbsd/mac/sys/isofs/cd9660/cd9660_vfsops.c#7 edit
... //depot/projects/trustedbsd/mac/sys/kern/vfs_subr.c#22 edit
... //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_node.c#5 edit
... //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_subs.c#6 edit
... //depot/projects/trustedbsd/mac/sys/security/lomac/lomacfs.h#4 edit
... //depot/projects/trustedbsd/mac/sys/security/lomac/lomacfs_subr.c#4 edit
... //depot/projects/trustedbsd/mac/sys/sys/vnode.h#21 edit
... //depot/projects/trustedbsd/mac/sys/ufs/ffs/ffs_vfsops.c#11 edit
... //depot/projects/trustedbsd/mac/sys/ufs/ifs/ifs_vfsops.c#6 edit
... //depot/projects/trustedbsd/mac/sys/ufs/ufs/ufs_vnops.c#32 edit
... //depot/projects/trustedbsd/mac/sys/vm/vm_swap.c#7 edit

Differences ...

==== //depot/projects/trustedbsd/mac/sys/coda/coda_vnops.c#6 (text+ko) ====

@@ -578,7 +578,7 @@
      * Make sure this is a coda style cnode, but it may be a
      * different vfsp 
      */
-    if (tvp->v_op != &coda_vnodeop_p) {
+    if (tvp->v_op != coda_vnodeop_p) {
 	vrele(tvp);
 	NDFREE(&ndp, NDF_ONLY_PNBUF);
 	MARK_INT_FAIL(CODA_IOCTL_STATS);
@@ -1959,7 +1959,7 @@
 	lockinit(&cp->c_lock, PINOD, "cnode", 0, 0);
 	cp->c_fid = *fid;
 	
-	err = getnewvnode(VT_CODA, vfsp, &coda_vnodeop_p, &vp);  
+	err = getnewvnode(VT_CODA, vfsp, coda_vnodeop_p, &vp);  
 	if (err) {                                                
 	    panic("coda: getnewvnode returned error %d\n", err);   
 	}                                                         

==== //depot/projects/trustedbsd/mac/sys/fs/devfs/devfs_vnops.c#14 (text+ko) ====

@@ -143,7 +143,7 @@
 	} else {
 		dev = NODEV;
 	}
-	error = getnewvnode(VT_DEVFS, mp, &devfs_vnodeop_p, &vp);
+	error = getnewvnode(VT_DEVFS, mp, devfs_vnodeop_p, &vp);
 	if (error != 0) {
 		printf("devfs_allocv: failed to allocate new vnode\n");
 		return (error);
@@ -152,7 +152,7 @@
 	if (de->de_dirent->d_type == DT_CHR) {
 		vp->v_type = VCHR;
 		vp = addaliasu(vp, dev->si_udev);
-		vp->v_op = &devfs_specop_p;
+		vp->v_op = devfs_specop_p;
 	} else if (de->de_dirent->d_type == DT_DIR) {
 		vp->v_type = VDIR;
 	} else if (de->de_dirent->d_type == DT_LNK) {

==== //depot/projects/trustedbsd/mac/sys/fs/fdescfs/fdesc_vnops.c#5 (text+ko) ====

@@ -135,7 +135,7 @@
 	 */
 	MALLOC(fd, struct fdescnode *, sizeof(struct fdescnode), M_TEMP, M_WAITOK);
 
-	error = getnewvnode(VT_FDESC, mp, &fdesc_vnodeop_p, vpp);
+	error = getnewvnode(VT_FDESC, mp, fdesc_vnodeop_p, vpp);
 	if (error) {
 		FREE(fd, M_TEMP);
 		goto out;

==== //depot/projects/trustedbsd/mac/sys/fs/hpfs/hpfs_vfsops.c#8 (text+ko) ====

@@ -496,7 +496,7 @@
 	MALLOC(hp, struct hpfsnode *, sizeof(struct hpfsnode), 
 		M_HPFSNO, M_WAITOK);
 
-	error = getnewvnode(VT_HPFS, hpmp->hpm_mp, &hpfs_vnodeop_p, &vp);
+	error = getnewvnode(VT_HPFS, hpmp->hpm_mp, hpfs_vnodeop_p, &vp);
 	if (error) {
 		printf("hpfs_vget: can't get new vnode\n");
 		FREE(hp, M_HPFSNO);

==== //depot/projects/trustedbsd/mac/sys/fs/msdosfs/msdosfs_denode.c#6 (text+ko) ====

@@ -253,7 +253,7 @@
 	 * copy it from the passed disk buffer.
 	 */
 	/* getnewvnode() does a VREF() on the vnode */
-	error = getnewvnode(VT_MSDOSFS, mntp, &msdosfs_vnodeop_p, &nvp);
+	error = getnewvnode(VT_MSDOSFS, mntp, msdosfs_vnodeop_p, &nvp);
 	if (error) {
 		*depp = NULL;
 		FREE(ldep, M_MSDOSFSNODE);

==== //depot/projects/trustedbsd/mac/sys/fs/ntfs/ntfs_vfsops.c#7 (text+ko) ====

@@ -732,7 +732,7 @@
 		return (0);
 	}
 
-	error = getnewvnode(VT_NTFS, ntmp->ntm_mountp, &ntfs_vnodeop_p, &vp);
+	error = getnewvnode(VT_NTFS, ntmp->ntm_mountp, ntfs_vnodeop_p, &vp);
 	if(error) {
 		ntfs_frele(fp);
 		ntfs_ntput(ip);

==== //depot/projects/trustedbsd/mac/sys/fs/nullfs/null_subr.c#3 (text+ko) ====

@@ -176,7 +176,7 @@
 	MALLOC(xp, struct null_node *, sizeof(struct null_node),
 	    M_NULLFSNODE, M_WAITOK);
 
-	error = getnewvnode(VT_NULL, mp, &null_vnodeop_p, vpp);
+	error = getnewvnode(VT_NULL, mp, null_vnodeop_p, vpp);
 	if (error) {
 		FREE(xp, M_NULLFSNODE);
 		return (error);
@@ -307,7 +307,7 @@
 	 * Can't do this check because vop_reclaim runs
 	 * with a funny vop vector.
 	 */
-	if (vp->v_op != &null_vnodeop_p) {
+	if (vp->v_op != null_vnodeop_p) {
 		printf ("null_checkvp: on non-null-node\n");
 		while (null_checkvp_barrier) /*WAIT*/ ;
 		panic("null_checkvp");

==== //depot/projects/trustedbsd/mac/sys/fs/nullfs/null_vfsops.c#5 (text+ko) ====

@@ -121,7 +121,7 @@
 	 * Unlock lower node to avoid deadlock.
 	 * (XXX) VOP_ISLOCKED is needed?
 	 */
-	if ((mp->mnt_vnodecovered->v_op == &null_vnodeop_p) &&
+	if ((mp->mnt_vnodecovered->v_op == null_vnodeop_p) &&
 		VOP_ISLOCKED(mp->mnt_vnodecovered, NULL)) {
 		VOP_UNLOCK(mp->mnt_vnodecovered, 0, td);
 		isvnunlocked = 1;

==== //depot/projects/trustedbsd/mac/sys/fs/nullfs/null_vnops.c#4 (text+ko) ====

@@ -280,7 +280,7 @@
 		 * that aren't.  (We must always map first vp or vclean fails.)
 		 */
 		if (i && (*this_vp_p == NULLVP ||
-		    (*this_vp_p)->v_op != &null_vnodeop_p)) {
+		    (*this_vp_p)->v_op != null_vnodeop_p)) {
 			old_vps[i] = NULLVP;
 		} else {
 			old_vps[i] = *this_vp_p;

==== //depot/projects/trustedbsd/mac/sys/fs/portalfs/portal_vfsops.c#6 (text+ko) ====

@@ -118,7 +118,7 @@
 	MALLOC(fmp, struct portalmount *, sizeof(struct portalmount),
 		M_PORTALFSMNT, M_WAITOK);	/* XXX */
 
-	error = getnewvnode(VT_PORTAL, mp, &portal_vnodeop_p, &rvp); /* XXX */
+	error = getnewvnode(VT_PORTAL, mp, portal_vnodeop_p, &rvp); /* XXX */
 	if (error) {
 		FREE(fmp, M_PORTALFSMNT);
 		FREE(pn, M_TEMP);

==== //depot/projects/trustedbsd/mac/sys/fs/portalfs/portal_vnops.c#7 (text+ko) ====

@@ -135,7 +135,7 @@
 	MALLOC(pt, struct portalnode *, sizeof(struct portalnode),
 		M_TEMP, M_WAITOK);
 
-	error = getnewvnode(VT_PORTAL, dvp->v_mount, &portal_vnodeop_p, &fvp);
+	error = getnewvnode(VT_PORTAL, dvp->v_mount, portal_vnodeop_p, &fvp);
 	if (error) {
 		FREE(pt, M_TEMP);
 		goto bad;

==== //depot/projects/trustedbsd/mac/sys/fs/pseudofs/pseudofs_vncache.c#7 (text+ko) ====

@@ -133,7 +133,7 @@
 	MALLOC(pvd, struct pfs_vdata *, sizeof *pvd, M_PFSVNCACHE, M_WAITOK);
 	if (++pfs_vncache_entries > pfs_vncache_maxentries)
 		pfs_vncache_maxentries = pfs_vncache_entries;
-	error = getnewvnode(VT_PSEUDOFS, mp, &pfs_vnodeop_p, vpp);
+	error = getnewvnode(VT_PSEUDOFS, mp, pfs_vnodeop_p, vpp);
 	if (error)
 		return (error);
 	pvd->pvd_pn = pn;

==== //depot/projects/trustedbsd/mac/sys/fs/smbfs/smbfs_node.c#6 (text+ko) ====

@@ -220,7 +220,7 @@
 		return ENOENT;
 
 	MALLOC(np, struct smbnode *, sizeof *np, M_SMBNODE, M_WAITOK);
-	error = getnewvnode(VT_SMBFS, mp, &smbfs_vnodeop_p, &vp);
+	error = getnewvnode(VT_SMBFS, mp, smbfs_vnodeop_p, &vp);
 	if (error) {
 		FREE(np, M_SMBNODE);
 		return error;

==== //depot/projects/trustedbsd/mac/sys/fs/udf/udf_vnops.c#2 (text+ko) ====


==== //depot/projects/trustedbsd/mac/sys/fs/umapfs/umap_subr.c#4 (text+ko) ====

@@ -212,7 +212,7 @@
 	MALLOC(xp, struct umap_node *, sizeof(struct umap_node),
 	    M_TEMP, M_WAITOK);
 
-	error = getnewvnode(VT_UMAP, mp, &umap_vnodeop_p, vpp);
+	error = getnewvnode(VT_UMAP, mp, umap_vnodeop_p, vpp);
 	if (error) {
 		FREE(xp, M_TEMP);
 		return (error);
@@ -311,7 +311,7 @@
 	 * Can't do this check because vop_reclaim runs
 	 * with funny vop vector.
 	 */
-	if (vp->v_op != &umap_vnodeop_p) {
+	if (vp->v_op != umap_vnodeop_p) {
 		printf ("umap_checkvp: on non-umap-node\n");
 		while (umap_checkvp_barrier) /*WAIT*/ ;
 		panic("umap_checkvp");

==== //depot/projects/trustedbsd/mac/sys/fs/umapfs/umap_vnops.c#4 (text+ko) ====

@@ -125,7 +125,7 @@
 		 * that aren't.  (Must map first vp or vclean fails.)
 		 */
 
-		if (i && (*this_vp_p)->v_op != &umap_vnodeop_p) {
+		if (i && (*this_vp_p)->v_op != umap_vnodeop_p) {
 			old_vps[i] = NULL;
 		} else {
 			old_vps[i] = *this_vp_p;

==== //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_subr.c#8 (text+ko) ====

@@ -545,7 +545,7 @@
 	 * Create new node rather then replace old node
 	 */
 
-	error = getnewvnode(VT_UNION, mp, &union_vnodeop_p, vpp);
+	error = getnewvnode(VT_UNION, mp, union_vnodeop_p, vpp);
 	if (error) {
 		/*
 		 * If an error occurs clear out vnodes.
@@ -1216,7 +1216,7 @@
 {
 	struct union_node *un;
 
-	if (vp->v_op != &union_vnodeop_p) {
+	if (vp->v_op != union_vnodeop_p) {
 		if (vppp) {
 			VREF(vp);
 			*(*vppp)++ = vp;
@@ -1299,7 +1299,7 @@
 {
 	int error = 0;
 
-	if ((*vp)->v_op == &union_vnodeop_p) {
+	if ((*vp)->v_op == union_vnodeop_p) {
 		struct vnode *lvp;
 
 		lvp = union_dircache(*vp, td);

==== //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_vfsops.c#6 (text+ko) ====

@@ -126,7 +126,7 @@
 	/*
 	 * Unlock lower node to avoid deadlock.
 	 */
-	if (lowerrootvp->v_op == &union_vnodeop_p)
+	if (lowerrootvp->v_op == union_vnodeop_p)
 		VOP_UNLOCK(lowerrootvp, 0, td);
 #endif
 
@@ -140,7 +140,7 @@
 	error = namei(ndp);
 
 #if 0
-	if (lowerrootvp->v_op == &union_vnodeop_p)
+	if (lowerrootvp->v_op == union_vnodeop_p)
 		vn_lock(lowerrootvp, LK_EXCLUSIVE | LK_RETRY, td);
 #endif
 	if (error)

==== //depot/projects/trustedbsd/mac/sys/fs/unionfs/union_vnops.c#5 (text+ko) ====

@@ -1319,7 +1319,7 @@
 	 * replace the fdvp, release the original one and ref the new one.
 	 */
 
-	if (fdvp->v_op == &union_vnodeop_p) {	/* always true */
+	if (fdvp->v_op == union_vnodeop_p) {	/* always true */
 		struct union_node *un = VTOUNION(fdvp);
 		if (un->un_uppervp == NULLVP) {
 			/*
@@ -1341,7 +1341,7 @@
 	 * replace the fvp, release the original one and ref the new one.
 	 */
 
-	if (fvp->v_op == &union_vnodeop_p) {	/* always true */
+	if (fvp->v_op == union_vnodeop_p) {	/* always true */
 		struct union_node *un = VTOUNION(fvp);
 #if 0
 		struct union_mount *um = MOUNTTOUNIONMOUNT(fvp->v_mount);
@@ -1399,7 +1399,7 @@
 	 * reference.
 	 */
 
-	if (tdvp->v_op == &union_vnodeop_p) {
+	if (tdvp->v_op == union_vnodeop_p) {
 		struct union_node *un = VTOUNION(tdvp);
 
 		if (un->un_uppervp == NULLVP) {
@@ -1429,7 +1429,7 @@
 	 * file and change tvp to NULL.
 	 */
 
-	if (tvp != NULLVP && tvp->v_op == &union_vnodeop_p) {
+	if (tvp != NULLVP && tvp->v_op == union_vnodeop_p) {
 		struct union_node *un = VTOUNION(tvp);
 
 		tvp = union_lock_upper(un, ap->a_tcnp->cn_thread);

==== //depot/projects/trustedbsd/mac/sys/gnu/ext2fs/ext2_vfsops.c#7 (text+ko) ====

@@ -1033,7 +1033,7 @@
 	MALLOC(ip, struct inode *, sizeof(struct inode), M_EXT2NODE, M_WAITOK);
 
 	/* Allocate a new vnode/inode. */
-	if ((error = getnewvnode(VT_UFS, mp, &ext2_vnodeop_p, &vp)) != 0) {
+	if ((error = getnewvnode(VT_UFS, mp, ext2_vnodeop_p, &vp)) != 0) {
 		if (ext2fs_inode_hash_lock < 0)
 			wakeup(&ext2fs_inode_hash_lock);
 		ext2fs_inode_hash_lock = 0;

==== //depot/projects/trustedbsd/mac/sys/isofs/cd9660/cd9660_vfsops.c#7 (text+ko) ====

@@ -709,7 +709,7 @@
 		return (0);
 
 	/* Allocate a new vnode/iso_node. */
-	if ((error = getnewvnode(VT_ISOFS, mp, &cd9660_vnodeop_p, &vp)) != 0) {
+	if ((error = getnewvnode(VT_ISOFS, mp, cd9660_vnodeop_p, &vp)) != 0) {
 		*vpp = NULLVP;
 		return (error);
 	}
@@ -856,11 +856,11 @@
 	 */
 	switch (vp->v_type = IFTOVT(ip->inode.iso_mode)) {
 	case VFIFO:
-		vp->v_op = &cd9660_fifoop_p;
+		vp->v_op = cd9660_fifoop_p;
 		break;
 	case VCHR:
 	case VBLK:
-		vp->v_op = &cd9660_specop_p;
+		vp->v_op = cd9660_specop_p;
 		vp = addaliasu(vp, ip->inode.iso_rdev);
 		ip->i_vnode = vp;
 		break;

==== //depot/projects/trustedbsd/mac/sys/kern/vfs_subr.c#22 (text+ko) ====

@@ -754,7 +754,7 @@
 getnewvnode(tag, mp, vops, vpp)
 	enum vtagtype tag;
 	struct mount *mp;
-	vop_t ***vops;
+	vop_t **vops;
 	struct vnode **vpp;
 {
 	int s;
@@ -1629,7 +1629,7 @@
 	}
 	if (vfinddev(dev, VCHR, vpp))
 		return (0);
-	error = getnewvnode(VT_NON, (struct mount *)0, &spec_vnodeop_p, &nvp);
+	error = getnewvnode(VT_NON, (struct mount *)0, spec_vnodeop_p, &nvp);
 	if (error) {
 		*vpp = NULLVP;
 		return (error);
@@ -1655,7 +1655,7 @@
 	udev_t nvp_rdev;
 {
 	struct vnode *ovp;
-	vop_t ***ops;
+	vop_t **ops;
 	dev_t dev;
 
 	if (nvp->v_type == VBLK)
@@ -2029,7 +2029,7 @@
 				vgonel(vp, td);
 			} else {
 				vclean(vp, 0, td);
-				vp->v_op = &spec_vnodeop_p;
+				vp->v_op = spec_vnodeop_p;
 				insmntque(vp, (struct mount *) 0);
 			}
 			mtx_lock(&mntvnode_mtx);
@@ -2185,7 +2185,7 @@
 	/*
 	 * Done with purge, notify sleepers of the grim news.
 	 */
-	vp->v_op = &dead_vnodeop_p;
+	vp->v_op = dead_vnodeop_p;
 	if (vp->v_pollinfo != NULL)
 		vn_pollgone(vp);
 	vp->v_tag = VT_NON;
@@ -2924,7 +2924,7 @@
 	int error;
 
 	/* Allocate a new vnode */
-	if ((error = getnewvnode(VT_VFS, mp, &sync_vnodeop_p, &vp)) != 0) {
+	if ((error = getnewvnode(VT_VFS, mp, sync_vnodeop_p, &vp)) != 0) {
 		mp->mnt_syncer = NULL;
 		return (error);
 	}

==== //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_node.c#5 (text+ko) ====

@@ -223,7 +223,7 @@
 	 */
 	np = uma_zalloc(nfsnode_zone, M_WAITOK);
 
-	error = getnewvnode(VT_NFS, mntp, &nfsv2_vnodeop_p, &nvp);
+	error = getnewvnode(VT_NFS, mntp, nfsv2_vnodeop_p, &nvp);
 	if (error) {
 		if (nfs_node_hash_lock < 0)
 			wakeup(&nfs_node_hash_lock);

==== //depot/projects/trustedbsd/mac/sys/nfsclient/nfs_subs.c#6 (text+ko) ====

@@ -527,10 +527,10 @@
 	if (vp->v_type != vtyp) {
 		vp->v_type = vtyp;
 		if (vp->v_type == VFIFO) {
-			vp->v_op = &fifo_nfsv2nodeop_p;
+			vp->v_op = fifo_nfsv2nodeop_p;
 		}
 		if (vp->v_type == VCHR || vp->v_type == VBLK) {
-			vp->v_op = &spec_nfsv2nodeop_p;
+			vp->v_op = spec_nfsv2nodeop_p;
 			vp = addaliasu(vp, rdev);
 			np->n_vnode = vp;
 		}

==== //depot/projects/trustedbsd/mac/sys/security/lomac/lomacfs.h#4 (text+ko) ====

@@ -103,7 +103,7 @@
 #define	VTOLOMAC(vp)	((struct lomac_node *)(vp)->v_data)
 #define	VTOLVP(vp)	VTOLOMAC(vp)->ln_lowervp
 #define VFSTOLOMAC(mp)	((struct lomac_mount *)mp->mnt_data)
-#define	VISLOMAC(vp)	(vp->v_op == &lomacfs_vnodeop_p)
+#define	VISLOMAC(vp)	(vp->v_op == lomacfs_vnodeop_p)
 
 int lomacfs_node_alloc(struct mount *mp, struct componentname *cnp,
     struct vnode *dvp, struct vnode *lowervp, struct vnode **vpp);

==== //depot/projects/trustedbsd/mac/sys/security/lomac/lomacfs_subr.c#4 (text+ko) ====

@@ -73,7 +73,7 @@
 				return (EEXIST);
 		}
 	}
-	error = getnewvnode(VT_NULL, mp, &lomacfs_vnodeop_p, vpp);
+	error = getnewvnode(VT_NULL, mp, lomacfs_vnodeop_p, vpp);
 	if (error) {
 		vput(lowervp);
 		free(lp, M_LOMACFS);

==== //depot/projects/trustedbsd/mac/sys/sys/vnode.h#21 (text+ko) ====

@@ -105,7 +105,7 @@
 	int	v_holdcnt;			/* page & buffer references */
 	u_long	v_id;				/* capability identifier */
 	struct	mount *v_mount;			/* ptr to vfs we are in */
-	vop_t	***v_op;			/* vnode operations vector */
+	vop_t	**v_op;				/* vnode operations vector */
 	TAILQ_ENTRY(vnode) v_freelist;		/* vnode freelist */
 	TAILQ_ENTRY(vnode) v_nmntvnodes;	/* vnodes for mount point */
 	struct	buflists v_cleanblkhd;		/* clean blocklist head */
@@ -527,7 +527,7 @@
 /*
  * This call works for vnodes in the kernel.
  */
-#define VCALL(VP,OFF,AP) VOCALL(*(VP)->v_op,(OFF),(AP))
+#define VCALL(VP,OFF,AP) VOCALL((VP)->v_op,(OFF),(AP))
 #define VDESC(OP) (& __CONCAT(OP,_desc))
 #define VOFFSET(OP) (VDESC(OP)->vdesc_offset)
 
@@ -583,7 +583,7 @@
 void	cvtstat(struct stat *st, struct ostat *ost);
 void	cvtnstat(struct stat *sb, struct nstat *nsb);
 int	getnewvnode(enum vtagtype tag,
-	    struct mount *mp, vop_t ***vops, struct vnode **vpp);
+	    struct mount *mp, vop_t **vops, struct vnode **vpp);
 int	lease_check(struct vop_lease_args *ap);
 int	spec_vnoperate(struct vop_generic_args *);
 int	speedup_syncer(void);

==== //depot/projects/trustedbsd/mac/sys/ufs/ffs/ffs_vfsops.c#11 (text+ko) ====

@@ -1194,7 +1194,7 @@
 	    ump->um_malloctype, M_WAITOK);
 
 	/* Allocate a new vnode/inode. */
-	error = getnewvnode(VT_UFS, mp, &ffs_vnodeop_p, &vp);
+	error = getnewvnode(VT_UFS, mp, ffs_vnodeop_p, &vp);
 	if (error) {
 		/*
 		 * Do not wake up processes while holding the mutex,

==== //depot/projects/trustedbsd/mac/sys/ufs/ifs/ifs_vfsops.c#6 (text+ko) ====

@@ -201,7 +201,7 @@
 	    ump->um_malloctype, M_WAITOK);
 
 	/* Allocate a new vnode/inode. */
-	error = getnewvnode(VT_UFS, mp, &ifs_vnodeop_p, &vp);
+	error = getnewvnode(VT_UFS, mp, ifs_vnodeop_p, &vp);
 	if (error) {
 		/*
 		 * Do not wake up processes while holding the mutex,

==== //depot/projects/trustedbsd/mac/sys/ufs/ufs/ufs_vnops.c#32 (text+ko) ====

@@ -2208,12 +2208,12 @@
 	switch(vp->v_type = IFTOVT(ip->i_mode)) {
 	case VCHR:
 	case VBLK:
-		vp->v_op = &specops;
+		vp->v_op = specops;
 		vp = addaliasu(vp, ip->i_rdev);
 		ip->i_vnode = vp;
 		break;
 	case VFIFO:
-		vp->v_op = &fifoops;
+		vp->v_op = fifoops;
 		break;
 	default:
 		break;

==== //depot/projects/trustedbsd/mac/sys/vm/vm_swap.c#7 (text+ko) ====

@@ -263,7 +263,7 @@
 	u_long aligned_nblks;
 
 	if (!swapdev_vp) {
-		error = getnewvnode(VT_NON, NULL, &swapdev_vnodeop_p,
+		error = getnewvnode(VT_NON, NULL, swapdev_vnodeop_p,
 		    &swapdev_vp);
 		if (error)
 			panic("Cannot get vnode for swapdev");

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204210314.g3L3ESS32158>