I just saved a hard drive from laptop (the usual 2.5" form factor). I bought a cheap enclosure from CompUSA, which connects to USB port. This drive contains many partitions, some of which are ext3 from RedHat and Mandrake. I plugged the device on a RedHat 8.0 machine to get the data out.
The device was recognized right away, and usb-storage.o module was loaded. All I did was mounting the partitions:
mount -t ext3 /dev/sda3 /mnt/wirawan0
... and so on (optionally I added "-o ro" to avoid messing with the existing filesystem). The computer read fine from the device for a while, until later there are messages about data corruption on the device, like quoted below.
Here's my first question: Is this a bug with usb-storage.o or kernel that comes with Red Hat Linux 8.0? The system uses Linux 2.40.20-28.8 kernel. I strongly don't believe if it is a real hardware problem. For if I restarted the computer, then the device would be read fine again for a while, until these errors come out again.
Quote:
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 58605120 512-byte hdwr sectors (30006 MB)
sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 >
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting. Commit interval 5 seconds
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
spurious 8259A interrupt: IRQ7.
NTFS driver v1.1.22 [Flags: R/O MODULE]
NTFS driver v1.1.22 [Flags: R/O MODULE]
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
hub.c: USB device not accepting new address (error=-71)
usb.c: USB disconnect on device 02:02.2-3 address 2
hub.c: new USB device 02:02.2-3, assigned address 3
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 3
usb-storage: host_reset() requested but not implemented
scsi: device set offline - command error recover failed: host 0 channel 0 id 0 lun 0
SCSI disk error : host 0 channel 0 id 0 lun 0 return code = 6050000
I/O error: dev 08:07, sector 7156112
I/O error: dev 08:07, sector 7156120
I/O error: dev 08:07, sector 7156360
I/O error: dev 08:07, sector 7156112
I/O error: dev 08:07, sector 4457264
EXT3-fs error (device sd(8,7)): ext3_get_inode_loc: unable to read inode block - inode=277395, block=557158
I/O error: dev 08:07, sector 10748864
EXT3-fs error (device sd(8,7)): ext3_get_inode_loc: unable to read inode block - inode=665028, block=1343608
I/O error: dev 08:07, sector 1077472
EXT3-fs error (device sd(8,7)): ext3_readdir: directory #68058 contains a hole at offset 0
I/O error: dev 08:07, sector 2097336
EXT3-fs error (device sd(8,7)): ext3_get_inode_loc: unable to read inode block - inode=129704, block=262167
I/O error: dev 08:07, sector 7603008
EXT3-fs error (device sd(8,7)): ext3_get_inode_loc: unable to read inode block - inode=471004, block=950376
I/O error: dev 08:07, sector 2055464
EXT3-fs error (device sd(8,7)): ext3_readdir: directory #68087 contains a hole at offset 0
I/O error: dev 08:07, sector 465344
|
Just FYI: I mounted the other partitions on the subdir of /mnt/wirawan0, similar to what happens when this disk is "alive" on the laptop, all are READ-ONLY fs:
/dev/hda1 -> /mnt/wirawan0/c (ntfs, using driver from linux-ntfs.sf.net)
/dev/hda3 -> /mnt/wirawan0 (ext3)
/dev/hda6 -> /mnt/wirawan0/d (vfat)
/dev/hda7 -> /mnt/wirawan0/X (ext3)