diff options
author | Miles Bader <miles@gnu.org> | 1996-05-02 03:22:57 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-05-02 03:22:57 +0000 |
commit | 525a965d9e5c578967ccdcdd22fdd0903bc56589 (patch) | |
tree | 2c6223cdfd95afc4a43c1dc9d3502b2a103a35bd /ufs-fsck | |
parent | b30dead62e576070198ade84a184e1f8ac330bc0 (diff) |
Fix up recovery logic for when reconnecting an inode fails.
Get rid of extraneous calls to pfail.
Diffstat (limited to 'ufs-fsck')
-rw-r--r-- | ufs-fsck/pass4.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/ufs-fsck/pass4.c b/ufs-fsck/pass4.c index 3f5c26cc..17c0b307 100644 --- a/ufs-fsck/pass4.c +++ b/ufs-fsck/pass4.c @@ -44,8 +44,6 @@ pass4() write_inode (number, &dino); pfix ("ADJUSTED"); } - else - pfail (0); } } else if (linkfound[number] && inodestate[number] == UNALLOC) @@ -73,21 +71,21 @@ pass4() if (preen || reply ("RECONNECT")) reconn_failed = !linkup (number, -1); - if (!reconn_failed) + if (! reconn_failed) pfix ("RECONNECTED"); - else - pfail ("FAILED"); } if (dino.di_size == 0 || reconn_failed) { + if (reconn_failed && !preen) + /* If preening, the previous call to problem is still active + (more likely the failure was too severe, and exited). */ + problem (0, "RECONNECT FAILED"); if (preen || reply ("CLEAR")) { inodestate[number] = UNALLOC; clear_inode (number, &dino); pfix ("CLEARED"); } - else - pfail (0); } } } |