SUNRPC: move cache_detail->cache_request callback call to cache_read()
authorStanislav Kinsbursky <skinsbursky@parallels.com>
Mon, 4 Feb 2013 11:03:03 +0000 (14:03 +0300)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 15 Feb 2013 15:43:48 +0000 (10:43 -0500)
The reason to move cache_request() callback call from
sunrpc_cache_pipe_upcall() to cache_read() is that this garantees, that cache
access will be done userspace process context (only userspace process have
proper root context).
This is required for NFSd support in container: svc_export_request() (which is
cache_request callback) calls d_path(), which, in turn, traverse dentry up to
current->fs->root. Kernel threads always have global root, while container
have be in "root jail" - i.e. have it's own nested root.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>

No differences found