cvs commit: src/sys/kern init_sysent.c vfs_syscalls.c

John Baldwin jhb at FreeBSD.org
Mon Sep 26 08:44:48 PDT 2005


On Saturday 24 September 2005 07:47 pm, Christian S.J. Peron wrote:
> csjp        2005-09-24 23:47:04 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/kern             init_sysent.c vfs_syscalls.c
>   Log:
>   Implement new world order in VFS locking for extended attributes. This
> will remove the unconditional acquisition of Giant for extended attribute
> related operations. If the file system is set as being MP safe and
> debug.mpsafevfs is 1, do not pickup Giant.
>
>   Mark the following system calls as being MP safe so we no longer pickup
> Giant in the system call handler:
>
>   o extattrctl
>   o extattr_set_file
>   o extattr_get_file
>   o extattr_delete_file
>   o extattr_set_fd
>   o extattr_get_fd
>   o extattr_delete_fd
>   o extattr_set_link
>   o extattr_get_link
>   o extattr_delete_link
>   o extattr_list_file
>   o extattr_list_link
>   o extattr_list_fd
>
>   -Pass MPSAFE flags to namei(9) lookup and introduce vfslocked variable
> which will keep track of any Giant acquisitions.
>   -Wrap any fd operations which manipulate vnodes in VFS_{UN}LOCK_GIANT
>   -Drop VFS_ASSERT_GIANT into function which operate on vnodes to ensure
> that we are sufficiently protected.
>
>   I've tested these changes with various TrustedBSD MAC policies which use
>   extended attribute a lot on SMP and UP systems (thanks to Scott Long for
>   making some SMP hardware available to me for testing).
>
>   Discussed with: jeff
>   Requested by:   jhb, rwatson
>
>   Revision  Changes    Path
>   1.196     +13 -13    src/sys/kern/init_sysent.c
>   1.395     +62 -29    src/sys/kern/vfs_syscalls.c

Hmm, it seems you hacked on init_sysent.c directly rather than modifying 
syscalls.master and then running 'make sysent' to regenerate the appropriate 
files and doing a follow up commit.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-src mailing list