svn commit: r222789 - stable/8/sys/fs/nfsclient

Rick Macklem rmacklem at FreeBSD.org
Mon Jun 6 21:51:36 UTC 2011


Author: rmacklem
Date: Mon Jun  6 21:51:35 2011
New Revision: 222789
URL: http://svn.freebsd.org/changeset/base/222789

Log:
  MFC: r222233
  Set the MNT_NFS4ACLS flag for an NFSv4 client mount
  if the NFSv4 server supports it.

Modified:
  stable/8/sys/fs/nfsclient/nfs_clvfsops.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/fs/nfsclient/nfs_clvfsops.c
==============================================================================
--- stable/8/sys/fs/nfsclient/nfs_clvfsops.c	Mon Jun  6 21:48:51 2011	(r222788)
+++ stable/8/sys/fs/nfsclient/nfs_clvfsops.c	Mon Jun  6 21:51:35 2011	(r222789)
@@ -77,6 +77,7 @@ __FBSDID("$FreeBSD$");
 extern int nfscl_ticks;
 extern struct timeval nfsboottime;
 extern struct nfsstats	newnfsstats;
+extern int nfsrv_useacl;
 
 MALLOC_DEFINE(M_NEWNFSREQ, "newnfsclient_req", "New NFS request header");
 MALLOC_DEFINE(M_NEWNFSMNT, "newnfsmnt", "New NFS mount struct");
@@ -1327,6 +1328,15 @@ mountnfs(struct nfs_args *argp, struct m
 		if (argp->flags & NFSMNT_NFSV3)
 			ncl_fsinfo(nmp, *vpp, cred, td);
 	
+		/* Mark if the mount point supports NFSv4 ACLs. */
+		if ((argp->flags & NFSMNT_NFSV4) != 0 && nfsrv_useacl != 0 &&
+		    ret == 0 &&
+		    NFSISSET_ATTRBIT(&nfsva.na_suppattr, NFSATTRBIT_ACL)) {
+			MNT_ILOCK(mp);
+			mp->mnt_flag |= MNT_NFS4ACLS;
+			MNT_IUNLOCK(mp);
+		}
+	
 		/*
 		 * Lose the lock but keep the ref.
 		 */


More information about the svn-src-stable mailing list