Link to home
Start Free TrialLog in
Avatar of Mark
Mark

asked on

unable to read inode block

I have two, 1TB Toshiba v63700-C USB drives I've been using for backup for a while on an older Linux, kernel version 2.6.24.5-smp with a 730MHz Pentium III and 1GB memory. The box itself is a older Compaq desktop.

I recently scratch-installed kernel version 2.6.27.5-smp. Since then, I cannot get either USB drive to work properly. I've reformatted both to ext2, twice, and even did e2fsck -c on one of them to check the bad sector map. I got no errors. However, I cannot write any actual data to these drives because I get lots of errors like:

[16697.792671] EXT2-fs (sdb1): error: read_inode_bitmap: Cannot read inode bitmap - block group = 5331, inode_bitmap = 181239809

[16720.183564] EXT2-fs (sdb1): error: ext2_get_inode: unable to read inode block - inode=2 block=1027

lots of these while trying to copy files. It doesn't appear to flag the same blocks each time.

This worked fine with the older kernel version and it is difficult to believe that two USB drives would simulaneously go bad, especially if the mkfs and e2fsck appeared to work. The only variable in the setup is the linux version.

Does anyone know if there could be some funkiness with the new USB driver? If so, how can I fix this? I kind-of really *need* this as this is my main backup computer.

Thanks
Avatar of Duncan Roe
Duncan Roe
Flag of Australia image

Have you kept the old kernel? Could you boot into it and see if the problem goes away?
Even the "new" kernel is very old - Linux went to rev 3 after 2.6.39 and I'm on 3.5.3 (the latest)
Avatar of Mark
Mark

ASKER

Old kernel is gone. I am recompiling the "new" kernel removing USB 3.0 to see if that help. If not, I'll try the latest kernel.
I always keep old kernels for just this sort of occasion.
Personally I would format to ext3, not ext2. I do that for my 1TB drives.
Is there some inactivity on the drive before you get an error? Perhaps it is spinning down to power-save. I've had that a lot at work with USB-powered drives but only once at home with my brick-powered units. Older kernels can't mount spun-down devices (you need to try twice) but newer ones have learned to wait. I still had a data transfer fail once on a spun-down device at home but that was a few kernel revs back - it may have got better.
Avatar of Mark

ASKER

I'm using the Slackware distro, so kernel 2.6.37.6 is the latest in current Slackware's "stable" release.

My new kernel build failed with not enough memory (1GB). I'm restarting the build since it should take up where it left off. Meanwhile, I'm doing another build on a machine with 4GB

I could always get another installation CD for the older version ... which I might try; or I could get a more modern computer -- this is an old Compaq Pentium III. If these builds fail I'll try the old install CD first. A newer machine should also work. I had no trouble with these same USB drives doing the same job on a 2.666MHz Intel Core2 Duo with 2GB running kernel 2.6.27.7 (still not that new) -- so it could be a combination of the old hardware with the newer kernel.

> Personally I would format to ext3, not ext2.

I've never messed with anything other than ext2. What does ext3 give me other than journaling and what exactly does journaling give me?
I too use  Slackware, but then I upgrade kernels from kernel.org. What else was your system doing when it ran out of memory during a build? 1GB should be plenty.
I've been really pleased with ext3 since I started using it years ago. The advantage is: you hardly ever need to do an fsck. Not even after a power fail. I have configured my drives with tune2fs to require an fsck every 6 months and those are the only ones that ever get done.
Back to your original problem - it may be more important how the old kernel was configured rather than what is its actual revision. Did it have OHCI, EHCI and UHCI? Does the new one? EHCI is the high speed controller - according to Documentation/usb/ehci.txt, if ehci-hcd gives you trouble then you should be able to remove it on which ohci-hcd or uhci-hcd will take over (from line 97 of the file onwards).
Also when configuring the kernel, under Support for Host-side USB you could select USB verbose debug messages.
Avatar of Mark

ASKER

Ok, problem appears fixed. First, a recounting of the failed steps I tried before revealing the anti-climatic solution ...

First of all this computer used to do nothing more than connect to various remote computers (Linux and Windows) simply to see if they were still running. If not, it emailed me a message about that host being down. For that, I didn't need a very powerful machine. I've since expanded its functions to collect nightly backups from various remote linux hosts and store those backups on a USB drive for offsite storage. I also don't need a lot of power for that. So, this old computer worked fine until I mucked about too much and messed up the OS. After reinstalling a newer Slackware release is when I ran into this problem with not being able to write to the USB drive.

To continue with the story of trying to fix it ...

My "customize" kernel build failed to boot with a 'panic'. Not unusual for me when building new kernels -- probably some needed module or whatever I omitted. Before trying to rebuild again (a very loooong time on this old machine), I thought I'd give your ext3 thing a shot. It didn't even get through formatting before giving me drive errors.

Next, I located and reinstalled the slackware 12.1 CDs (at linunxquestions.org) with the machine's original kernel 2.6.24.5. Since the one drive was trashed while attempted to mkfs.ext3, I re-tried again to re-format it with ext3 (which took about 5 hours!!!!) with the new (actually OLD) kernel. It did format OK, but when I tried copying files to it I got the same old inode block errors. Arrggghhh!

So, while contemplating buying a newer box, or a new plug-in USB card, I decided to try one last "what the heck". I switch USB ports with my USB keyboard (there are only two USB ports on this computer). Guess what? That seemed to solve the problem!!!! I backed up one of the remote hosts without incident over a 6 hour period with continual writes to the drive. I have now started a 2nd backup with no problem running for the past 1/2 hour.

Is it possible that's all it was or am I just getting lucky today? Perhaps when I went to install the newer kernel I rearranged the USB connections? (which I could have since I took the computer off a KVM switch) I ran into something similar very recently when I installed a Fujitsu scanner on a WIN7 computer. It simply wouldn't work correctly until I happened to plug it into another USB port. Then, no problem.

Thots?
ASKER CERTIFIED SOLUTION
Avatar of Duncan Roe
Duncan Roe
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mark

ASKER

Yeah, probably a new computer should be on the list. At the moment, this works, and the slower disk access had the oddly beneficial side effect of not hogging all the bandwidth on source computer or local network. (having one computer on the LAN hog the line is another problem I haven't solved yet).

One last question: your comment about uisng "tune2fs to upgrade 3 ext2 mounts to ext3 ... one of them was root" implies that you could do this conversion without reformatting the partition and, more importantly, preserving the contents. Is that true? Right now, one of these USB drives is ext2 and one is ext3. The ext2 on has LOTS of files, the ext3 one is empty. If I could easily move the ext2 to ext3 w/o losing all the data, I'd give that a shot. I'll have to research tune2fs.
Yes certainly - you can tune2fs a disk with contents even without unmounting it.
For example, if your ext2 USB is /dev/sdb1, you would enter tune2fs -j /dev/sdb1. The change takes effect on the next reboot. If /etc/fstab had ext2 for the file system type, change it to auto before rebooting.
On your Slackware system, man tune2fs in an xterm (or a Virtual Console) will tell you all about it.
Avatar of Mark

ASKER

OK, I'll give that a shot. Right now I've got one USB drive formatted as ext2 and the other (emply) formatted as ext3. When I swap drives, I'll change the fstab setting from ext2 to auto and see if that picks up the ext3

Thanks for all your help!