[comp.unix.xenix] Help! backup/restore yielded trash...

dyer@spdcc.UUCP (Steve Dyer) (01/03/87)

Here's the scenario...

I had a 30meg disk of sources as a second drive on my AT clone which I backed
up onto high-density floppies using the SCO XENIX 'backup' command (basically
a version of dump.)  The command was:

backup 0uk 1024
(the default file system to back up was /dev/src, the disk in question.)

33 error-free diskettes later, I removed this disk drive and went through
all the procedures to install a Seagate 80 meg drive, split into 2 40 meg
partitions.  An fsck on both newly-created partitions looked fine.

I then invoked 'restor r /dev/src', /dev/src now pointing to one of these
40 meg partitions.  Quite often during the restor process, I got the error
message 'Missing address (header) block'.  This is coming from the restor
program and not from the kernel.  33 diskettes later, I performed an fsck
on the new file system, and got an incredible number of unreferenced files
and when I tried compiling News 2.10.3, I was dismayed to find mod.recipes
documentation in the middle of control.c.  There was similar trash scattered
around elsewhere.  Clearly, the process had been useless.

Does anyone know what this error for restor means, and whether it was
responsible for the problems I am having now?  I still have the old disk
around, but I want to know what went wrong before I start scraping my
knuckles to reinstall the disk and have to sit through changing 33
floppies all over again, especially if it isn't going to work again!
-- 
Steve Dyer
dyer@harvard.HARVARD.EDU
{linus,wanginst,bbnccv,harvard,ima,ihnp4}!spdcc!dyer

dyer@spdcc.UUCP (Steve Dyer) (01/07/87)

The problem I had with restore is fixed.  Following the procedure I describe
below, the restore of a full dump consisting of 33 diskettes proceeded
normally, error-free and successfully.

Note that in my earlier message, I had used the following command to
back up my old 30meg disk:

backup 0uk 1024 /dev/src

in the belief that the AT's 1.2mb floppy could hold at least 1024 1K blocks.
In fact, it holds 1200 blocks, which is the key to understanding the problems
I had during the restore.

The second fact to note, which I hadn't mentioned in my letter, was the
the floppies I had been using for the backup were not all freshly formatted.
Some of them had been used as DOS backups and perhaps some as UNIX backups.
Thus, when 'backup' wrote onto the diskette, it stopped after writing 1024
1K blocks, and there is naturally no equivalent on a floppy to EOT.  (It's
conceivable that a version of backup/restore could use a dummy header to
indicate that the dump floppy was logically at EOT, but the behavior I see
here would suggest that this isn't being done.)

Thus, when I performed a 'restore r /dev/src' on my new 80 meg disk, the
restore program obviously continued to read the floppies beyond the 1024th
block, and proceeded to get out of sync from there on, thus causing the error
message 'Missing address (header) block' to appear occasionally.  This
corrupted restore process produced a correspondingly corrupted file system.

By using "dd" (the programmers' equivalent to a Swiss army knife) and
copying only the first 1024 blocks of each floppy to a file name, I was
able to 'restore rf filename', recopying a new floppy each time restore
asked for a new volume.

Everything checked out cleanly, and the files are all intact, as best
I can tell.

You might want to file this one away for future reference!
-- 
Steve Dyer
dyer@harvard.HARVARD.EDU
{linus,wanginst,bbnccv,harvard,ima,ihnp4}!spdcc!dyer