Finish refactoring for ZFS_MODULE_PARAM_CALL
Linux and FreeBSD have different parameters for tunable proc handler. This has prevented FreeBSD from implementing the ZFS_MODULE_PARAM_CALL macro. To complete the sharing of ZFS_MODULE_PARAM_CALL declarations, create per-platform definitions of the parameter list, ZFS_MODULE_PARAM_ARGS. With the declarations wired up we discovered an incorrect scope prefix for spa_slop_shift, so this is now fixed. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #10179
This commit is contained in:
parent
2a15c6aab4
commit
7e3df9db12
|
@ -134,12 +134,14 @@ enum scope_prefix_types {
|
||||||
* spa_slop_shift
|
* spa_slop_shift
|
||||||
*/
|
*/
|
||||||
/* BEGIN CSTYLED */
|
/* BEGIN CSTYLED */
|
||||||
#define ZFS_MODULE_PARAM_CALL(scope_prefix, name_prefix, name, setfunc, getfunc, perm, desc) \
|
#define ZFS_MODULE_PARAM_CALL(scope_prefix, name_prefix, name, setfunc, getfunc, perm, desc) \
|
||||||
CTASSERT_GLOBAL((sizeof (scope_prefix) == sizeof (enum scope_prefix_types))); \
|
CTASSERT_GLOBAL((sizeof (scope_prefix) == sizeof (enum scope_prefix_types))); \
|
||||||
module_param_call(name_prefix ## name, setfunc, getfunc, &name_prefix ## name, perm); \
|
module_param_call(name_prefix ## name, setfunc, getfunc, &name_prefix ## name, perm); \
|
||||||
MODULE_PARM_DESC(name_prefix ## name, desc)
|
MODULE_PARM_DESC(name_prefix ## name, desc)
|
||||||
/* END CSTYLED */
|
/* END CSTYLED */
|
||||||
|
|
||||||
|
#define ZFS_MODULE_PARAM_ARGS const char *buf, zfs_kernel_param_t *kp
|
||||||
|
|
||||||
#define ZFS_MODULE_DESCRIPTION(s) MODULE_DESCRIPTION(s)
|
#define ZFS_MODULE_DESCRIPTION(s) MODULE_DESCRIPTION(s)
|
||||||
#define ZFS_MODULE_AUTHOR(s) MODULE_AUTHOR(s)
|
#define ZFS_MODULE_AUTHOR(s) MODULE_AUTHOR(s)
|
||||||
#define ZFS_MODULE_LICENSE(s) MODULE_LICENSE(s)
|
#define ZFS_MODULE_LICENSE(s) MODULE_LICENSE(s)
|
||||||
|
|
|
@ -614,8 +614,8 @@ extern uint64_t arc_free_memory(void);
|
||||||
extern int64_t arc_available_memory(void);
|
extern int64_t arc_available_memory(void);
|
||||||
extern void arc_tuning_update(void);
|
extern void arc_tuning_update(void);
|
||||||
|
|
||||||
extern int param_set_arc_long(const char *buf, zfs_kernel_param_t *kp);
|
extern int param_set_arc_long(ZFS_MODULE_PARAM_ARGS);
|
||||||
extern int param_set_arc_int(const char *buf, zfs_kernel_param_t *kp);
|
extern int param_set_arc_int(ZFS_MODULE_PARAM_ARGS);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1179,10 +1179,10 @@ extern void spa_notify_waiters(spa_t *spa);
|
||||||
extern void spa_wake_waiters(spa_t *spa);
|
extern void spa_wake_waiters(spa_t *spa);
|
||||||
|
|
||||||
/* module param call functions */
|
/* module param call functions */
|
||||||
int param_set_deadman_ziotime(const char *val, zfs_kernel_param_t *kp);
|
int param_set_deadman_ziotime(ZFS_MODULE_PARAM_ARGS);
|
||||||
int param_set_deadman_synctime(const char *val, zfs_kernel_param_t *kp);
|
int param_set_deadman_synctime(ZFS_MODULE_PARAM_ARGS);
|
||||||
int param_set_slop_shift(const char *buf, zfs_kernel_param_t *kp);
|
int param_set_slop_shift(ZFS_MODULE_PARAM_ARGS);
|
||||||
int param_set_deadman_failmode(const char *val, zfs_kernel_param_t *kp);
|
int param_set_deadman_failmode(ZFS_MODULE_PARAM_ARGS);
|
||||||
|
|
||||||
#ifdef ZFS_DEBUG
|
#ifdef ZFS_DEBUG
|
||||||
#define dprintf_bp(bp, fmt, ...) do { \
|
#define dprintf_bp(bp, fmt, ...) do { \
|
||||||
|
|
|
@ -198,6 +198,7 @@ typedef struct zfs_kernel_param {
|
||||||
} zfs_kernel_param_t;
|
} zfs_kernel_param_t;
|
||||||
|
|
||||||
#define ZFS_MODULE_PARAM(scope_prefix, name_prefix, name, type, perm, desc)
|
#define ZFS_MODULE_PARAM(scope_prefix, name_prefix, name, type, perm, desc)
|
||||||
|
#define ZFS_MODULE_PARAM_ARGS void
|
||||||
#define ZFS_MODULE_PARAM_CALL(scope_prefix, name_prefix, name, setfunc, \
|
#define ZFS_MODULE_PARAM_CALL(scope_prefix, name_prefix, name, setfunc, \
|
||||||
getfunc, perm, desc)
|
getfunc, perm, desc)
|
||||||
|
|
||||||
|
|
|
@ -2891,5 +2891,5 @@ ZFS_MODULE_PARAM(zfs, zfs_, special_class_metadata_reserve_pct, INT, ZMOD_RW,
|
||||||
"free space available");
|
"free space available");
|
||||||
/* END CSTYLED */
|
/* END CSTYLED */
|
||||||
|
|
||||||
ZFS_MODULE_PARAM_CALL(spa, spa_, slop_shift, param_set_slop_shift,
|
ZFS_MODULE_PARAM_CALL(zfs_spa, spa_, slop_shift, param_set_slop_shift,
|
||||||
param_get_int, ZMOD_RW, "Reserved free space in pool");
|
param_get_int, ZMOD_RW, "Reserved free space in pool");
|
||||||
|
|
Loading…
Reference in New Issue