SCCS-vsn: sys/nfs/nfs_vnops.c 7.20
SCCS-vsn: sys/nfs/nfs_node.c 7.17
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)nfs_node.c 7.16 (Berkeley) %G%
+ * @(#)nfs_node.c 7.17 (Berkeley) %G%
extern int prtactive;
np = VTONFS(vp);
extern int prtactive;
np = VTONFS(vp);
- if (prtactive && vp->v_count != 0)
+ if (prtactive && vp->v_usecount != 0)
vprint("nfs_inactive: pushing active", vp);
nfs_lock(vp);
sp = np->n_sillyrename;
vprint("nfs_inactive: pushing active", vp);
nfs_lock(vp);
sp = np->n_sillyrename;
if (np->n_flag & NPAGEDON)
mpurge(vp);
}
if (np->n_flag & NPAGEDON)
mpurge(vp);
}
- if (prtactive && vp->v_count != 0)
+ if (prtactive && vp->v_usecount != 0)
vprint("nfs_reclaim: pushing active", vp);
/*
* Remove the nfsnode from its hash chain.
vprint("nfs_reclaim: pushing active", vp);
/*
* Remove the nfsnode from its hash chain.
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)nfs_vnops.c 7.19 (Berkeley) %G%
+ * @(#)nfs_vnops.c 7.20 (Berkeley) %G%
* mpurge the vnode to flush out cmap references
* (This is necessary to update the vnode ref cnt as well as sensible
* for actual removes, to free up the buffers)
* mpurge the vnode to flush out cmap references
* (This is necessary to update the vnode ref cnt as well as sensible
* for actual removes, to free up the buffers)
+ * 2 - If v_usecount > 1
* If a rename is not already in the works
* call nfs_sillyrename() to set it up
* else
* If a rename is not already in the works
* call nfs_sillyrename() to set it up
* else
mpurge(vp); /* In case cmap entries still ref it */
}
}
mpurge(vp); /* In case cmap entries still ref it */
}
}
+ if (vp->v_usecount > 1) {
if (!np->n_sillyrename)
error = nfs_sillyrename(ndp, REMOVE);
} else {
if (!np->n_sillyrename)
error = nfs_sillyrename(ndp, REMOVE);
} else {