rpc_pipe: set dentry operations at d_alloc time
authorJeff Layton <jlayton@redhat.com>
Tue, 2 Jul 2013 17:00:52 +0000 (13:00 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 9 Jul 2013 21:16:39 +0000 (17:16 -0400)
commit76fa66657900071016f2bae61de28f059f3f2abf
tree79fa6e7b03a149acaa1c6ac1ca29b5c6b6c05685
parentcda57a1ef6f0da7e24f392ffdf00538ec0480310
rpc_pipe: set dentry operations at d_alloc time

Currently the way these get set is a little convoluted. If the dentry is
allocated via lookup from userland, then it gets set by simple_lookup.
If it gets allocated when the kernel is populating the directory, then
it gets set via __rpc_lookup_create_exclusive, which has to check
whether they might already be set. Between both of these, this ensures
that all dentries have their d_op pointer set.

Instead of doing that, just have them set at d_alloc time by pointing
sb->s_d_op at them. With that change, we no longer want the lookup op
to set them, so we must move to using our own lookup routine.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/rpc_pipe.c