[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