nfsd: allow root to set uid and gid on create
authorJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 30 Nov 2007 21:55:23 +0000 (16:55 -0500)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 1 Feb 2008 21:42:07 +0000 (16:42 -0500)
commit5c002b3bb294a637312cab7ad92a0deafa05a758
tree0183f792fe61fe1bb6a117baf385020feb5b085c
parent29dbf546159f5701e11de26fa2da5c4a962e0f83
nfsd: allow root to set uid and gid on create

The server silently ignores attempts to set the uid and gid on create.
Based on the comment, this appears to have been done to prevent some
overly-clever IRIX client from causing itself problems.

Perhaps we should remove that hack completely.  For now, at least, it
makes sense to allow root (when no_root_squash is set) to set uid and
gid.

While we're there, since nfsd_create and nfsd_create_v3 share the same
logic, pull that out into a separate function.  And spell out the
individual modifications of ia_valid instead of doing them both at once
inside a conditional.

Thanks to Roger Willcocks <roger@filmlight.ltd.uk> for the bug report
and original patch on which this is based.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/vfs.c