From: Stanislav Kinsbursky <skinsbursky@parallels.com>
To: bfields@fieldses.org
Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
devel@openvz.org
Subject: [PATCH 8/8] nfsd: simplify service shutdown
Date: Thu, 06 Dec 2012 14:23:44 +0300 [thread overview]
Message-ID: <20121206112344.29559.87559.stgit@localhost.localdomain> (raw)
In-Reply-To: <20121206111903.29559.4853.stgit@localhost.localdomain>
Function nfsd_shutdown is called from two places: nfsd_last_thread (when last
kernel thread is exiting) and nfsd_svc (in case of kthreads starting error).
When calling from nfsd_svc(), we can be sure that per-net resources are
allocated, so we don't need to check per-net nfsd_net_up boolean flag.
This allows us to remove nfsd_shutdown function at all and move check for
per-net nfsd_net_up boolean flag to nfsd_last_thread.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
fs/nfsd/nfssvc.c | 9 ++-------
1 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 5bb4a33..2cfd9c6 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -281,7 +281,7 @@ static void nfsd_shutdown_net(struct net *net)
nfsd_shutdown_generic();
}
-static void nfsd_shutdown(struct net *net)
+static void nfsd_last_thread(struct svc_serv *serv, struct net *net)
{
struct nfsd_net *nn = net_generic(net, nfsd_net_id);
@@ -294,11 +294,6 @@ static void nfsd_shutdown(struct net *net)
if (!nn->nfsd_net_up)
return;
nfsd_shutdown_net(net);
-}
-
-static void nfsd_last_thread(struct svc_serv *serv, struct net *net)
-{
- nfsd_shutdown(net);
svc_rpcb_cleanup(serv, net);
@@ -530,7 +525,7 @@ nfsd_svc(int nrservs, struct net *net)
error = nn->nfsd_serv->sv_nrthreads - 1;
out_shutdown:
if (error < 0 && !nfsd_up_before)
- nfsd_shutdown(net);
+ nfsd_shutdown_net(net);
out_destroy:
nfsd_destroy(net); /* Release server */
out:
next prev parent reply other threads:[~2012-12-06 11:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-06 11:22 [PATCH 0/8] nfsd: make service created per net Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 1/8] nfsd: move per-net startup code to separated function Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 2/8] nfsd: per-net NFSd up flag introduced Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 3/8] nfsd: make NFSd service boot time per-net Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 4/8] nfsd: make NFSd service structure allocated per net Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 5/8] nfsd: introduce helpers for generic resources init and shutdown Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 6/8] nfsd: simplify NFSv4 state " Stanislav Kinsbursky
2012-12-06 11:23 ` [PATCH 7/8] nfsd: replace boolean nfsd_up flag by users counter Stanislav Kinsbursky
2012-12-06 11:23 ` Stanislav Kinsbursky [this message]
2012-12-10 20:18 ` [PATCH 0/8] nfsd: make service created per net 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=20121206112344.29559.87559.stgit@localhost.localdomain \
--to=skinsbursky@parallels.com \
--cc=bfields@fieldses.org \
--cc=devel@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.