FreeBSD: Simplify INGLOBALZONE
FreeBSD's previous ZFS implemented INGLOBALZONE(thread) as (!jailed((thread)->td_ucred)) and passed curthread to INGLOBALZONE. We pass curproc instead of curthread, so we can achieve the same effect with (!jailed((proc)->p_ucred)). The implementation is trivial enough to fit on a single line in a define. We don't really need a whole separate function for something that's already macros all the way down. Eliminate in_globalzone. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <freqlabs@FreeBSD.org> Closes #10851
This commit is contained in:
parent
bbba0b7f93
commit
d6a779a278
|
@ -29,6 +29,8 @@
|
|||
#ifndef _OPENSOLARIS_SYS_ZONE_H_
|
||||
#define _OPENSOLARIS_SYS_ZONE_H_
|
||||
|
||||
#include <sys/jail.h>
|
||||
|
||||
/*
|
||||
* Macros to help with zone visibility restrictions.
|
||||
*/
|
||||
|
@ -36,12 +38,9 @@
|
|||
#define GLOBAL_ZONEID 0
|
||||
|
||||
/*
|
||||
* Is thread in the global zone?
|
||||
* Is proc in the global zone?
|
||||
*/
|
||||
#define INGLOBALZONE(p) in_globalzone((p))
|
||||
|
||||
|
||||
extern boolean_t in_globalzone(struct proc *);
|
||||
#define INGLOBALZONE(proc) (!jailed((proc)->p_ucred))
|
||||
|
||||
/*
|
||||
* Attach the given dataset to the given jail.
|
||||
|
|
|
@ -242,12 +242,6 @@ zone_get_hostid(void *ptr)
|
|||
return ((uint32_t)curthread->td_ucred->cr_prison->pr_hostid);
|
||||
}
|
||||
|
||||
boolean_t
|
||||
in_globalzone(struct proc *p)
|
||||
{
|
||||
return (!jailed(FIRST_THREAD_IN_PROC((p))->td_ucred));
|
||||
}
|
||||
|
||||
static void
|
||||
zone_sysinit(void *arg __unused)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue