Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Sep 2005 11:45:42 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Christian S.J. Peron" <csjp@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern init_sysent.c vfs_syscalls.c
Message-ID:  <200509261145.43313.jhb@FreeBSD.org>
In-Reply-To: <200509242347.j8ONl4Rv030044@repoman.freebsd.org>
References:  <200509242347.j8ONl4Rv030044@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509261145.43313.jhb>