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