MFC: r264842
Modify the NFSv4 client's Pathconf RPC (actually a Getattr Op.) so that it only does the RPC for names that are answered by the RPC. Doing the RPC for other names is harmless, but unnecessary.
This commit is contained in:
parent
d41ec318f9
commit
bd43d1e404
@ -3430,12 +3430,15 @@ nfs_pathconf(struct vop_pathconf_args *ap)
|
||||
struct thread *td = curthread;
|
||||
int attrflag, error;
|
||||
|
||||
if (NFS_ISV4(vp) || (NFS_ISV3(vp) && (ap->a_name == _PC_LINK_MAX ||
|
||||
if ((NFS_ISV34(vp) && (ap->a_name == _PC_LINK_MAX ||
|
||||
ap->a_name == _PC_NAME_MAX || ap->a_name == _PC_CHOWN_RESTRICTED ||
|
||||
ap->a_name == _PC_NO_TRUNC))) {
|
||||
ap->a_name == _PC_NO_TRUNC)) ||
|
||||
(NFS_ISV4(vp) && ap->a_name == _PC_ACL_NFS4)) {
|
||||
/*
|
||||
* Since only the above 4 a_names are returned by the NFSv3
|
||||
* Pathconf RPC, there is no point in doing it for others.
|
||||
* For NFSv4, the Pathconf RPC (actually a Getattr Op.) can
|
||||
* be used for _PC_NFS4_ACL as well.
|
||||
*/
|
||||
error = nfsrpc_pathconf(vp, &pc, td->td_ucred, td, &nfsva,
|
||||
&attrflag, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user