Fixed namespace pollution in uma changes:

- use `struct uma_zone *' instead of uma_zone_t, so that <sys/uma.h> isn't
  a prerequisite.
- don't include <sys/uma.h>.
Namespace pollution makes "opaque" types like uma_zone_t perfectly
non-opaque.  Such types should never be used (see style(9)).

"Fixed" subsequently grown dependencies of this header on its own
pollution by polluting explicitly:
- include <sys/mutex.h> and its prerequisite <sys/lock.h> instead of
  depending on namespace pollution 2 layers deep in <sys/uma.h>.
This commit is contained in:
Bruce Evans 2002-09-10 13:48:21 +00:00
parent 6eae34fb52
commit bb77b79340

View File

@ -46,11 +46,12 @@
#include <sys/queue.h>
#include <sys/_label.h>
#include <sys/_lock.h>
#include <sys/lock.h>
#include <sys/_mutex.h>
#include <sys/mutex.h>
#include <sys/selinfo.h>
#include <sys/uio.h>
#include <sys/acl.h>
#include <vm/uma.h>
/*
* The vnode is the focus of all file activity in UNIX. There is a
@ -361,7 +362,7 @@ extern int vttoif_tab[];
*/
extern struct vnode *rootvnode; /* root (i.e. "/") vnode */
extern int desiredvnodes; /* number of vnodes desired */
extern uma_zone_t namei_zone;
extern struct uma_zone *namei_zone;
extern int prtactive; /* nonzero to call vprint() */
extern struct vattr va_null; /* predefined null vattr structure */
extern int vfs_ioopt;