mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-03-10 20:36:21 +03:00
libspl: move kmem definitions from zfs_context.h
Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Rob Norris <robn@despairlabs.com> Closes #17861
This commit is contained in:
parent
ee89fefe4d
commit
8b5d919d4e
@ -92,7 +92,6 @@ extern "C" {
|
||||
#include <string.h>
|
||||
#include <setjmp.h>
|
||||
#include <assert.h>
|
||||
#include <umem.h>
|
||||
#include <limits.h>
|
||||
#include <atomic.h>
|
||||
#include <dirent.h>
|
||||
@ -126,6 +125,7 @@ extern "C" {
|
||||
#include <sys/taskq.h>
|
||||
#include <sys/tsd.h>
|
||||
#include <sys/procfs_list.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/zfs_delay.h>
|
||||
|
||||
#include <sys/zfs_context_os.h>
|
||||
@ -183,43 +183,6 @@ extern "C" {
|
||||
typedef off_t loff_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Kernel memory
|
||||
*/
|
||||
#define KM_SLEEP UMEM_NOFAIL
|
||||
#define KM_PUSHPAGE KM_SLEEP
|
||||
#define KM_NOSLEEP UMEM_DEFAULT
|
||||
#define KM_NORMALPRI 0 /* not needed with UMEM_DEFAULT */
|
||||
#define KMC_NODEBUG UMC_NODEBUG
|
||||
#define KMC_KVMEM 0x0
|
||||
#define KMC_RECLAIMABLE 0x0
|
||||
#define kmem_alloc(_s, _f) umem_alloc(_s, _f)
|
||||
#define kmem_zalloc(_s, _f) umem_zalloc(_s, _f)
|
||||
#define kmem_free(_b, _s) umem_free(_b, _s)
|
||||
#define vmem_alloc(_s, _f) kmem_alloc(_s, _f)
|
||||
#define vmem_zalloc(_s, _f) kmem_zalloc(_s, _f)
|
||||
#define vmem_free(_b, _s) kmem_free(_b, _s)
|
||||
#define kmem_cache_create(_a, _b, _c, _d, _e, _f, _g, _h, _i) \
|
||||
umem_cache_create(_a, _b, _c, _d, _e, _f, _g, _h, _i)
|
||||
#define kmem_cache_destroy(_c) umem_cache_destroy(_c)
|
||||
#define kmem_cache_alloc(_c, _f) umem_cache_alloc(_c, _f)
|
||||
#define kmem_cache_free(_c, _b) umem_cache_free(_c, _b)
|
||||
#define kmem_debugging() 0
|
||||
#define kmem_cache_reap_now(_c) umem_cache_reap_now(_c);
|
||||
#define kmem_cache_set_move(_c, _cb) /* nothing */
|
||||
#define POINTER_INVALIDATE(_pp) /* nothing */
|
||||
#define POINTER_IS_VALID(_p) 0
|
||||
|
||||
typedef umem_cache_t kmem_cache_t;
|
||||
|
||||
typedef enum kmem_cbrc {
|
||||
KMEM_CBRC_YES,
|
||||
KMEM_CBRC_NO,
|
||||
KMEM_CBRC_LATER,
|
||||
KMEM_CBRC_DONT_NEED,
|
||||
KMEM_CBRC_DONT_KNOW
|
||||
} kmem_cbrc_t;
|
||||
|
||||
#define XVA_MAPSIZE 3
|
||||
#define XVA_MAGIC 0x78766174
|
||||
|
||||
@ -373,16 +336,6 @@ typedef struct callb_cpr {
|
||||
#define INGLOBALZONE(z) (1)
|
||||
extern uint32_t zone_get_hostid(void *zonep);
|
||||
|
||||
extern char *kmem_vasprintf(const char *fmt, va_list adx);
|
||||
extern char *kmem_asprintf(const char *fmt, ...);
|
||||
#define kmem_strfree(str) kmem_free((str), strlen(str) + 1)
|
||||
#define kmem_strdup(s) strdup(s)
|
||||
|
||||
#ifndef __cplusplus
|
||||
extern int kmem_scnprintf(char *restrict str, size_t size,
|
||||
const char *restrict fmt, ...);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Hostname information
|
||||
*/
|
||||
@ -438,12 +391,6 @@ void ksiddomain_rele(ksiddomain_t *);
|
||||
#define ddi_log_sysevent(_a, _b, _c, _d, _e, _f, _g) \
|
||||
sysevent_post_event(_c, _d, _b, "libzpool", _e, _f)
|
||||
|
||||
typedef int fstrans_cookie_t;
|
||||
|
||||
extern fstrans_cookie_t spl_fstrans_mark(void);
|
||||
extern void spl_fstrans_unmark(fstrans_cookie_t);
|
||||
extern int kmem_cache_reap_active(void);
|
||||
|
||||
/*
|
||||
* Kernel modules
|
||||
*/
|
||||
|
||||
@ -20,27 +20,67 @@
|
||||
* CDDL HEADER END
|
||||
*/
|
||||
/*
|
||||
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
|
||||
* Use is subject to license terms.
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
|
||||
* Copyright (c) 2012, 2018 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_KMEM_H
|
||||
#define _SYS_KMEM_H
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <umem.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*
|
||||
* Kernel memory
|
||||
*/
|
||||
#define KM_SLEEP UMEM_NOFAIL
|
||||
#define KM_PUSHPAGE KM_SLEEP
|
||||
#define KM_NOSLEEP UMEM_DEFAULT
|
||||
#define KM_NORMALPRI 0 /* not needed with UMEM_DEFAULT */
|
||||
#define KMC_NODEBUG UMC_NODEBUG
|
||||
#define KMC_KVMEM 0x0
|
||||
#define KMC_RECLAIMABLE 0x0
|
||||
#define kmem_alloc(_s, _f) umem_alloc(_s, _f)
|
||||
#define kmem_zalloc(_s, _f) umem_zalloc(_s, _f)
|
||||
#define kmem_free(_b, _s) umem_free(_b, _s)
|
||||
#define vmem_alloc(_s, _f) kmem_alloc(_s, _f)
|
||||
#define vmem_zalloc(_s, _f) kmem_zalloc(_s, _f)
|
||||
#define vmem_free(_b, _s) kmem_free(_b, _s)
|
||||
#define kmem_cache_create(_a, _b, _c, _d, _e, _f, _g, _h, _i) \
|
||||
umem_cache_create(_a, _b, _c, _d, _e, _f, _g, _h, _i)
|
||||
#define kmem_cache_destroy(_c) umem_cache_destroy(_c)
|
||||
#define kmem_cache_alloc(_c, _f) umem_cache_alloc(_c, _f)
|
||||
#define kmem_cache_free(_c, _b) umem_cache_free(_c, _b)
|
||||
#define kmem_debugging() 0
|
||||
#define kmem_cache_reap_now(_c) umem_cache_reap_now(_c);
|
||||
extern int kmem_cache_reap_active(void);
|
||||
#define kmem_cache_set_move(_c, _cb) /* nothing */
|
||||
#define POINTER_INVALIDATE(_pp) /* nothing */
|
||||
#define POINTER_IS_VALID(_p) 0
|
||||
|
||||
#define KM_SLEEP 0x00000000 /* same as KM_SLEEP */
|
||||
#define KM_NOSLEEP 0x00000001 /* same as KM_NOSLEEP */
|
||||
extern char *kmem_vasprintf(const char *fmt, va_list adx);
|
||||
extern char *kmem_asprintf(const char *fmt, ...);
|
||||
#define kmem_strfree(str) kmem_free((str), strlen(str) + 1)
|
||||
#define kmem_strdup(s) strdup(s)
|
||||
|
||||
#define kmem_alloc(size, flags) ((void) sizeof (flags), malloc(size))
|
||||
#define kmem_free(ptr, size) ((void) sizeof (size), free(ptr))
|
||||
extern int kmem_scnprintf(char *restrict str, size_t size,
|
||||
const char *restrict fmt, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
typedef umem_cache_t kmem_cache_t;
|
||||
|
||||
typedef enum kmem_cbrc {
|
||||
KMEM_CBRC_YES,
|
||||
KMEM_CBRC_NO,
|
||||
KMEM_CBRC_LATER,
|
||||
KMEM_CBRC_DONT_NEED,
|
||||
KMEM_CBRC_DONT_KNOW
|
||||
} kmem_cbrc_t;
|
||||
|
||||
typedef int fstrans_cookie_t;
|
||||
|
||||
extern fstrans_cookie_t spl_fstrans_mark(void);
|
||||
extern void spl_fstrans_unmark(fstrans_cookie_t);
|
||||
|
||||
#endif /* _SYS_KMEM_H */
|
||||
|
||||
@ -42,6 +42,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user