[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

unable to read inode block

Posted on 2012-08-31
10
Medium Priority
?
2,448 Views
Last Modified: 2012-09-05
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
0
Comment
Question by:jmarkfoley
  • 5
  • 5
10 Comments
 
LVL 35

Expert Comment

by:Duncan Roe
ID: 38357249
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)
0
 
LVL 1

Author Comment

by:jmarkfoley
ID: 38357791
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.
0
 
LVL 35

Expert Comment

by:Duncan Roe
ID: 38357985
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.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:jmarkfoley
ID: 38358219
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?
0
 
LVL 35

Expert Comment

by:Duncan Roe
ID: 38358336
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.
0
 
LVL 1

Author Comment

by:jmarkfoley
ID: 38365397
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?
0
 
LVL 35

Accepted Solution

by:
Duncan Roe earned 2000 total points
ID: 38365943
Sounds like your old system only has USB-1. Typically systems of that era had 2 USB ports, really only suitable for mouse and keyboard. Yes you can put disks on them - but they are so slow compared with USB2 that if you are doing that a lot you are surely better off buying even a second-hand newer system with USB2.
I'm not especially surprised about the port-swap getting you over the line. I've had various weird USB experiences -- like a system that would only  recognise a keyboard in a particular slot; another system was like that with its slingshot (Jtag-like device).
Sorry to hear ext3 held you up - did you actually do a re-format? I meant for you to do it with tune2fs which would have involved far fewer disk writes. (I used tune2fs to upgrade 3 ext2 mounts to ext3 for a colleague at work the other day - while the system was running and, yes, one of them was root. The next reboot completed the upgrade process).
I'd go for a USB2 plug-in card or replacement 2nd-hand system, whatever is cheaper.
0
 
LVL 1

Author Comment

by:jmarkfoley
ID: 38366407
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.
0
 
LVL 35

Expert Comment

by:Duncan Roe
ID: 38367200
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.
0
 
LVL 1

Author Comment

by:jmarkfoley
ID: 38369314
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!
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction We as admins face situation where we need to redirect websites to another. This may be required as a part of an upgrade keeping the old URL but website should be served from new URL. This document would brief you on different ways ca…
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
Suggested Courses
Course of the Month20 days, 12 hours left to enroll

865 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question