bug in dump

Kirk Mckusick mckusick at ucbvax.UUCP
Sun Mar 25 07:58:20 AEST 1984


From: dlw at berkeley (David L Wasley)
Subject: bug in dump
Index:	/usr/src/etc/dump	4.2	Fix

Description:
	The problem is that restore needs the full inode bitmap
	for the filesystem. Dump, as distributed, truncates the
	map to the smallest size possible (the highest inode of
	interest). This causes restore to FAIL in some cases.

Repeat-by:
	newfs /dev/rra0h ra81
	dump 0 /dev/rra0h
	...(add stuff to the filesystem)...
	dump 3 /dev/rra0h

	Now try to restore it.

Fix:
	Below is a diff of dumptraverse.c that will fix the bug.
	The line numbers may not match yours. The routine is
	``bitmap()''.
------
diff  dumptraverse.c.old  dumptraverse.c
------
210,218c211
< 	n = -1;
< 	for (i = 0; i < msiz; i++)
< 		if(map[i])
< 			n = i;
< 	if (n < 0)
< 		return;
< 	n++;
<
< 	spcl.c_count = howmany(n * sizeof(map[0]), TP_BSIZE);
---
> 	spcl.c_count = howmany(msiz * sizeof(map[0]), TP_BSIZE);



More information about the Comp.bugs.4bsd.ucb-fixes mailing list