diff -ubwr work/makefs-20031215/netbsdsrc/usr.sbin/makefs/ffs.c work-luigi/makefs-20031215/netbsdsrc/usr.sbin/makefs/ffs.c --- work/makefs-20031215/netbsdsrc/usr.sbin/makefs/ffs.c Wed Dec 17 19:53:31 2003 +++ work-luigi/makefs-20031215/netbsdsrc/usr.sbin/makefs/ffs.c Mon Mar 22 23:08:39 2004 @@ -254,7 +254,22 @@ /* write out superblock; image is now complete */ ((struct fs *)fsopts->superblock)->fs_fmod = 0; + /* + * update fs_old_cstotal + */ + ((struct fs *)fsopts->superblock)->fs_old_cstotal.cs_ndir = + ((struct fs *)fsopts->superblock)->fs_cstotal.cs_ndir; + ((struct fs *)fsopts->superblock)->fs_old_cstotal.cs_nbfree = + ((struct fs *)fsopts->superblock)->fs_cstotal.cs_nbfree; + ((struct fs *)fsopts->superblock)->fs_old_cstotal.cs_nifree = + ((struct fs *)fsopts->superblock)->fs_cstotal.cs_nifree; + ((struct fs *)fsopts->superblock)->fs_old_cstotal.cs_nffree = + ((struct fs *)fsopts->superblock)->fs_cstotal.cs_nffree; + ffs_write_superblock(fsopts->superblock, fsopts); + printf("ndir now %d\n", + ((struct fs *)fsopts->superblock)->fs_cstotal.cs_ndir); + if (close(fsopts->fd) == -1) err(1, "Closing `%s'", image); fsopts->fd = -1;