From: Stanislav Kinsbursky <skinsbursky@parallels.com>
To: Trond.Myklebust@netapp.com
Cc: bfields@fieldses.org, linux-nfs@vger.kernel.org,
devel@openvz.org, linux-kernel@vger.kernel.org,
jlayton@redhat.com
Subject: [PATCH v2 0/3] lockd: use per-net refrence-counted NSM clients
Date: Tue, 18 Sep 2012 13:37:06 +0400 [thread overview]
Message-ID: <20120918093612.2469.94393.stgit@localhost.localdomain> (raw)
v2:
1) NSM transport is TCP based now. And all RPC tasks now called with
RPC_TASK_SOFTCONN. The advantage of this is that the kernel could discover
when statd is not running and fail the upcall immediately, rather than waiting
possibly many seconds for each upcall RPC to time out.
2) XDR layer violation (reference to upper RPC client cl_hostname) was
replaced by passing the string as a part of nlm_args structure.
This is a bug fix for https://bugzilla.redhat.com/show_bug.cgi?id=830862.
The problem is that with NFSv4 mount in container (with separated mount
namesapce) and active lock on it, dying child reaped of this container will
try to umount NFS and doing this will try to create RPC client to send
unmonitor request to statd.
But creation of RCP client requires valid current->nsproxy (for operation with
utsname()) and during umount on child reaper exit it's equal to zero.
Proposed solution is to introduce refrence-counter per-net NSM client, which
is created on fist monitor call and destroyed after the lst monitor call.
The following series implements...
---
Stanislav Kinsbursky (3):
lockd: per-net NSM client creation and destruction helpers introduced
lockd: use rpc client's cl_nodename for id encoding
lockd: create and use per-net NSM RPC clients on MON/UNMON requests
fs/lockd/mon.c | 86 +++++++++++++++++++++++++++++++++++++++++++-----------
fs/lockd/netns.h | 4 +++
fs/lockd/svc.c | 1 +
3 files changed, 74 insertions(+), 17 deletions(-)
next reply other threads:[~2012-09-18 9:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-18 9:37 Stanislav Kinsbursky [this message]
2012-09-18 9:37 ` [PATCH v2 1/3] lockd: per-net NSM client creation and destruction helpers introduced Stanislav Kinsbursky
2012-09-18 9:37 ` [PATCH v2 2/3] lockd: use rpc client's cl_nodename for id encoding Stanislav Kinsbursky
2012-09-18 9:37 ` [PATCH v2 3/3] lockd: create and use per-net NSM RPC clients on MON/UNMON requests Stanislav Kinsbursky
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=20120918093612.2469.94393.stgit@localhost.localdomain \
--to=skinsbursky@parallels.com \
--cc=Trond.Myklebust@netapp.com \
--cc=bfields@fieldses.org \
--cc=devel@openvz.org \
--cc=jlayton@redhat.com \
--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 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).