From: rideau@brick.ens.fr (Francois-Rene Rideau) Subject: bug report: ext2 crash (x4) )-8 Date: Sat, 11 Sep 1993 00:43:40 GMT
Hello, everybody. I hereby have a bug report for linux, but
1) I don't know who to send it to
2) I'm not sure the bug still exists as I use an old kernel (0.99.9 from
SLS 1.01)
So please tell me (by mail) if this bug report was taken into account, or where
to send it (so next time, I won't use that much bandwidth).
Here it is:
As I wrote, I use the Linux 0.99.9 kernel from the SLS 1.01 package, on both
- a Notebook 3500 486DX/33 portable computer (by NOTEBOOK, a Taiwanese company),
with a Cirrus Logic GD610 VGA comp. video card (VGA BIOS 3.03 1991), and
486 DX Modular BIOS v3.20 B 1990 by Award Software, 16 MB RAM, 210 MB IDE disk.
- an older taiwanese "Pulsar" Amd 386/33 computer (it burnt a Cyrix EM387 chip!)
AMI BIOS Jan 1989, "Jaguar" motherboard, Trident 8900B (x386 1.2 vga256 doesn't
work )-8 ) with two IDE HDs, 210 MB and 120 MB.
(this is for the compatibility list !)
The problem went from the latest.
I use the ext2 file system provided with SLS to format two partitions;
an approx. 110 MB primary partition /dev/hda4 at the end of the first disk and
an extended 21000 KB partition /dev/hda7 just before it.
I could have made it one partition, but it would have meant destroying data in
other extended partition, or modifying the (main&extended) partition tables
with some disk editor (BTW, is there a good, interactive, native disk editor
under linux, or must I go on using the Norton Utilities under my dosemu 0.48
DOS box ?); moreover, I (wrongly) believed two partitions were safer than one,
as I could then protect data by mounting one of these read-only.
NOW, I four times crashed both filesystems because of expectedly safe everyday
commands run as root: cp, tar, chown, mv. What is involved is not of course
the said commands, but the system calls used by them, and seemingly not
subject to enough checking when emitted by root. When not root, or with the
msdos file system (I haven't installed any other fs, and I don't intend to
install one, then check if I can destroy everything with the same commands...)
Firstly, I built homedirs for my whole family, with symlinks to my own files
as a default configuration (as in these days, my configuration files evolved
very very fast; they still evolve very fast). After having installed manually
one directory and finding in an uninteresting task, I looked into my manual
pages (BTW, how do you update the whatis file ? The makewhatis script I found in
SLS blasted the old whatis, and took into account only X manpages 8-C ), and
found -d option of the cp -d command to be just what I needed: copy symlinks
as are. That happy, I wrote << cp -d zap/.* zop >>. It seemed to work well,
but the . and .. entries of (what I'll here call) zop were destroyed, and when
reading the partition, the ext2 fs manager started to complain. e2fsck
reported tenth errors than proved could be handled only by manual interaction,
because correcting a each bad Inode created a bad directory entry that could be
repaired only by another e2fsck, and correcting two Inodes at a time hung
e2fsck; moreover, each Inode had to be corrected once in the bitmap then
elsewhere (I don't remember, and I don't want to try again !). When I finished
repairing, mounting/unmounting/rebooting half my homedirs were destroyed, and
I had to reinstall it all.
Then I extracted a (huge: 5 MB compressed) xfree 1.3 tar archive on /dev/hda7
mounted as /home (because v1.3 expectedly provided a vga256 driver for my video
card); but I never could compile it, as the filesystem proved bad: just a
(gzip -cd xxx | tar xvf -) command crashed the file system, and not only the
/home partition. I had to reinstall the whole stuff.
The same tar xvf as a normal user proved safe.
Another tar xvf upset my other computer, but some e2fsck'ing could repair it.
To reinstall my harddisk, I used a script which automatically created dirs,
unzipped files, and restored access rights from my other computer. BUT, my
file restore list wasn't fully updated from previous crash, and the /etc/group
file wasn't restored before the script chown'ed everything. And the whole
file system was corrupted again.
Finally, an interpartition mv (as root) destroyed directories in both
partitions, and there I was.
Of course, all such operations behave normally on msdos fs or as non-root, so
I presume it is an ext2 fs kernel bug; but I don't want to try with ext fs or
minix fs or anything, for I don't have any means to reinstall my HD but (slow)
diskettes. I couldn't install kernel 0.99.12 yet, but I sure will soon, then
try on a dummy partition.
I hope this story won't happen again, for I'm sick with installing SLS again
and again (and if I want to upgrade my kernel, thus my gcc, and if I also
want xfree 1.3 and emacs 19, I think I'm in for another SLS installation soon);
I also hope this message will help the same thing NOT to happen to anyone else
anymore.
-- , , _ v ~ ^
-- Fare -- rideau@clipper.ens.fr -- Francois-Rene Rideau -- +)ang-Vu Ban --
-- ' / .
-- -- , , _ v ~ ^ -- Fare -- rideau@clipper.ens.fr -- Francois-Rene Rideau -- +)ang-Vu Ban -- -- ' / .