Add prototypes
Add prototypes/move prototypes to header files. Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Closes #10470
This commit is contained in:
parent
60356b1a21
commit
0ce2de637b
|
@ -148,6 +148,7 @@ int no_memory(libzfs_handle_t *);
|
|||
|
||||
int zfs_standard_error(libzfs_handle_t *, int, const char *);
|
||||
int zfs_standard_error_fmt(libzfs_handle_t *, int, const char *, ...);
|
||||
void zfs_setprop_error(libzfs_handle_t *, zfs_prop_t, int, char *);
|
||||
int zpool_standard_error(libzfs_handle_t *, int, const char *);
|
||||
int zpool_standard_error_fmt(libzfs_handle_t *, int, const char *, ...);
|
||||
|
||||
|
|
|
@ -136,6 +136,7 @@ extern void zfs_nicenum(uint64_t, char *, size_t);
|
|||
extern void zfs_nicenum_format(uint64_t, char *, size_t,
|
||||
enum zfs_nicenum_format);
|
||||
extern void zfs_nicetime(uint64_t, char *, size_t);
|
||||
extern void zfs_niceraw(uint64_t, char *, size_t);
|
||||
|
||||
#define nicenum(num, buf, size) zfs_nicenum(num, buf, size)
|
||||
|
||||
|
|
|
@ -27,4 +27,7 @@
|
|||
#define _SYS_VDEV_OS_H
|
||||
|
||||
extern int vdev_label_write_pad2(vdev_t *vd, const char *buf, size_t size);
|
||||
extern int vdev_geom_read_pool_label(const char *name, nvlist_t ***configs,
|
||||
uint64_t *count);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -153,6 +153,9 @@ typedef struct zfid_long {
|
|||
extern uint_t zfs_fsyncer_key;
|
||||
extern int zfs_super_owner;
|
||||
|
||||
extern void zfs_init(void);
|
||||
extern void zfs_fini(void);
|
||||
|
||||
extern int zfs_suspend_fs(zfsvfs_t *zfsvfs);
|
||||
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
||||
extern int zfs_end_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
||||
|
|
|
@ -104,27 +104,45 @@
|
|||
trace_zfs_##name((uintptr_t)(arg1), (uintptr_t)(arg2), \
|
||||
(uintptr_t)(arg3), (uintptr_t)(arg4))
|
||||
|
||||
#define PROTO_DTRACE_PROBE(name) \
|
||||
noinline void trace_zfs_##name(void)
|
||||
#define PROTO_DTRACE_PROBE1(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t)
|
||||
#define PROTO_DTRACE_PROBE2(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t, uintptr_t)
|
||||
#define PROTO_DTRACE_PROBE3(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t, uintptr_t, \
|
||||
uintptr_t)
|
||||
#define PROTO_DTRACE_PROBE4(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t, uintptr_t, \
|
||||
uintptr_t, uintptr_t)
|
||||
|
||||
#if defined(CREATE_TRACE_POINTS)
|
||||
|
||||
#define FUNC_DTRACE_PROBE(name) \
|
||||
PROTO_DTRACE_PROBE(name); \
|
||||
noinline void trace_zfs_##name(void) { } \
|
||||
EXPORT_SYMBOL(trace_zfs_##name)
|
||||
|
||||
#define FUNC_DTRACE_PROBE1(name) \
|
||||
PROTO_DTRACE_PROBE1(name); \
|
||||
noinline void trace_zfs_##name(uintptr_t arg1) { } \
|
||||
EXPORT_SYMBOL(trace_zfs_##name)
|
||||
|
||||
#define FUNC_DTRACE_PROBE2(name) \
|
||||
PROTO_DTRACE_PROBE2(name); \
|
||||
noinline void trace_zfs_##name(uintptr_t arg1, \
|
||||
uintptr_t arg2) { } \
|
||||
EXPORT_SYMBOL(trace_zfs_##name)
|
||||
|
||||
#define FUNC_DTRACE_PROBE3(name) \
|
||||
PROTO_DTRACE_PROBE3(name); \
|
||||
noinline void trace_zfs_##name(uintptr_t arg1, \
|
||||
uintptr_t arg2, uintptr_t arg3) { } \
|
||||
EXPORT_SYMBOL(trace_zfs_##name)
|
||||
|
||||
#define FUNC_DTRACE_PROBE4(name) \
|
||||
PROTO_DTRACE_PROBE4(name); \
|
||||
noinline void trace_zfs_##name(uintptr_t arg1, \
|
||||
uintptr_t arg2, uintptr_t arg3, uintptr_t arg4) { } \
|
||||
EXPORT_SYMBOL(trace_zfs_##name)
|
||||
|
@ -146,19 +164,6 @@ EXPORT_SYMBOL(trace_zfs_##name)
|
|||
|
||||
#else /* CREATE_TRACE_POINTS */
|
||||
|
||||
#define PROTO_DTRACE_PROBE(name) \
|
||||
noinline void trace_zfs_##name(void)
|
||||
#define PROTO_DTRACE_PROBE1(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t)
|
||||
#define PROTO_DTRACE_PROBE2(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t, uintptr_t)
|
||||
#define PROTO_DTRACE_PROBE3(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t, uintptr_t, \
|
||||
uintptr_t)
|
||||
#define PROTO_DTRACE_PROBE4(name) \
|
||||
noinline void trace_zfs_##name(uintptr_t, uintptr_t, \
|
||||
uintptr_t, uintptr_t)
|
||||
|
||||
#define DEFINE_DTRACE_PROBE(name) PROTO_DTRACE_PROBE(name)
|
||||
#define DEFINE_DTRACE_PROBE1(name) PROTO_DTRACE_PROBE1(name)
|
||||
#define DEFINE_DTRACE_PROBE2(name) PROTO_DTRACE_PROBE2(name)
|
||||
|
|
|
@ -195,6 +195,9 @@ typedef struct zfid_long {
|
|||
#define SHORT_FID_LEN (sizeof (zfid_short_t) - sizeof (uint16_t))
|
||||
#define LONG_FID_LEN (sizeof (zfid_long_t) - sizeof (uint16_t))
|
||||
|
||||
extern void zfs_init(void);
|
||||
extern void zfs_fini(void);
|
||||
|
||||
extern int zfs_suspend_fs(zfsvfs_t *zfsvfs);
|
||||
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
||||
extern int zfs_end_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
extern ssize_t lcompat_sprintf(char *, size_t size, const char *, ...);
|
||||
extern int64_t lcompat_strtoll(const char *, char **);
|
||||
extern int64_t lcompat_pow(int64_t, int64_t);
|
||||
extern int lcompat_hashnum(int64_t);
|
||||
|
||||
/*
|
||||
** ==================================================================
|
||||
|
|
|
@ -133,6 +133,8 @@ typedef struct raidz_map {
|
|||
#define RAIDZ_ORIGINAL_IMPL (INT_MAX)
|
||||
|
||||
extern const raidz_impl_ops_t vdev_raidz_scalar_impl;
|
||||
extern boolean_t raidz_will_scalar_work(void);
|
||||
|
||||
#if defined(__x86_64) && defined(HAVE_SSE2) /* only x86_64 for now */
|
||||
extern const raidz_impl_ops_t vdev_raidz_sse2_impl;
|
||||
#endif
|
||||
|
|
|
@ -496,6 +496,7 @@ extern void zil_itx_assign(zilog_t *zilog, itx_t *itx, dmu_tx_t *tx);
|
|||
extern void zil_async_to_sync(zilog_t *zilog, uint64_t oid);
|
||||
extern void zil_commit(zilog_t *zilog, uint64_t oid);
|
||||
extern void zil_commit_impl(zilog_t *zilog, uint64_t oid);
|
||||
extern void zil_remove_async(zilog_t *zilog, uint64_t oid);
|
||||
|
||||
extern int zil_reset(const char *osname, void *txarg);
|
||||
extern int zil_claim(struct dsl_pool *dp,
|
||||
|
|
|
@ -80,6 +80,11 @@ typedef struct umem_cache {
|
|||
int cache_cflags;
|
||||
} umem_cache_t;
|
||||
|
||||
/* Prototypes for functions to provide defaults for umem envvars */
|
||||
const char *_umem_debug_init(void);
|
||||
const char *_umem_options_init(void);
|
||||
const char *_umem_logging_init(void);
|
||||
|
||||
static inline void *
|
||||
umem_alloc(size_t size, int flags)
|
||||
{
|
||||
|
|
|
@ -1722,114 +1722,6 @@ zfs_fix_auto_resv(zfs_handle_t *zhp, nvlist_t *nvl)
|
|||
return (1);
|
||||
}
|
||||
|
||||
void
|
||||
zfs_setprop_error(libzfs_handle_t *hdl, zfs_prop_t prop, int err,
|
||||
char *errbuf)
|
||||
{
|
||||
switch (err) {
|
||||
|
||||
case ENOSPC:
|
||||
/*
|
||||
* For quotas and reservations, ENOSPC indicates
|
||||
* something different; setting a quota or reservation
|
||||
* doesn't use any disk space.
|
||||
*/
|
||||
switch (prop) {
|
||||
case ZFS_PROP_QUOTA:
|
||||
case ZFS_PROP_REFQUOTA:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"size is less than current used or "
|
||||
"reserved space"));
|
||||
(void) zfs_error(hdl, EZFS_PROPSPACE, errbuf);
|
||||
break;
|
||||
|
||||
case ZFS_PROP_RESERVATION:
|
||||
case ZFS_PROP_REFRESERVATION:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"size is greater than available space"));
|
||||
(void) zfs_error(hdl, EZFS_PROPSPACE, errbuf);
|
||||
break;
|
||||
|
||||
default:
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case EBUSY:
|
||||
(void) zfs_standard_error(hdl, EBUSY, errbuf);
|
||||
break;
|
||||
|
||||
case EROFS:
|
||||
(void) zfs_error(hdl, EZFS_DSREADONLY, errbuf);
|
||||
break;
|
||||
|
||||
case E2BIG:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property value too long"));
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
break;
|
||||
|
||||
case ENOTSUP:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"pool and or dataset must be upgraded to set this "
|
||||
"property or value"));
|
||||
(void) zfs_error(hdl, EZFS_BADVERSION, errbuf);
|
||||
break;
|
||||
|
||||
case ERANGE:
|
||||
if (prop == ZFS_PROP_COMPRESSION ||
|
||||
prop == ZFS_PROP_DNODESIZE ||
|
||||
prop == ZFS_PROP_RECORDSIZE) {
|
||||
(void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property setting is not allowed on "
|
||||
"bootable datasets"));
|
||||
(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
|
||||
} else if (prop == ZFS_PROP_CHECKSUM ||
|
||||
prop == ZFS_PROP_DEDUP) {
|
||||
(void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property setting is not allowed on "
|
||||
"root pools"));
|
||||
(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
break;
|
||||
|
||||
case EINVAL:
|
||||
if (prop == ZPROP_INVAL) {
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
break;
|
||||
|
||||
case EACCES:
|
||||
if (prop == ZFS_PROP_KEYLOCATION) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"keylocation may only be set on encryption roots"));
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
break;
|
||||
|
||||
case EOVERFLOW:
|
||||
/*
|
||||
* This platform can't address a volume this big.
|
||||
*/
|
||||
#ifdef _ILP32
|
||||
if (prop == ZFS_PROP_VOLSIZE) {
|
||||
(void) zfs_error(hdl, EZFS_VOLTOOBIG, errbuf);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
}
|
||||
|
||||
static boolean_t
|
||||
zfs_is_namespace_prop(zfs_prop_t prop)
|
||||
{
|
||||
|
|
|
@ -69,9 +69,6 @@
|
|||
#include <sys/socket.h>
|
||||
#include <sys/sha2.h>
|
||||
|
||||
/* in libzfs_dataset.c */
|
||||
extern void zfs_setprop_error(libzfs_handle_t *, zfs_prop_t, int, char *);
|
||||
|
||||
static int zfs_receive_impl(libzfs_handle_t *, const char *, const char *,
|
||||
recvflags_t *, int, const char *, nvlist_t *, avl_tree_t *, char **,
|
||||
const char *, nvlist_t *);
|
||||
|
|
|
@ -481,6 +481,114 @@ zfs_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...)
|
|||
return (-1);
|
||||
}
|
||||
|
||||
void
|
||||
zfs_setprop_error(libzfs_handle_t *hdl, zfs_prop_t prop, int err,
|
||||
char *errbuf)
|
||||
{
|
||||
switch (err) {
|
||||
|
||||
case ENOSPC:
|
||||
/*
|
||||
* For quotas and reservations, ENOSPC indicates
|
||||
* something different; setting a quota or reservation
|
||||
* doesn't use any disk space.
|
||||
*/
|
||||
switch (prop) {
|
||||
case ZFS_PROP_QUOTA:
|
||||
case ZFS_PROP_REFQUOTA:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"size is less than current used or "
|
||||
"reserved space"));
|
||||
(void) zfs_error(hdl, EZFS_PROPSPACE, errbuf);
|
||||
break;
|
||||
|
||||
case ZFS_PROP_RESERVATION:
|
||||
case ZFS_PROP_REFRESERVATION:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"size is greater than available space"));
|
||||
(void) zfs_error(hdl, EZFS_PROPSPACE, errbuf);
|
||||
break;
|
||||
|
||||
default:
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case EBUSY:
|
||||
(void) zfs_standard_error(hdl, EBUSY, errbuf);
|
||||
break;
|
||||
|
||||
case EROFS:
|
||||
(void) zfs_error(hdl, EZFS_DSREADONLY, errbuf);
|
||||
break;
|
||||
|
||||
case E2BIG:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property value too long"));
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
break;
|
||||
|
||||
case ENOTSUP:
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"pool and or dataset must be upgraded to set this "
|
||||
"property or value"));
|
||||
(void) zfs_error(hdl, EZFS_BADVERSION, errbuf);
|
||||
break;
|
||||
|
||||
case ERANGE:
|
||||
if (prop == ZFS_PROP_COMPRESSION ||
|
||||
prop == ZFS_PROP_DNODESIZE ||
|
||||
prop == ZFS_PROP_RECORDSIZE) {
|
||||
(void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property setting is not allowed on "
|
||||
"bootable datasets"));
|
||||
(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
|
||||
} else if (prop == ZFS_PROP_CHECKSUM ||
|
||||
prop == ZFS_PROP_DEDUP) {
|
||||
(void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"property setting is not allowed on "
|
||||
"root pools"));
|
||||
(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
break;
|
||||
|
||||
case EINVAL:
|
||||
if (prop == ZPROP_INVAL) {
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
break;
|
||||
|
||||
case EACCES:
|
||||
if (prop == ZFS_PROP_KEYLOCATION) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"keylocation may only be set on encryption roots"));
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
} else {
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
break;
|
||||
|
||||
case EOVERFLOW:
|
||||
/*
|
||||
* This platform can't address a volume this big.
|
||||
*/
|
||||
#ifdef _ILP32
|
||||
if (prop == ZFS_PROP_VOLSIZE) {
|
||||
(void) zfs_error(hdl, EZFS_VOLTOOBIG, errbuf);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
(void) zfs_standard_error(hdl, err, errbuf);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
zpool_standard_error(libzfs_handle_t *hdl, int error, const char *msg)
|
||||
{
|
||||
|
|
|
@ -25,18 +25,6 @@
|
|||
#if defined(__x86_64)
|
||||
|
||||
#include <sys/simd.h>
|
||||
|
||||
/* These functions are used to execute amd64 instructions for AMD or Intel: */
|
||||
extern int rijndael_key_setup_enc_amd64(uint32_t rk[],
|
||||
const uint32_t cipherKey[], int keyBits);
|
||||
extern int rijndael_key_setup_dec_amd64(uint32_t rk[],
|
||||
const uint32_t cipherKey[], int keyBits);
|
||||
extern void aes_encrypt_amd64(const uint32_t rk[], int Nr,
|
||||
const uint32_t pt[4], uint32_t ct[4]);
|
||||
extern void aes_decrypt_amd64(const uint32_t rk[], int Nr,
|
||||
const uint32_t ct[4], uint32_t pt[4]);
|
||||
|
||||
|
||||
#include <aes/aes_impl.h>
|
||||
|
||||
/*
|
||||
|
|
|
@ -12,14 +12,6 @@
|
|||
#include <sys/skein.h> /* get the Skein API definitions */
|
||||
#include "skein_impl.h" /* get internal definitions */
|
||||
|
||||
/* External function to process blkCnt (nonzero) full block(s) of data. */
|
||||
void Skein_256_Process_Block(Skein_256_Ctxt_t *ctx, const uint8_t *blkPtr,
|
||||
size_t blkCnt, size_t byteCntAdd);
|
||||
void Skein_512_Process_Block(Skein_512_Ctxt_t *ctx, const uint8_t *blkPtr,
|
||||
size_t blkCnt, size_t byteCntAdd);
|
||||
void Skein1024_Process_Block(Skein1024_Ctxt_t *ctx, const uint8_t *blkPtr,
|
||||
size_t blkCnt, size_t byteCntAdd);
|
||||
|
||||
/* 256-bit Skein */
|
||||
/* init the context for a straight hashing operation */
|
||||
int
|
||||
|
|
|
@ -281,4 +281,12 @@ extern const uint64_t SKEIN1024_IV_384[];
|
|||
extern const uint64_t SKEIN1024_IV_512[];
|
||||
extern const uint64_t SKEIN1024_IV_1024[];
|
||||
|
||||
/* Functions to process blkCnt (nonzero) full block(s) of data. */
|
||||
void Skein_256_Process_Block(Skein_256_Ctxt_t *ctx, const uint8_t *blkPtr,
|
||||
size_t blkCnt, size_t byteCntAdd);
|
||||
void Skein_512_Process_Block(Skein_512_Ctxt_t *ctx, const uint8_t *blkPtr,
|
||||
size_t blkCnt, size_t byteCntAdd);
|
||||
void Skein1024_Process_Block(Skein1024_Ctxt_t *ctx, const uint8_t *blkPtr,
|
||||
size_t blkCnt, size_t byteCntAdd);
|
||||
|
||||
#endif /* _SKEIN_IMPL_H_ */
|
||||
|
|
|
@ -195,6 +195,16 @@ struct aes_impl_ops {
|
|||
extern const aes_impl_ops_t aes_generic_impl;
|
||||
#if defined(__x86_64)
|
||||
extern const aes_impl_ops_t aes_x86_64_impl;
|
||||
|
||||
/* These functions are used to execute amd64 instructions for AMD or Intel: */
|
||||
extern int rijndael_key_setup_enc_amd64(uint32_t rk[],
|
||||
const uint32_t cipherKey[], int keyBits);
|
||||
extern int rijndael_key_setup_dec_amd64(uint32_t rk[],
|
||||
const uint32_t cipherKey[], int keyBits);
|
||||
extern void aes_encrypt_amd64(const uint32_t rk[], int Nr,
|
||||
const uint32_t pt[4], uint32_t ct[4]);
|
||||
extern void aes_decrypt_amd64(const uint32_t rk[], int Nr,
|
||||
const uint32_t ct[4], uint32_t pt[4]);
|
||||
#endif
|
||||
#if defined(__x86_64) && defined(HAVE_AES)
|
||||
extern const aes_impl_ops_t aes_aesni_impl;
|
||||
|
|
|
@ -281,8 +281,6 @@ union luai_Cast { double l_d; LUA_INT32 l_p[2]; };
|
|||
|
||||
#if defined(ltable_c) && !defined(luai_hashnum)
|
||||
|
||||
extern int lcompat_hashnum(int64_t);
|
||||
|
||||
#define luai_hashnum(i,n) (i = lcompat_hashnum(n))
|
||||
|
||||
#endif
|
||||
|
|
|
@ -159,7 +159,7 @@ typedef struct ace_list {
|
|||
* returns (-1 = less than, 0 = equal, 1 = greater than
|
||||
*/
|
||||
void
|
||||
ksort(caddr_t v, int n, int s, int (*f)())
|
||||
ksort(caddr_t v, int n, int s, int (*f)(void *, void *))
|
||||
{
|
||||
int g, i, j, ii;
|
||||
unsigned int *p1, *p2;
|
||||
|
|
|
@ -52,7 +52,8 @@ typedef struct callb {
|
|||
char c_flag; /* info about the callb state */
|
||||
uchar_t c_class; /* this callb's class */
|
||||
kcondvar_t c_done_cv; /* signal callb completion */
|
||||
boolean_t (*c_func)(); /* cb function: returns true if ok */
|
||||
boolean_t (*c_func)(void *, int);
|
||||
/* cb function: returns true if ok */
|
||||
void *c_arg; /* arg to c_func */
|
||||
char c_name[CB_MAXNAME+1]; /* debug:max func name length */
|
||||
} callb_t;
|
||||
|
|
|
@ -106,11 +106,6 @@ SYSCTL_INT(_vfs_zfs_version, OID_AUTO, ioctl, CTLFLAG_RD, &zfs_version_ioctl,
|
|||
|
||||
static struct cdev *zfsdev;
|
||||
|
||||
extern void zfs_init(void);
|
||||
extern void zfs_fini(void);
|
||||
extern void zfs_ioctl_init(void);
|
||||
|
||||
|
||||
static struct root_hold_token *zfs_root_token;
|
||||
|
||||
extern uint_t rrw_tsd_key;
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include <sys/zil.h>
|
||||
#include <sys/ddt.h>
|
||||
#include <sys/vdev_impl.h>
|
||||
#include <sys/vdev_os.h>
|
||||
#include <sys/vdev_removal.h>
|
||||
#include <sys/vdev_indirect_mapping.h>
|
||||
#include <sys/vdev_indirect_births.h>
|
||||
|
@ -72,9 +73,6 @@
|
|||
#include "zfs_prop.h"
|
||||
#include "zfs_comutil.h"
|
||||
|
||||
extern int vdev_geom_read_pool_label(const char *name, nvlist_t ***configs,
|
||||
uint64_t *count);
|
||||
|
||||
static nvlist_t *
|
||||
spa_generate_rootconf(const char *name)
|
||||
{
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <sys/spa.h>
|
||||
#include <sys/spa_impl.h>
|
||||
#include <sys/vdev_impl.h>
|
||||
#include <sys/vdev_os.h>
|
||||
#include <sys/fs/zfs.h>
|
||||
#include <sys/zio.h>
|
||||
#include <geom/geom.h>
|
||||
|
|
|
@ -31,8 +31,6 @@
|
|||
#include <sys/vdev_raidz_impl.h>
|
||||
#include <sys/simd.h>
|
||||
|
||||
extern boolean_t raidz_will_scalar_work(void);
|
||||
|
||||
/* Opaque implementation with NULL methods to represent original methods */
|
||||
static const raidz_impl_ops_t vdev_raidz_original_impl = {
|
||||
.name = "original",
|
||||
|
|
|
@ -222,9 +222,6 @@
|
|||
kmutex_t zfsdev_state_lock;
|
||||
zfsdev_state_t *zfsdev_state_list;
|
||||
|
||||
extern void zfs_init(void);
|
||||
extern void zfs_fini(void);
|
||||
|
||||
/*
|
||||
* Limit maximum nvlist size. We don't want users passing in insane values
|
||||
* for zc->zc_nvlist_src_size, since we will need to allocate that much memory.
|
||||
|
|
|
@ -408,8 +408,6 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t *tx, uint64_t txtype,
|
|||
zil_itx_assign(zilog, itx, tx);
|
||||
}
|
||||
|
||||
void zil_remove_async(zilog_t *zilog, uint64_t oid);
|
||||
|
||||
/*
|
||||
* Handles both TX_REMOVE and TX_RMDIR transactions.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue