cvs commit: src/sys/kern kern_acl.c
Christian S.J. Peron
csjp at FreeBSD.org
Sat Sep 17 15:01:15 PDT 2005
csjp 2005-09-17 22:01:14 UTC
FreeBSD src repository
Modified files:
sys/kern kern_acl.c
Log:
Implement new world order in VFS locking for ACLs. This will remove the
unconditional acquisition of Giant for ACL related operations. If the file
system is set as being MP safe and debug.mpsafevfs is 1, do not pickup
giant.
For any operations which require namei(9) lookups:
__acl_get_file
__acl_get_link
__acl_set_file
__acl_set_link
__acl_delete_file
__acl_delete_link
__acl_aclcheck_file
__acl_aclcheck_link
-Set the MPSAFE flag in NDINIT
-Initialize vfslocked variable using the NDHASGIANT macro
For functions which operate on fds, make sure the operations are locked:
__acl_get_fd
__acl_set_fd
__acl_delete_fd
__acl_aclcheck_fd
-Initialize vfslocked using VFS_LOCK_GIANT before we manipulate the vnode
Discussed with: jeff
Revision Changes Path
1.47 +45 -44 src/sys/kern/kern_acl.c
More information about the cvs-src
mailing list