Subject: Dilemma. how to store DOS directories ?
To: None <hackers@freebsd.org, port-i386@NetBSD.ORG>
From: Darren Reed <darrenr@cyber.com.au>
List: port-i386
Date: 03/26/1997 00:41:37
Well, it took a little time to perfect dump_msdos...but there is still
one major decision left, I believe:

does a restore_msdos get written or does dump_msdos save directory
information in a format compatible with restore_ufs ?

e.g. the output from restore divf is now:

% /sbin/restore divf ../dump_msdos/wd2s1.dump
Verify tape and initialize maps
Tape block size is 32
Volume header (old inode format) 
Dump   date: Tue Mar 25 23:30:30 1997
Dumped from: the epoch
Level 0 dump of /dos/d on freebsd:/dev/wd2s1
Label: NO NAME    FAT16
maxino = 57345
Remove mask header
Dump mask header
Extract directories from tape
Mangled directory: reclen not multiple of 4 
Mangled directory: 
Mangled directory: reclen less than DIRSIZ (0 < 12) 
Mangled directory: reclen less than DIRSIZ (0 < 12) 
File header, ino 2; predicted 4 blocks, got 16 blocks
resync restore, skipped 12 blocks
File header, ino 3; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 4; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 366; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 489; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 1671; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 1672; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 2629; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 2810; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
File header, ino 2811; predicted 1 blocks, got 4 blocks
resync restore, skipped 3 blocks
. is not on the tape
Root directory is not on tape
abort? [yn] ^Crestore interrupted, continue? [yn] n

which should come as no surprise to anyone.  Question is what to do about
it.  I feel a restore_msdos is necessary but what do others think ?  (That
is remember there could be non-FAT16 information to restore, long file
names, etc (which NetBSD is meant to support but I haven't yet checked that
out).

Darren

p.s. I made a new tarball with a .c file "showconts.c" which basically
     dumps out all the header records in a dump file - this helped quite
     a lot in testing!
ftp://ftp.cyber.com.au/pub/unix/dump_msdos.tgz