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-all mailing list