Apparent loss of files when doing `restore i'
Kirk Mckusick
mckusick at ucbvax.UUCP
Sun Mar 25 07:59:32 AEST 1984
From: mckusick at ucbmonet (Kirk Mckusick)
Subject: Apparent loss of files when doing `restore i'
Index: etc/restore/restore.c 4.2BSD
Description:
When using `restore i' or `restore x' on a multireel dump,
and using the recommended procedure of starting with the last
reel and working towards the first, restore will sometimes
give up after two or more reels, complaining that some list
of files are missing.
Repeat-By:
Find a dump spanning three or more reels and request restore
to extract files that reside on all three reels, plus THE file
that starts at the end of the next to last reel and continues
onto the last reel. Then load the reels from last to first. When
the next to last reel is loaded it will proceed to its end
and begin extracting the spanning file. Restore will demand
that the last reel be loaded (so that it can finish reading
the spanning file). After restore finishes extracting the
spanning file it should request that another reel be loaded.
Instead it will report that all requested files on the earlier
reels are missing.
Fix:
*** restore.3.18 Thu Mar 22 19:24:00 1984
--- restore.3.19 Thu Mar 22 19:23:31 1984
***************
*** 657,668
if (next == curfile.ino && next <= last) {
ep = lookupino(next);
if (ep == NIL)
panic("corrupted symbol table\n");
(void) extractfile(myname(ep));
ep->e_flags &= ~NEW;
}
}
}
/*
* Add links.
--- 657,670 -----
if (next == curfile.ino && next <= last) {
ep = lookupino(next);
if (ep == NIL)
panic("corrupted symbol table\n");
(void) extractfile(myname(ep));
ep->e_flags &= ~NEW;
+ if (volno != curvol)
+ skipmaps();
}
}
}
/*
* Add links.
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list