From f7c349af1391bec60564894f852b9a97ab7331a0 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Fri, 28 Apr 1995 00:03:17 +0000 Subject: (diskfs_drop_node): Deal cleanly with errors in diskfs_truncate. --- libdiskfs/node-drop.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libdiskfs/node-drop.c') diff --git a/libdiskfs/node-drop.c b/libdiskfs/node-drop.c index aeeda01b..74744f67 100644 --- a/libdiskfs/node-drop.c +++ b/libdiskfs/node-drop.c @@ -24,6 +24,7 @@ void diskfs_drop_node (struct node *np) { mode_t savemode; + fshelp_kill_translator (&np->translator); if (np->dn_stat.st_nlink == 0) { @@ -45,6 +46,11 @@ diskfs_drop_node (struct node *np) np->references++; spin_unlock (&diskfs_node_refcnt_lock); diskfs_truncate (np, 0); + + /* Force allocsize to zero; if truncate consistently fails this + will at least prevent an infinite loop in this routine. */ + np->allocsize = 0; + diskfs_nput (np); return; } -- cgit v1.2.3