aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJohn Dyson <dyson@FreeBSD.org>1997-08-21 01:42:47 +0000
committerJohn Dyson <dyson@FreeBSD.org>1997-08-21 01:42:47 +0000
commit656b256cd542ae7aef102e505c8e5723a690e8e5 (patch)
treebefe6b6b11053d4e4e3ba2e8963f54a08dd1dde9 /sys
parent745b842305195eab7181befbd35571e01325578d (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/ufs/ufs/ufs_vnops.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index fc09996ae591..0ed5c5d76250 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