[PATCH 0/3] lockd: use per-net refrence-counted NSM clients

From: Stanislav Kinsbursky
Date: Fri Sep 14 2012 - 10:32:46 EST


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: use rpc client's cl_nodename for id encoding
lockd: per-net NSM client creation and destruction helpers introduced
lockd: create and use per-net NSM RPC clients on MON/UNMON requests


fs/lockd/mon.c | 91 +++++++++++++++++++++++++++++++++++++++++++-----------
fs/lockd/netns.h | 4 ++
fs/lockd/svc.c | 1 +
3 files changed, 77 insertions(+), 19 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/