From: Chris Vine <chris-TF6qbakwsgc2epGFuHBODCp2UmYkHbXO@public.gmane.org>
To: Jeff Layton <jlayton@redhat.com>
Cc: bfields@fieldses.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH] nfsd: just keep single lockd reference for nfsd
Date: Fri, 18 Jun 2010 15:18:08 +0100 [thread overview]
Message-ID: <20100618151808.6e40a0ca@boulder.homenet> (raw)
In-Reply-To: <1276858940-15499-1-git-send-email-jlayton@redhat.com>
On Fri, 18 Jun 2010 07:02:20 -0400
Jeff Layton <jlayton@redhat.com> wrote:
>
> This patch should replace the other patches that I proposed to make
> sure that each sv_permsock entry holds a lockd refrence.
>
> Right now, nfsd keeps a lockd reference for each socket that it has
> open. This is unnecessary and complicates the error handling on
> startup and shutdown. Change it to just do a lockd_up when creating
> the nfsd_serv and just do a single lockd_down when taking down the
> last nfsd thread.
>
> This patch also changes the error handling in nfsd_create_serv a
> bit too. There doesn't seem to be any need to reset the nfssvc_boot
> time if the nfsd startup failed.
>
> Note though that this does change the user-visible behavior slightly.
> Today when someone writes a text socktype and port to the portlist
> file prior to starting nfsd, lockd is not started when nfsd threads
> are brought up. With this change, it will be started any time that
> the nfsd_serv is created. I'm making the assumption that that's not a
> problem. If it is then we'll need to take a different approach to
> fixing this.
[snip]
With this (and all the other patches in nfsd-error) applied, this
eliminates the kernel bug/oops.
However, on my netbook nfsd now always hangs when starting up, no matter
how much in advance I start portmap. (The race condition has been
traded for a hang in very case.)
dmesg reports this:
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period
[... hang here... ]
[... continuing after killall rpc.nfsd ...]
svc: failed to register lockdv1 RPC service (errno 512).
lockd_up: makesock failed, error=-512
portmap is definitely running. 'ps axc | grep rpc' gives:
1767 ? Ss 0:00 rpc.portmap
1771 ? Ss 0:00 rpc.statd
2412 ? S 0:00 rpciod/0
2413 ? S 0:00 rpciod/1
3075 ? Ss 0:00 rpc.rquotad
Chris
next prev parent reply other threads:[~2010-06-18 14:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-18 11:02 [PATCH] nfsd: just keep single lockd reference for nfsd Jeff Layton
2010-06-18 14:18 ` Chris Vine [this message]
[not found] ` <20100618151808.6e40a0ca-PlFwYbz7hoIyinQH9hAyzg@public.gmane.org>
2010-06-18 14:30 ` Jeff Layton
[not found] ` <20100618103042.080aa597-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2010-06-18 15:04 ` Chris Vine
[not found] ` <20100618160411.14d65b2b-PlFwYbz7hoIyinQH9hAyzg@public.gmane.org>
2010-06-18 15:11 ` Jeff Layton
[not found] ` <20100618111132.20fb518a-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2010-06-18 22:45 ` Chris Vine
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=20100618151808.6e40a0ca@boulder.homenet \
--to=chris-tf6qbakwsgc2epgfuhbodcp2umykhbxo@public.gmane.org \
--cc=bfields@fieldses.org \
--cc=jlayton@redhat.com \
--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