Author: rmacklem
Date: Mon May 23 22:31:42 2011
New Revision: 222233
URL: http://svn.freebsd.org/changeset/base/222233

Log:
  Set the MNT_NFS4ACLS flag for an NFSv4 client mount
  if the NFSv4 server supports it. Requested by trasz.
  
  MFC after:    2 weeks

Modified:
  head/sys/fs/nfsclient/nfs_clvfsops.c

Modified: head/sys/fs/nfsclient/nfs_clvfsops.c
==============================================================================
--- head/sys/fs/nfsclient/nfs_clvfsops.c        Mon May 23 22:02:15 2011        
(r222232)
+++ head/sys/fs/nfsclient/nfs_clvfsops.c        Mon May 23 22:31:42 2011        
(r222233)
@@ -79,6 +79,7 @@ FEATURE(nfscl, "NFSv4 client");
 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");
@@ -1331,6 +1332,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.
                 */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to