There seem to have been a few people posting with filesystem
corruption in the last week or two. It seems to be my turn, so I hope
it isn't contagious. The cause here is quite clear - whilst rummaging
in the server cupboard yesterday, power to the machine was
accidentally disconnected.
I have booted with a live CD & run `reiserfsck --fix-fixable` on the
filesystem, but nevertheless when I attempt to boot the system I get a
"failed to open the device... no such file or directory" message,
followed by another error as per subject line.
However, you will see from this screenshot (taken with an IP KVM) that
the filesystem does indeed seem to have been mounted successfully, if
read-only:
http://linux.stroller.uk.eu.org/fs-corruption.png
All I did here was log in with the root password.
When I boot with a live CD I can mount, read & write the filesystem:
r...@sysresccd /root % mount -v -L root /mnt/gentoo
mount: you didn't specify a filesystem type for /dev/sda3
I will try type reiserfs
/dev/sda3 on /mnt/gentoo type reiserfs (rw)
r...@sysresccd /root % ls /mnt/gentoo
bin boot dev etc home lib mnt opt proc root sbin sys tmp
usr var
r...@sysresccd /root % touch /mnt/gentoo/foo
r...@sysresccd /root % echo foobar >> /mnt/gentoo/foo
r...@sysresccd /root % ls -lh !!:$
ls -lh /mnt/gentoo/foo
-rw-r--r-- 1 root root 7 2010-03-03 11:18 /mnt/gentoo/foo
r...@sysresccd /root % cat !!:$
cat /mnt/gentoo/foo
foobar
r...@sysresccd /root % rm !!:$
rm /mnt/gentoo/foo
rm: remove regular file `/mnt/gentoo/foo'? y
r...@sysresccd /root %
All the important system stuff on this PC is on a single partition. I
have two other drives attached at /mnt/space & /mnt/morespace - they
are XFS and I have run xfs_repair on both of them, which completes
quickly indicating no problems.
I'm not really sure how to proceed next. I feel the problem is indeed
on this reiserfs filesystem, the root filesystem with the label
"root". I can't help thinking that the problem is not that the system
"failed to open the device", but instead maybe that there's an
important system file missing that means the init script (or whatever
responsible for mounting the fiesystem) is not properly returning 0.
Does this seem possible? Maybe the reiserfs handler for mount is
somehow broken (performing the mount, but not returning 0, or perhaps
broken in such as was it is able to mount read-only but not read-write).
I am tempted to chroot into the system and re-emerge system &
baselayout. If I'm correct in this above guess then re-emerging the
correct file will fix the problem. Right?
`reiserfsck --help` shows some other options besides the simple --fix-
fixable - I assume the "expert option" of --scan-whole-partition is
unsafe, but what about the --rebuild-sb or --rebuild-tree? Can I
safely run these? Am I advised to run these?
Stroller.