On Tue, Dec 11, 2012 at 10:20:36AM -0500, J. Bruce Fields wrote:On Tue, Dec 11, 2012 at 07:07:00PM +0400, Stanislav Kinsbursky wrote:I don't really understand, how mountd's root can be wrong. I.e.
its' always right as I see it. NFSd kthreads have to swap/use
relative path/whatever to communicate with proper mountd.
Or I'm missing something?
Ugh, I see the problem: I thought svc_export_request was called at the
time mountd does the read, but instead its done at the time nfsd does
the upcall.
I suspect that's wrong, and we really want this done in the context of
the mountd process when it does the read call. If d_path is called
there then we have no problem.
Right, so I'd be happier if we could modify sunrpc_cache_pipe_upcall to
skip calling cache_request and instead delay that until cache_read(). I
think that should be possible.
--b.