[Devel] [PATCH v2 0/6] SUNRPC: rework cache upcall to avoid NFSd root
Stanislav Kinsbursky
skinsbursky at parallels.com
Mon Feb 4 03:02:29 PST 2013
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(-)
More information about the Devel
mailing list