Remove Giant asserts. Update comment.
Owning Giant in the init/uninit is accidental due to the moment where VFS modules initialization is performed, and is not enforced by the VFS interface. The Giant lock does not prevent a parallel execution of the code, it is VFS which implements the proper protocol. Approved by: des (pseudofs maintainer) Sponsored by: The FreeBSD Foundation MFC after: 1 week
This commit is contained in:
parent
6828ba639a
commit
29ffb32ccd
@ -383,8 +383,6 @@ pfs_init(struct pfs_info *pi, struct vfsconf *vfc)
|
||||
struct pfs_node *root;
|
||||
int error;
|
||||
|
||||
mtx_assert(&Giant, MA_OWNED);
|
||||
|
||||
pfs_fileno_init(pi);
|
||||
|
||||
/* set up the root directory */
|
||||
@ -414,8 +412,6 @@ pfs_uninit(struct pfs_info *pi, struct vfsconf *vfc)
|
||||
{
|
||||
int error;
|
||||
|
||||
mtx_assert(&Giant, MA_OWNED);
|
||||
|
||||
pfs_destroy(pi->pi_root);
|
||||
pi->pi_root = NULL;
|
||||
pfs_fileno_uninit(pi);
|
||||
|
@ -189,9 +189,9 @@ typedef int (*pfs_destroy_t)(PFS_DESTROY_ARGS);
|
||||
/*
|
||||
* pfs_info: describes a pseudofs instance
|
||||
*
|
||||
* The pi_mutex is only used to avoid using the global subr_unit lock for
|
||||
* unrhdr. The rest of struct pfs_info is only modified while Giant is
|
||||
* held (during vfs_init() and vfs_uninit()).
|
||||
* The pi_mutex is only used to avoid using the global subr_unit lock
|
||||
* for unrhdr. The rest of struct pfs_info is only modified during
|
||||
* vfs_init() and vfs_uninit() of the consumer filesystem.
|
||||
*/
|
||||
struct pfs_info {
|
||||
char pi_name[PFS_FSNAMELEN];
|
||||
|
@ -52,7 +52,6 @@ void
|
||||
pfs_fileno_init(struct pfs_info *pi)
|
||||
{
|
||||
|
||||
mtx_assert(&Giant, MA_OWNED);
|
||||
mtx_init(&pi->pi_mutex, "pfs_fileno", NULL, MTX_DEF);
|
||||
pi->pi_unrhdr = new_unrhdr(3, INT_MAX / NO_PID, &pi->pi_mutex);
|
||||
}
|
||||
@ -64,7 +63,6 @@ void
|
||||
pfs_fileno_uninit(struct pfs_info *pi)
|
||||
{
|
||||
|
||||
mtx_assert(&Giant, MA_OWNED);
|
||||
delete_unrhdr(pi->pi_unrhdr);
|
||||
pi->pi_unrhdr = NULL;
|
||||
mtx_destroy(&pi->pi_mutex);
|
||||
|
@ -84,7 +84,6 @@ void
|
||||
pfs_vncache_load(void)
|
||||
{
|
||||
|
||||
mtx_assert(&Giant, MA_OWNED);
|
||||
mtx_init(&pfs_vncache_mutex, "pfs_vncache", NULL, MTX_DEF);
|
||||
pfs_exit_tag = EVENTHANDLER_REGISTER(process_exit, pfs_exit, NULL,
|
||||
EVENTHANDLER_PRI_ANY);
|
||||
@ -97,7 +96,6 @@ void
|
||||
pfs_vncache_unload(void)
|
||||
{
|
||||
|
||||
mtx_assert(&Giant, MA_OWNED);
|
||||
EVENTHANDLER_DEREGISTER(process_exit, pfs_exit_tag);
|
||||
KASSERT(pfs_vncache_entries == 0,
|
||||
("%d vncache entries remaining", pfs_vncache_entries));
|
||||
|
Loading…
Reference in New Issue
Block a user