[PATCH v2 0/6] SUNRPC: rework cache upcall to avoid NFSd root

From: Stanislav Kinsbursky
Date: Mon Feb 04 2013 - 06:01:47 EST


swapping

The main idea of this patch set is to call cache request not on kthread
upcall, but on userspace daemon cache_read call. This fixes the problem with
gaining of wrong dentry path after calling d_path() in kthread root context
(svc_export_request() callback), which always work in init root context, but
containers can work in "root jail" - i.e. have it's own nested root.

v2:
1) NFS DNS cache update wasn't done in the firest version. So this patch set
does preparation cleanup of the NFS DNS cache routines.
2) Also, this patch set doesn't remove cache_upcall helper anymore, because
it's still required for NFS DNS cache.

The following series implements...

---

Stanislav Kinsbursky (6):
NFS: use SUNRPC cache creation and destruction helper for DNS cache
NFS; simlify and clean cache library
SUNRPC: introduce cache_detail->cache_request callback
SUNRPC: rework cache upcall logic
SUNRPC: remove "cache_request" argument in sunrpc_cache_pipe_upcall() function
SUNRPC: move cache_detail->cache_request callback call to cache_read()


fs/nfs/cache_lib.c | 12 ++-----
fs/nfs/cache_lib.h | 2 -
fs/nfs/dns_resolve.c | 65 +++++++++++++++----------------------
fs/nfsd/export.c | 14 +-------
fs/nfsd/nfs4idmap.c | 16 +--------
include/linux/sunrpc/cache.h | 10 +++---
net/sunrpc/auth_gss/svcauth_gss.c | 8 +----
net/sunrpc/cache.c | 49 ++++++++++++++++------------
net/sunrpc/svcauth_unix.c | 14 +-------
9 files changed, 69 insertions(+), 121 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/