[RFC PATCH 0/4] SUNRPC: rework cache upcall to avoid NFSd root swapping

Stanislav Kinsbursky
2013-01-15T08:08:49Z

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.

The following series implements...

---

Stanislav Kinsbursky (4):
SUNRPC: introduce cache_detail->cache_request callback
SUNRPC: remove cache_detail->cache_upcall callback
SUNRPC: remove "cache_request" argument in sunrpc_cache_pipe_upcall() function
SUNRPC: move cache_detail->cache_request callback call to cache_read()

fs/nfs/dns_resolve.c | 2 +-
fs/nfsd/export.c | 14 ++----------
fs/nfsd/nfs4idmap.c | 16 ++-----------
include/linux/sunrpc/cache.h | 11 +++------
net/sunrpc/auth_gss/svcauth_gss.c | 8 +------
net/sunrpc/cache.c | 44 ++++++++++++++++++++-----------------
net/sunrpc/svcauth_unix.c | 14 ++----------
7 files changed, 36 insertions(+), 73 deletions(-)