diff options
author | dyson <dyson@FreeBSD.org> | 1997-08-21 01:42:47 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-08-21 01:42:47 +0000 |
commit | 1cf12eea82f60eefe044abbf311d301657d64c39 (patch) | |
tree | 927207e16ffc4544acbd07c96113394897f8d683 /sys | |
parent | 02d84824b3e2fe80e87af7df2c1d50153b4f1126 (diff) | |
download | FreeBSD-src-1cf12eea82f60eefe044abbf311d301657d64c39.zip FreeBSD-src-1cf12eea82f60eefe044abbf311d301657d64c39.tar.gz |
Performance improvment to minimize delayed write output of files
that have been deleted.
Submitted by: Peter M. Chen <pmchen@eecs.umich.edu>
Diffstat (limited to 'sys')
-rw-r--r-- | sys/ufs/ufs/ufs_vnops.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index fc09996..0ed5c5d 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.51 1997/06/02 06:24:51 julian Exp $ + * $Id: ufs_vnops.c,v 1.52 1997/07/13 16:26:40 bde Exp $ */ #include "opt_quota.h" @@ -692,6 +692,12 @@ ufs_remove(ap) ip->i_flag |= IN_CHANGE; } out: + if ((ip->i_nlink == 0) && + ((vp->v_object == NULL) && (vp->v_usecount == 1)) || + (vp->v_usecount <= 2)) { + VOP_TRUNCATE(vp, (off_t)0, 0, NOCRED, NULL); + } + if (dvp == vp) vrele(vp); else |