7.0 problem with fsck

Eric Anderson anderson at freebsd.org
Fri Mar 7 12:40:54 UTC 2008


Michael Richards wrote:
> I have a development machine with a USB drive on it used for backups. I
> recently upgraded to 7.0 but now it's been crashing.
> 
> The machine is a Dell Poweredge 6450 quad CPU
> 
> The drive is:
> da0 at umass-sim0 bus 0 target 0 lun 0
> da0: <Maxtor OneTouch III 035d> Fixed Direct Access SCSI-4 device
> da0: 1.000MB/s transfers
> da0: 286188MB (586114704 512 byte sectors: 255H 63S/T 36483C)
> 
> and I've successfully used this drive for about 6 months.
> 
> Here is what /var/log/messages had to say:
> Mar  2 02:03:54 mule kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
> Mar  2 02:03:54 mule kernel: umass0: BBB bulk-out clear stall failed,
> IOERROR
> Mar  2 02:04:59 mule kernel: umass0: BBB reset failed, IOERROR
> Mar  2 02:06:04 mule kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
> Mar  2 02:06:04 mule kernel: umass0: BBB bulk-out clear stall failed,
> IOERROR
> Mar  2 02:07:09 mule kernel: umass0: BBB reset failed, IOERROR
> Mar  2 02:08:14 mule kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
> Mar  2 02:08:14 mule kernel: umass0: BBB bulk-out clear stall failed,
> IOERROR
> Mar  2 02:08:14 mule kernel: g_vfs_done():da0s1[READ(offset=286340743168,
> length=16384)]error = 5
> Mar  2 02:09:19 mule kernel: umass0: BBB reset failed, IOERROR
> 
> So I tried to run fsck on it:
> fsck /dev/da0s1d
> ** /dev/da0s1d
> ** Last Mounted on /backup
> ** Phase 1 - Check Blocks and Sizes
> fsck_4.2bsd: cannot alloc 4294967292 bytes for inoinfo
> 
> I also tried fsck -d but it gives no more detail. The volume appears to
> mount correctly and I can see my files but during the backup it has crashed
> every night since I upgraded to 7.0.
> 
> In frustration I tried to newfs that drive.
> mule#  newfs /dev/da0s1d
> /dev/da0s1d: 286181.3MB (586099332 sectors) block size 16384, fragment size
> 2048
>         using 1558 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
> super-block backups (for fsck -b #) at:
>  160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976,
> 3387328, 3763680, 4140032, 4516384, 4892736, 5269088,
> --- SNIP ---
> 
> Same problem:
> mule# fsck /dev/da0s1d
> ** /dev/da0s1d
> ** Last Mounted on
> ** Phase 1 - Check Blocks and Sizes
> fsck_4.2bsd: cannot alloc 4294967292 bytes for inoinfo
> 
> Any ideas?


Sounds like you have a corrupt file system.  The g_vfs_done error (error 
5) indicates I/O error, which is possibly coming from the drive.  Can 
you run your drives utilities to make sure the drive is good?  If you 
are getting I/O errors, it's possible the cylinder group for the file 
system is getting corrupted, and leading to just data for the inode 
information.

I would do two things:
1) run your drives diagnostic tools and make sure it is good with no errors.

2) Apply these diffs to your source, and recompile fsck.  The diff is 
for FreeBSD 8, so it's possible you'd have to do some work to patch it, 
but probably not.  Links to changes:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/fsck_ffs/setup.c.diff?&r1=1.50&r2=1.51&f=h
http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/fsck_ffs/pass2.c.diff?&r1=1.26&r2=1.27&f=h
http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/fsck_ffs/pass1.c.diff?&r1=1.43&r2=1.44&f=h


Eric





More information about the freebsd-scsi mailing list