2001-02-08 01:15:09

by Jun Sun

[permalink] [raw]
Subject: nfs_refresh_inode: inode number mismatch


This is a weird problem that I am looking at right. It seems to indicate a
bug in the nfs server.

I have a MIPS machine that boots from a NFS root fs hosted on a redhat 6.2
workstation. Everything works fine except that after a few reboots I start to
see the error messages like the following:

Freeing unused kernel memory: 24k freed
INIT: version 2.77 booting
nfs_refresh_inode: inode number mismatch
expected (0x308/0x28b3d2), got (0x308/0x12b91b)
INIT: Entering runlevel: 3
sh-2.03#

Restarting the nfs server on the host does not get rid of the messages.
Things will get better if I reboot the host.

I traced the network packets, and it seems obvious that the server is
returning wrong fileid in the "write reply" message. Below is a segment of
the extracted packet trace. It is obvious that the nfs server returns a wrong
fileid for the same handle it returned earlier to the client. The confusing
part is the nfs server actually serves the first write request, and a couple
of other requests, correctly but failed for the second time, returning a wrong
fileid.

In my particular setup, it seems only certain files (inodes) tend to get
screwed up.

Does anybody have an idea as to what is wrong here?

Please cc your reply to my email address. TIA.


Jun

------------------
round 3:

case 1:

2177 lookup:
ioctl.save

2178 lookup reply:
fileid: 2667474
handle:
cabaebfed2b32800e6ab2800080300000803000054c21100b2302b0c00000000

2181 write:
offset:0
total count: 60
handle:
cabaebfed2b32800e6ab2800080300000803000054c21100b2302b0c00000000

2182 write reply:
fileid: 2667474
size: 60

2183 setattr:
handle:
cabaebfed2b32800e6ab2800080300000803000054c21100b2302b0c00000000

2184 setattr reply:
fileid: 2667474

2185 write:
handle:
cabaebfed2b32800e6ab2800080300000803000054c21100b2302b0c00000000

2186 write reply:
fileid 1227035


2001-02-08 01:23:09

by NeilBrown

[permalink] [raw]
Subject: Re: nfs_refresh_inode: inode number mismatch

On Wednesday February 7, [email protected] wrote:
>
> This is a weird problem that I am looking at right. It seems to indicate a
> bug in the nfs server.
>
> I have a MIPS machine that boots from a NFS root fs hosted on a redhat 6.2
> workstation. Everything works fine except that after a few reboots I start to
> see the error messages like the following:

What verison of Linux? If it is less than 2.2.18, then an upgrade
will help you a lot.

If it is >= 2.2.18, I will look some more.

NeilBrown

2001-02-08 20:03:04

by Russell King

[permalink] [raw]
Subject: Re: nfs_refresh_inode: inode number mismatch

Neil Brown writes:
> On Wednesday February 7, [email protected] wrote:
> > This is a weird problem that I am looking at right. It seems to indicate a
> > bug in the nfs server.
> >
> > I have a MIPS machine that boots from a NFS root fs hosted on a redhat 6.2
> > workstation. Everything works fine except that after a few reboots I start to
> > see the error messages like the following:
>
> What verison of Linux? If it is less than 2.2.18, then an upgrade
> will help you a lot.
>
> If it is >= 2.2.18, I will look some more.

Note that you need to upgrade the server, not the client. Also, make sure
you don't reboot the client more than once in a 2 minute time window.
--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html

2001-02-09 00:05:03

by Jun Sun

[permalink] [raw]
Subject: Re: nfs_refresh_inode: inode number mismatch

Russell King wrote:
>
> Neil Brown writes:
> > On Wednesday February 7, [email protected] wrote:
> > > This is a weird problem that I am looking at right. It seems to indicate a
> > > bug in the nfs server.
> > >
> > > I have a MIPS machine that boots from a NFS root fs hosted on a redhat 6.2
> > > workstation. Everything works fine except that after a few reboots I start to
> > > see the error messages like the following:
> >
> > What verison of Linux? If it is less than 2.2.18, then an upgrade
> > will help you a lot.
> >
> > If it is >= 2.2.18, I will look some more.
>
> Note that you need to upgrade the server, not the client. Also, make sure
> you don't reboot the client more than once in a 2 minute time window.

My server was 2.2.14. I upgraded it to 2.2.18. It appears that the problem
is gone, although it will probably take a while to be sure.

I do find the "no more than once in 2 minutes" requirement amusing ... :-)

Jun