Add zfs_multihost_interval tunable handler for FreeBSD
This tunable required a handler to be implemented for ZFS_MODULE_PARAM_CALL. Add the handler so the tunable can be declared in common code. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #10490
This commit is contained in:
parent
2451a55368
commit
9192f27c1d
|
@ -72,6 +72,9 @@
|
|||
#define param_set_deadman_ziotime_args(var) \
|
||||
CTLTYPE_ULONG, NULL, 0, param_set_deadman_ziotime, "LU"
|
||||
|
||||
#define param_set_multihost_interval_args(var) \
|
||||
CTLTYPE_ULONG, &var, 0, param_set_multihost_interval, "LU"
|
||||
|
||||
#define param_set_slop_shift_args(var) \
|
||||
CTLTYPE_INT, &var, 0, param_set_slop_shift, "I"
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ extern void mmp_update_uberblock(struct spa *spa, struct uberblock *ub);
|
|||
extern void mmp_signal_all_threads(void);
|
||||
|
||||
/* Global tuning */
|
||||
extern int param_set_multihost_interval(ZFS_MODULE_PARAM_ARGS);
|
||||
extern ulong_t zfs_multihost_interval;
|
||||
extern uint_t zfs_multihost_fail_intervals;
|
||||
extern uint_t zfs_multihost_import_intervals;
|
||||
|
|
|
@ -691,3 +691,18 @@ param_set_slop_shift(SYSCTL_HANDLER_ARGS)
|
|||
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
param_set_multihost_interval(SYSCTL_HANDLER_ARGS)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = sysctl_handle_long(oidp, arg1, 0, req);
|
||||
if (err != 0 || req->newptr == NULL)
|
||||
return (err);
|
||||
|
||||
if (spa_mode_global != SPA_MODE_UNINIT)
|
||||
mmp_signal_all_threads();
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include <sys/zfs_context.h>
|
||||
#include <sys/mmp.h>
|
||||
|
||||
static int
|
||||
int
|
||||
param_set_multihost_interval(const char *val, zfs_kernel_param_t *kp)
|
||||
{
|
||||
int ret;
|
||||
|
@ -39,8 +39,3 @@ param_set_multihost_interval(const char *val, zfs_kernel_param_t *kp)
|
|||
|
||||
return (ret);
|
||||
}
|
||||
|
||||
module_param_call(zfs_multihost_interval, param_set_multihost_interval,
|
||||
param_get_ulong, &zfs_multihost_interval, 0644);
|
||||
MODULE_PARM_DESC(zfs_multihost_interval,
|
||||
"Milliseconds between mmp writes to each leaf");
|
||||
|
|
|
@ -715,6 +715,12 @@ mmp_signal_all_threads(void)
|
|||
mutex_exit(&spa_namespace_lock);
|
||||
}
|
||||
|
||||
/* BEGIN CSTYLED */
|
||||
ZFS_MODULE_PARAM_CALL(zfs_multihost, zfs_multihost_, interval,
|
||||
param_set_multihost_interval, param_get_ulong, ZMOD_RW,
|
||||
"Milliseconds between mmp writes to each leaf");
|
||||
/* END CSTYLED */
|
||||
|
||||
ZFS_MODULE_PARAM(zfs_multihost, zfs_multihost_, fail_intervals, UINT, ZMOD_RW,
|
||||
"Max allowed period without a successful mmp write");
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ METASLAB_FORCE_GANGING metaslab.force_ganging metaslab_force_ganging
|
|||
MULTIHOST_FAIL_INTERVALS multihost.fail_intervals zfs_multihost_fail_intervals
|
||||
MULTIHOST_HISTORY UNSUPPORTED zfs_multihost_history
|
||||
MULTIHOST_IMPORT_INTERVALS multihost.import_intervals zfs_multihost_import_intervals
|
||||
MULTIHOST_INTERVAL UNSUPPORTED zfs_multihost_interval
|
||||
MULTIHOST_INTERVAL multihost.interval zfs_multihost_interval
|
||||
OVERRIDE_ESTIMATE_RECORDSIZE send.override_estimate_recordsize zfs_override_estimate_recordsize
|
||||
REMOVAL_SUSPEND_PROGRESS removal_suspend_progress zfs_removal_suspend_progress
|
||||
REMOVE_MAX_SEGMENT remove_max_segment zfs_remove_max_segment
|
||||
|
|
Loading…
Reference in New Issue