public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Sander Smeenk <ssmeenk@freshdot.net>
To: linux-nfs@vger.kernel.org
Subject: Re: rpc.mountd --manage-gids breaks on UID differences
Date: Thu, 26 Nov 2009 10:16:58 +0100	[thread overview]
Message-ID: <20091126091657.GL15295@dot.freshdot.net> (raw)
In-Reply-To: <20091117200831.GA3969@fieldses.org>

** Sorry for messing up the thread - My mailconfig started rejecting
mail from vger.kernel.org for which i am eternally sorry. This message
i'm replying to was copied from marc.info **

Quoting J. Bruce Fields (bfields@fieldses.org):

> > The timeframe described above matches the lines from the beginning
> > up to 3732517.859721 in the server debug log[2]. I'd have to dig in
> > the kernel code to find out what lines 3732513.221898 through
> > 3732513.221913 exactly tell me.
> > Is anyone on this list an RPC-code ninja?
>
> I don't think there's anything interesting in there.
> If you do:
> 
> 	date +%s >/proc/net/rpc/auth.unix.gid/flush
> 	strace -e trace=read,write -s4096 -p`pidof rpc.mountd` 
> 
> then do whatever you do the client to reproduce the problem, the
> resulting strace output might be interesting.

This is the result of said strace. Server's auth.unix.gid was flushed,
client reboots and auto-mounts the NFS-share:

| [ .. ]
| read(12, "172.17.145.222:/mnt/data/exports/application:0x00000009\n", 4096) = 56
| write(12, "172.17.145.222:/mnt/data/exports/application:0x0000000a\n", 56) = 56
| read(4, "0\n", 2048)                    = 2
| write(4, "0 1259227707 1 0 \n", 18)     = 18

Again i flushed auth.unix.gid and directly accessed a file as root from
the client:

| read(4, "0\n", 2048)                    = 2
| write(4, "0 1259227903 1 0 \n", 18)     = 18

This works as expected, file contents returned. Again i flushed
auth.unix.gid and switched to the user with the mismatching uid on the
server & client, accessed the exact same file directly:

| read(4, "1002\n", 2048)                 = 5
| write(4, "1002 1259227918 \n", 17)      = -1 EINVAL (Invalid argument)

These two lines repeat at a very slow interval while the client retries:

| read(4, "1002\n", 2048)                 = 5
| write(4, "1002 1259228098 \n", 17)      = -1 EINVAL (Invalid argument)
| read(4, "1002\n", 2048)                 = 5
| write(4, "1002 1259228278 \n", 17)      = -1 EINVAL (Invalid argument)

Filedescriptor 4 for the rpc.mountd process is connected to
/proc/net/rpc/auth.unix.gid/channel. After this user has tried to access
the file, NFS-operation stalls for all users on the client.

> I can't reproduce the problem with nfs-utils from karmic
> (1:1.1.4-1ubuntu1) and a recent kernel.

Well, i've never ever seen this before either. It seems like it has been
introduced with some of the more recent updates to either the kernel or
the nfs-utils contained in Ubuntu Hardy 8.04.3 LTS.

HTH, with regards,
-Sander.
-- 
| When everything is coming your way, you're in the wrong lane.
| 4096R/20CC6CD2 - 6D40 1A20 B9AA 87D4 84C7  FBD6 F3A9 9442 20CC 6CD2

  parent reply	other threads:[~2009-11-26  9:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-17 15:39 rpc.mountd --manage-gids breaks on UID differences Sander Smeenk
     [not found] ` <20091117153928.GA12493-N0d2glMUd7m2/GFIlvLUCQ@public.gmane.org>
2009-11-17 20:08   ` J. Bruce Fields
2009-11-17 20:43     ` Sander Smeenk
2009-11-18 21:31       ` J. Bruce Fields
2009-11-26  9:16     ` Sander Smeenk [this message]
     [not found]       ` <20091126091657.GL15295-N0d2glMUd7m2/GFIlvLUCQ@public.gmane.org>
2009-11-27 19:05         ` J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091126091657.GL15295@dot.freshdot.net \
    --to=ssmeenk@freshdot.net \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox