[2.2.5-RH6] knfsd: ext2 filesystem corruption

Martin Sheppard (shepp@camtech.net.au)
Mon, 13 Sep 1999 11:20:54 +0900


Hi,

I have a system running the standard RedHat 6.0 2.2.5 kernel which is
acting as an NFS server, among other things. I am using the standard NFS
server which came with RH6. This machine holds the root filesystem for
various linux boxes acting as X-terminals, which load the kernel locally
and use NFS to mount their root filesystem. In this case the X-terminals
are running kernel 2.2.1 and booting into what is essentially RedHat 6.0,
but with heavily modified startup scripts.

The X-terminals' root filesystems are located in /tftpboot, e.g.
/tftpboot/ibm1, /tftpboot/ibm2. Occationally I want to update these
directories, so I delete everything in the directory and make a fresh copy
(cp -a /tftpboot/skel /tftpboot/ibm1). If this occurs while the
corresponding terminal is on, then the next time that it requires access to
the filesystem, I start getting a whole lot of error messages being
produced by the server about errors on the ext2 filesystem that hosts
/tftpboot, a sample of which is attached to the end of this message. This
is quite reproducable and occurs every time the above steps are carried out.

If I then reboot the server, it does a fsck over the filesystem and then
loads normally. Most of the time there hasn't been any corruption, but I
have had small errors in other parts of the filesystem, which I assume is
as a result of this. This behaviour also seems to be able to continue over
a reboot of the server. I once tried rebooting the server while leaving the
X-terminal as it was, the server then started to produce the same sort of
errors as soon as the NFS server was restarted.

I know this is a relatively old kernel and RedHat apply many patches to it
as well, but it seems like a fairly serious problem.

Cheers,

Martin.

--------------

Here is my /etc/exports:

/pub 10.0.2.0/255.255.255.0(rw,no_root_squash)
/bin 10.0.2.0/255.255.255.0(ro)
/lib 10.0.2.0/255.255.255.0(ro)
/sbin 10.0.2.0/255.255.255.0(ro)
/opt 10.0.2.0/255.255.255.0(ro)
/usr 10.0.2.0/255.255.255.0(ro)
/tftpboot 10.0.2.0/255.255.255.0(rw,no_root_squash)
/mnt/cdrom 10.0.2.0/255.255.255.0(ro)

Here are some sample log messages that get produced:

Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731584
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731602
Aug 15 11:56:24 hal last message repeated 10 times
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731614
Aug 15 11:56:24 hal last message repeated 8 times
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731613
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_inode: bit already cleared for inode 182472
Aug 15 11:56:24 hal kernel: lookup_by_inode: ino 182472 not found in ibm1
Aug 15 11:56:24 hal kernel: find_fh_dentry: 03:05/182472 dir/592049 not found!
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731584
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731602
Aug 15 11:56:24 hal last message repeated 10 times
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731614
Aug 15 11:56:24 hal last message repeated 8 times
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731613
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_inode: bit already cleared for inode 182472
Aug 15 11:56:24 hal kernel: lookup_by_inode: ino 182472 not found in ibm1
Aug 15 11:56:24 hal kernel: find_fh_dentry: 03:05/182472 dir/592049 not found!
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731584
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731602
Aug 15 11:56:24 hal last message repeated 10 times
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731614
Aug 15 11:56:24 hal last message repeated 8 times
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731613
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_inode: bit already cleared for inode 182472
Aug 15 11:56:24 hal kernel: lookup_by_inode: ino 182472 not found in ibm1
Aug 15 11:56:24 hal kernel: find_fh_dentry: 03:05/182472 dir/592049 not found!
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731584
Aug 15 11:56:24 hal kernel: EXT2-fs warning (device ide0(3,5)):
ext2_free_blocks: bit already cleared for block 731602

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/