mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
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(libzfs_handle_t *, int, const char *);
|
||||||
int zfs_standard_error_fmt(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(libzfs_handle_t *, int, const char *);
|
||||||
int zpool_standard_error_fmt(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,
|
extern void zfs_nicenum_format(uint64_t, char *, size_t,
|
||||||
enum zfs_nicenum_format);
|
enum zfs_nicenum_format);
|
||||||
extern void zfs_nicetime(uint64_t, char *, size_t);
|
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)
|
#define nicenum(num, buf, size) zfs_nicenum(num, buf, size)
|
||||||
|
|
||||||
|
@ -27,4 +27,7 @@
|
|||||||
#define _SYS_VDEV_OS_H
|
#define _SYS_VDEV_OS_H
|
||||||
|
|
||||||
extern int vdev_label_write_pad2(vdev_t *vd, const char *buf, size_t size);
|
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
|
#endif
|
||||||
|
@ -153,6 +153,9 @@ typedef struct zfid_long {
|
|||||||
extern uint_t zfs_fsyncer_key;
|
extern uint_t zfs_fsyncer_key;
|
||||||
extern int zfs_super_owner;
|
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_suspend_fs(zfsvfs_t *zfsvfs);
|
||||||
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
||||||
extern int zfs_end_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), \
|
trace_zfs_##name((uintptr_t)(arg1), (uintptr_t)(arg2), \
|
||||||
(uintptr_t)(arg3), (uintptr_t)(arg4))
|
(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)
|
#if defined(CREATE_TRACE_POINTS)
|
||||||
|
|
||||||
#define FUNC_DTRACE_PROBE(name) \
|
#define FUNC_DTRACE_PROBE(name) \
|
||||||
|
PROTO_DTRACE_PROBE(name); \
|
||||||
noinline void trace_zfs_##name(void) { } \
|
noinline void trace_zfs_##name(void) { } \
|
||||||
EXPORT_SYMBOL(trace_zfs_##name)
|
EXPORT_SYMBOL(trace_zfs_##name)
|
||||||
|
|
||||||
#define FUNC_DTRACE_PROBE1(name) \
|
#define FUNC_DTRACE_PROBE1(name) \
|
||||||
|
PROTO_DTRACE_PROBE1(name); \
|
||||||
noinline void trace_zfs_##name(uintptr_t arg1) { } \
|
noinline void trace_zfs_##name(uintptr_t arg1) { } \
|
||||||
EXPORT_SYMBOL(trace_zfs_##name)
|
EXPORT_SYMBOL(trace_zfs_##name)
|
||||||
|
|
||||||
#define FUNC_DTRACE_PROBE2(name) \
|
#define FUNC_DTRACE_PROBE2(name) \
|
||||||
|
PROTO_DTRACE_PROBE2(name); \
|
||||||
noinline void trace_zfs_##name(uintptr_t arg1, \
|
noinline void trace_zfs_##name(uintptr_t arg1, \
|
||||||
uintptr_t arg2) { } \
|
uintptr_t arg2) { } \
|
||||||
EXPORT_SYMBOL(trace_zfs_##name)
|
EXPORT_SYMBOL(trace_zfs_##name)
|
||||||
|
|
||||||
#define FUNC_DTRACE_PROBE3(name) \
|
#define FUNC_DTRACE_PROBE3(name) \
|
||||||
|
PROTO_DTRACE_PROBE3(name); \
|
||||||
noinline void trace_zfs_##name(uintptr_t arg1, \
|
noinline void trace_zfs_##name(uintptr_t arg1, \
|
||||||
uintptr_t arg2, uintptr_t arg3) { } \
|
uintptr_t arg2, uintptr_t arg3) { } \
|
||||||
EXPORT_SYMBOL(trace_zfs_##name)
|
EXPORT_SYMBOL(trace_zfs_##name)
|
||||||
|
|
||||||
#define FUNC_DTRACE_PROBE4(name) \
|
#define FUNC_DTRACE_PROBE4(name) \
|
||||||
|
PROTO_DTRACE_PROBE4(name); \
|
||||||
noinline void trace_zfs_##name(uintptr_t arg1, \
|
noinline void trace_zfs_##name(uintptr_t arg1, \
|
||||||
uintptr_t arg2, uintptr_t arg3, uintptr_t arg4) { } \
|
uintptr_t arg2, uintptr_t arg3, uintptr_t arg4) { } \
|
||||||
EXPORT_SYMBOL(trace_zfs_##name)
|
EXPORT_SYMBOL(trace_zfs_##name)
|
||||||
@ -146,19 +164,6 @@ EXPORT_SYMBOL(trace_zfs_##name)
|
|||||||
|
|
||||||
#else /* CREATE_TRACE_POINTS */
|
#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_PROBE(name) PROTO_DTRACE_PROBE(name)
|
||||||
#define DEFINE_DTRACE_PROBE1(name) PROTO_DTRACE_PROBE1(name)
|
#define DEFINE_DTRACE_PROBE1(name) PROTO_DTRACE_PROBE1(name)
|
||||||
#define DEFINE_DTRACE_PROBE2(name) PROTO_DTRACE_PROBE2(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 SHORT_FID_LEN (sizeof (zfid_short_t) - sizeof (uint16_t))
|
||||||
#define LONG_FID_LEN (sizeof (zfid_long_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_suspend_fs(zfsvfs_t *zfsvfs);
|
||||||
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
extern int zfs_resume_fs(zfsvfs_t *zfsvfs, struct dsl_dataset *ds);
|
||||||
extern int zfs_end_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 ssize_t lcompat_sprintf(char *, size_t size, const char *, ...);
|
||||||
extern int64_t lcompat_strtoll(const char *, char **);
|
extern int64_t lcompat_strtoll(const char *, char **);
|
||||||
extern int64_t lcompat_pow(int64_t, int64_t);
|
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)
|
#define RAIDZ_ORIGINAL_IMPL (INT_MAX)
|
||||||
|
|
||||||
extern const raidz_impl_ops_t vdev_raidz_scalar_impl;
|
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 */
|
#if defined(__x86_64) && defined(HAVE_SSE2) /* only x86_64 for now */
|
||||||
extern const raidz_impl_ops_t vdev_raidz_sse2_impl;
|
extern const raidz_impl_ops_t vdev_raidz_sse2_impl;
|
||||||
#endif
|
#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_async_to_sync(zilog_t *zilog, uint64_t oid);
|
||||||
extern void zil_commit(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_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_reset(const char *osname, void *txarg);
|
||||||
extern int zil_claim(struct dsl_pool *dp,
|
extern int zil_claim(struct dsl_pool *dp,
|
||||||
|
@ -80,6 +80,11 @@ typedef struct umem_cache {
|
|||||||
int cache_cflags;
|
int cache_cflags;
|
||||||
} umem_cache_t;
|
} 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 *
|
static inline void *
|
||||||
umem_alloc(size_t size, int flags)
|
umem_alloc(size_t size, int flags)
|
||||||
{
|
{
|
||||||
|
@ -1722,114 +1722,6 @@ zfs_fix_auto_resv(zfs_handle_t *zhp, nvlist_t *nvl)
|
|||||||
return (1);
|
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
|
static boolean_t
|
||||||
zfs_is_namespace_prop(zfs_prop_t prop)
|
zfs_is_namespace_prop(zfs_prop_t prop)
|
||||||
{
|
{
|
||||||
|
@ -69,9 +69,6 @@
|
|||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/sha2.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 *,
|
static int zfs_receive_impl(libzfs_handle_t *, const char *, const char *,
|
||||||
recvflags_t *, int, const char *, nvlist_t *, avl_tree_t *, char **,
|
recvflags_t *, int, const char *, nvlist_t *, avl_tree_t *, char **,
|
||||||
const char *, nvlist_t *);
|
const char *, nvlist_t *);
|
||||||
|
@ -481,6 +481,114 @@ zfs_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...)
|
|||||||
return (-1);
|
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
|
int
|
||||||
zpool_standard_error(libzfs_handle_t *hdl, int error, const char *msg)
|
zpool_standard_error(libzfs_handle_t *hdl, int error, const char *msg)
|
||||||
{
|
{
|
||||||
|
@ -25,18 +25,6 @@
|
|||||||
#if defined(__x86_64)
|
#if defined(__x86_64)
|
||||||
|
|
||||||
#include <sys/simd.h>
|
#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>
|
#include <aes/aes_impl.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -12,14 +12,6 @@
|
|||||||
#include <sys/skein.h> /* get the Skein API definitions */
|
#include <sys/skein.h> /* get the Skein API definitions */
|
||||||
#include "skein_impl.h" /* get internal 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 */
|
/* 256-bit Skein */
|
||||||
/* init the context for a straight hashing operation */
|
/* init the context for a straight hashing operation */
|
||||||
int
|
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_512[];
|
||||||
extern const uint64_t SKEIN1024_IV_1024[];
|
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_ */
|
#endif /* _SKEIN_IMPL_H_ */
|
||||||
|
@ -195,6 +195,16 @@ struct aes_impl_ops {
|
|||||||
extern const aes_impl_ops_t aes_generic_impl;
|
extern const aes_impl_ops_t aes_generic_impl;
|
||||||
#if defined(__x86_64)
|
#if defined(__x86_64)
|
||||||
extern const aes_impl_ops_t aes_x86_64_impl;
|
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
|
#endif
|
||||||
#if defined(__x86_64) && defined(HAVE_AES)
|
#if defined(__x86_64) && defined(HAVE_AES)
|
||||||
extern const aes_impl_ops_t aes_aesni_impl;
|
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)
|
#if defined(ltable_c) && !defined(luai_hashnum)
|
||||||
|
|
||||||
extern int lcompat_hashnum(int64_t);
|
|
||||||
|
|
||||||
#define luai_hashnum(i,n) (i = lcompat_hashnum(n))
|
#define luai_hashnum(i,n) (i = lcompat_hashnum(n))
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -159,7 +159,7 @@ typedef struct ace_list {
|
|||||||
* returns (-1 = less than, 0 = equal, 1 = greater than
|
* returns (-1 = less than, 0 = equal, 1 = greater than
|
||||||
*/
|
*/
|
||||||
void
|
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;
|
int g, i, j, ii;
|
||||||
unsigned int *p1, *p2;
|
unsigned int *p1, *p2;
|
||||||
|
@ -52,7 +52,8 @@ typedef struct callb {
|
|||||||
char c_flag; /* info about the callb state */
|
char c_flag; /* info about the callb state */
|
||||||
uchar_t c_class; /* this callb's class */
|
uchar_t c_class; /* this callb's class */
|
||||||
kcondvar_t c_done_cv; /* signal callb completion */
|
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 */
|
void *c_arg; /* arg to c_func */
|
||||||
char c_name[CB_MAXNAME+1]; /* debug:max func name length */
|
char c_name[CB_MAXNAME+1]; /* debug:max func name length */
|
||||||
} callb_t;
|
} callb_t;
|
||||||
|
@ -106,11 +106,6 @@ SYSCTL_INT(_vfs_zfs_version, OID_AUTO, ioctl, CTLFLAG_RD, &zfs_version_ioctl,
|
|||||||
|
|
||||||
static struct cdev *zfsdev;
|
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;
|
static struct root_hold_token *zfs_root_token;
|
||||||
|
|
||||||
extern uint_t rrw_tsd_key;
|
extern uint_t rrw_tsd_key;
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include <sys/zil.h>
|
#include <sys/zil.h>
|
||||||
#include <sys/ddt.h>
|
#include <sys/ddt.h>
|
||||||
#include <sys/vdev_impl.h>
|
#include <sys/vdev_impl.h>
|
||||||
|
#include <sys/vdev_os.h>
|
||||||
#include <sys/vdev_removal.h>
|
#include <sys/vdev_removal.h>
|
||||||
#include <sys/vdev_indirect_mapping.h>
|
#include <sys/vdev_indirect_mapping.h>
|
||||||
#include <sys/vdev_indirect_births.h>
|
#include <sys/vdev_indirect_births.h>
|
||||||
@ -72,9 +73,6 @@
|
|||||||
#include "zfs_prop.h"
|
#include "zfs_prop.h"
|
||||||
#include "zfs_comutil.h"
|
#include "zfs_comutil.h"
|
||||||
|
|
||||||
extern int vdev_geom_read_pool_label(const char *name, nvlist_t ***configs,
|
|
||||||
uint64_t *count);
|
|
||||||
|
|
||||||
static nvlist_t *
|
static nvlist_t *
|
||||||
spa_generate_rootconf(const char *name)
|
spa_generate_rootconf(const char *name)
|
||||||
{
|
{
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <sys/spa.h>
|
#include <sys/spa.h>
|
||||||
#include <sys/spa_impl.h>
|
#include <sys/spa_impl.h>
|
||||||
#include <sys/vdev_impl.h>
|
#include <sys/vdev_impl.h>
|
||||||
|
#include <sys/vdev_os.h>
|
||||||
#include <sys/fs/zfs.h>
|
#include <sys/fs/zfs.h>
|
||||||
#include <sys/zio.h>
|
#include <sys/zio.h>
|
||||||
#include <geom/geom.h>
|
#include <geom/geom.h>
|
||||||
|
@ -31,8 +31,6 @@
|
|||||||
#include <sys/vdev_raidz_impl.h>
|
#include <sys/vdev_raidz_impl.h>
|
||||||
#include <sys/simd.h>
|
#include <sys/simd.h>
|
||||||
|
|
||||||
extern boolean_t raidz_will_scalar_work(void);
|
|
||||||
|
|
||||||
/* Opaque implementation with NULL methods to represent original methods */
|
/* Opaque implementation with NULL methods to represent original methods */
|
||||||
static const raidz_impl_ops_t vdev_raidz_original_impl = {
|
static const raidz_impl_ops_t vdev_raidz_original_impl = {
|
||||||
.name = "original",
|
.name = "original",
|
||||||
|
@ -222,9 +222,6 @@
|
|||||||
kmutex_t zfsdev_state_lock;
|
kmutex_t zfsdev_state_lock;
|
||||||
zfsdev_state_t *zfsdev_state_list;
|
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
|
* 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.
|
* 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);
|
zil_itx_assign(zilog, itx, tx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void zil_remove_async(zilog_t *zilog, uint64_t oid);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handles both TX_REMOVE and TX_RMDIR transactions.
|
* Handles both TX_REMOVE and TX_RMDIR transactions.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user