linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PROBLEM] [2.6.0-test6] Stale NFS file handle
@ 2003-09-28 18:30 Malte Schröder
  2003-09-28 18:48 ` Axel Siebenwirth
  2003-09-28 20:47 ` Patrick Mau
  0 siblings, 2 replies; 8+ messages in thread
From: Malte Schröder @ 2003-09-28 18:30 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 429 bytes --]

Hi,
since 2.6.0-test6 I get "Stale NFS file handle" when transferring huge amounts 
of data from a nfs-server which is running on -test6.
The client also runs -test6. Transfers from a server running kernel 2.4.22 
work flawless.

I use the nfs-kernel-server 1.0.6 on Debian/sid.

-- 
---------------------------------------
Malte Schröder
MalteSch@gmx.de
ICQ# 68121508
---------------------------------------




[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-28 18:30 [PROBLEM] [2.6.0-test6] Stale NFS file handle Malte Schröder
@ 2003-09-28 18:48 ` Axel Siebenwirth
  2003-09-29 17:42   ` Malte Schröder
  2003-09-29 20:06   ` bill davidsen
  2003-09-28 20:47 ` Patrick Mau
  1 sibling, 2 replies; 8+ messages in thread
From: Axel Siebenwirth @ 2003-09-28 18:48 UTC (permalink / raw)
  To: Malte, Schroeder; +Cc: linux-kernel

Hi Malte!

On Sun, 28 Sep 2003, Malte Schr?der wrote:

> Hi,
> since 2.6.0-test6 I get "Stale NFS file handle" when transferring huge amounts 
> of data from a nfs-server which is running on -test6.
> The client also runs -test6. Transfers from a server running kernel 2.4.22 
> work flawless.
> 
> I use the nfs-kernel-server 1.0.6 on Debian/sid.

Are you using mount options when mounting the NFS volume?
I had this problem when I used rsize=8192 and wsize=8192 as nfs mount
options. Just left them out and everything was fine again.

Axel



____________________________________________________________________________
Axel Siebenwirth				      phone +49 3641 776807 |
Am Birnstiel 3			 		  axel at pearbough dot net |
07745 Jena								    |
Germany________________________________________________http://pearbough.net |

For my birthday I got a humidifier and a de-humidifier...  I put them in
the same room and let them fight it out.
                -- Stephen Wright
____________________________________________________________________________

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-28 18:30 [PROBLEM] [2.6.0-test6] Stale NFS file handle Malte Schröder
  2003-09-28 18:48 ` Axel Siebenwirth
@ 2003-09-28 20:47 ` Patrick Mau
  2003-09-29 18:58   ` Patrick Mau
  2003-10-16  5:17   ` Neil Brown
  1 sibling, 2 replies; 8+ messages in thread
From: Patrick Mau @ 2003-09-28 20:47 UTC (permalink / raw)
  To: Malte Schröder; +Cc: linux-kernel

On Sun, Sep 28, 2003 at 08:30:50PM +0200, Malte Schröder wrote:
> Hi,
> since 2.6.0-test6 I get "Stale NFS file handle" when transferring
> huge amounts of data from a nfs-server which is running on -test6.
> The client also runs -test6. Transfers from a server running kernel 2.4.22 
> work flawless.
> 
> I use the nfs-kernel-server 1.0.6 on Debian/sid.

Hallo Malte,
Hallo list-members,

my solution for getting a reliable NFS Server with 2.5 kernels was
to use "no_subtree_check" in /etc/exports.

(The next thing is pasted, please read below the code)

I stumbled over the following lines of code in fs/nfsd/nfsfh.c:

int nfsd_acceptable(void *expv, struct dentry *dentry)
{
        struct svc_export *exp = expv;
        int rv;
        struct dentry *tdentry;
        struct dentry *parent;

        if (exp->ex_flags & NFSEXP_NOSUBTREECHECK)
                return 1;

        tdentry = dget(dentry);
        while (tdentry != exp->ex_dentry && ! IS_ROOT(tdentry)) {
                /* make sure parents give x permission to user */
                int err;
                parent = dget_parent(tdentry);
                err = permission(parent->d_inode, S_IXOTH, NULL);
                                                  ^^^^^^^ <- !!!!
                if (err < 0) {
                        dput(parent);
                        break;
                }

First, nfsd_acceptable always returns success if subtree_checks are
diabled. Second, I think, the line marked above is not correct.

The comment says "give x permission to user", but the call looks
suspiciously wrong.

You can also make the error disappear by allowing setting all x bits
for "other" from your mount-point down to the directory where the error
appears.

Echoing "32767" to /proc/sys/sunrpx/nfs_debug helped me a great deal
to find that error.

Cheers,
Patrick

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-28 18:48 ` Axel Siebenwirth
@ 2003-09-29 17:42   ` Malte Schröder
  2003-09-29 20:06   ` bill davidsen
  1 sibling, 0 replies; 8+ messages in thread
From: Malte Schröder @ 2003-09-29 17:42 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 1786 bytes --]

On Sunday 28 September 2003 20:48, Axel Siebenwirth wrote:
> Hi Malte!
>
> On Sun, 28 Sep 2003, Malte Schr?der wrote:
> > Hi,
> > since 2.6.0-test6 I get "Stale NFS file handle" when transferring huge
> > amounts of data from a nfs-server which is running on -test6.
> > The client also runs -test6. Transfers from a server running kernel
> > 2.4.22 work flawless.
> >
> > I use the nfs-kernel-server 1.0.6 on Debian/sid.
>
> Are you using mount options when mounting the NFS volume?
> I had this problem when I used rsize=8192 and wsize=8192 as nfs mount
Does not make a difference .. but there seems to be something wrong in the 
code as far as I can interpret what I read on this list ...
For now I'm using the user-space-deamon .. work's fine :)

> options. Just left them out and everything was fine again.
>
> Axel
>
>
>
> ___________________________________________________________________________
>_ Axel Siebenwirth				      phone +49 3641 776807 |
> Am Birnstiel 3			 		  axel at pearbough dot net |
> 07745 Jena								    |
> Germany________________________________________________http://pearbough.net
> |
>
> For my birthday I got a humidifier and a de-humidifier...  I put them in
> the same room and let them fight it out.
>                 -- Stephen Wright
> ___________________________________________________________________________
>_ -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
---------------------------------------
Malte Schröder
MalteSch@gmx.de
ICQ# 68121508
---------------------------------------


[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-28 20:47 ` Patrick Mau
@ 2003-09-29 18:58   ` Patrick Mau
  2003-09-30  4:41     ` Malte Schröder
  2003-10-16  5:17   ` Neil Brown
  1 sibling, 1 reply; 8+ messages in thread
From: Patrick Mau @ 2003-09-29 18:58 UTC (permalink / raw)
  Cc: Malte Schröder, linux-kernel

Hallo Malte,

I accidently deleted your original mail. Did you try exporting your
filesystems with "no_subtree_check", like this ?

/dvd \
  tony.local.net(rw,async,no_subtree_check)

If not, could you please try and tell me if that helps ?

Thanks,
Patrick

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-28 18:48 ` Axel Siebenwirth
  2003-09-29 17:42   ` Malte Schröder
@ 2003-09-29 20:06   ` bill davidsen
  1 sibling, 0 replies; 8+ messages in thread
From: bill davidsen @ 2003-09-29 20:06 UTC (permalink / raw)
  To: linux-kernel

In article <20030928184841.GL532@neon>,
Axel Siebenwirth  <axel@pearbough.net> wrote:

| Are you using mount options when mounting the NFS volume?
| I had this problem when I used rsize=8192 and wsize=8192 as nfs mount
| options. Just left them out and everything was fine again.

This is useful as a test and problem identification, but if you're
transferring significant data between systems other than those directly
connected with a low latency connection you do see performance loss.
-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-29 18:58   ` Patrick Mau
@ 2003-09-30  4:41     ` Malte Schröder
  0 siblings, 0 replies; 8+ messages in thread
From: Malte Schröder @ 2003-09-30  4:41 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 522 bytes --]

On Monday 29 September 2003 20:58, Patrick Mau wrote:
> Hallo Malte,
>
> I accidently deleted your original mail. Did you try exporting your
> filesystems with "no_subtree_check", like this ?
>
> /dvd \
>   tony.local.net(rw,async,no_subtree_check)
This makes the messages go away :)

>
> If not, could you please try and tell me if that helps ?
>
> Thanks,
> Patrick

-- 
---------------------------------------
Malte Schröder
MalteSch@gmx.de
ICQ# 68121508
---------------------------------------


[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PROBLEM] [2.6.0-test6] Stale NFS file handle
  2003-09-28 20:47 ` Patrick Mau
  2003-09-29 18:58   ` Patrick Mau
@ 2003-10-16  5:17   ` Neil Brown
  1 sibling, 0 replies; 8+ messages in thread
From: Neil Brown @ 2003-10-16  5:17 UTC (permalink / raw)
  To: Patrick Mau; +Cc: Malte Schröder, linux-kernel

On Sunday September 28, mau@oscar.ping.de wrote:
> 
> I stumbled over the following lines of code in fs/nfsd/nfsfh.c:
> 
> int nfsd_acceptable(void *expv, struct dentry *dentry)
> {
>         struct svc_export *exp = expv;
>         int rv;
>         struct dentry *tdentry;
>         struct dentry *parent;
> 
>         if (exp->ex_flags & NFSEXP_NOSUBTREECHECK)
>                 return 1;
> 
>         tdentry = dget(dentry);
>         while (tdentry != exp->ex_dentry && ! IS_ROOT(tdentry)) {
>                 /* make sure parents give x permission to user */
>                 int err;
>                 parent = dget_parent(tdentry);
>                 err = permission(parent->d_inode, S_IXOTH, NULL);
>                                                   ^^^^^^^ <- !!!!
>                 if (err < 0) {
>                         dput(parent);
>                         break;
>                 }
> 
> First, nfsd_acceptable always returns success if subtree_checks are
> diabled. Second, I think, the line marked above is not correct.
> 
> The comment says "give x permission to user", but the call looks
> suspiciously wrong.

I think it is correct, though arguably it should be "MAY_EXEC" rather
than "S_IXOTH" (both of which are '1').
The permission call checks if the current user (which is computed from
the rpc credentials) has eXecute access to the directories.

> 
> You can also make the error disappear by allowing setting all x bits
> for "other" from your mount-point down to the directory where the error
> appears.

Have you actually tried this or are you just assuming?

> 
> Echoing "32767" to /proc/sys/sunrpx/nfs_debug helped me a great deal
> to find that error.

Presumably you got lots of "nfsd_acceptable failed at ....".  Is that
correct? 

I guess I need to do some testing with "subtree_check" set and see if
I can reproduce it.

NeilBrown

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-10-16  5:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-28 18:30 [PROBLEM] [2.6.0-test6] Stale NFS file handle Malte Schröder
2003-09-28 18:48 ` Axel Siebenwirth
2003-09-29 17:42   ` Malte Schröder
2003-09-29 20:06   ` bill davidsen
2003-09-28 20:47 ` Patrick Mau
2003-09-29 18:58   ` Patrick Mau
2003-09-30  4:41     ` Malte Schröder
2003-10-16  5:17   ` Neil Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).