summaryrefslogtreecommitdiffstats
path: root/module/zfs/txg.c
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-10-11 13:56:32 -0700
committerBrian Behlendorf <[email protected]>2012-10-11 15:07:09 -0700
commit87d98efe9ea7dd1e464f38fc5e39f0d08191d3be (patch)
tree4c771b9bbe2a865e21d37d0f77e4828c82685c49 /module/zfs/txg.c
parent7df05a4266fe8549cedb9a2d71bb8bff6ab11112 (diff)
Fix zfs_txg_timeout module parameter
Allow the zfs_txg_timeout variable to be dynamically tuned at run time. By pulling it down out of the variable declaration it will be evaluted each time through the loop. The zfs_txg_timeout variable is now declared extern in a the common sys/txg.h header rather than locally in dsl_scan.c. This prevents potential type mismatches if the global variable needs to be used elsewhere. Move the module_param() code in to the same source file where zfs_txg_timeout is declared. This is the most logical location. Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module/zfs/txg.c')
-rw-r--r--module/zfs/txg.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/module/zfs/txg.c b/module/zfs/txg.c
index e14bff269..5702a61f0 100644
--- a/module/zfs/txg.c
+++ b/module/zfs/txg.c
@@ -395,9 +395,11 @@ txg_sync_thread(dsl_pool_t *dp)
start = delta = 0;
for (;;) {
- uint64_t timer, timeout = zfs_txg_timeout * hz;
+ uint64_t timer, timeout;
uint64_t txg;
+ timeout = zfs_txg_timeout * hz;
+
/*
* We sync when we're scanning, there's someone waiting
* on us, or the quiesce thread has handed off a txg to
@@ -773,4 +775,7 @@ EXPORT_SYMBOL(txg_wait_open);
EXPORT_SYMBOL(txg_wait_callbacks);
EXPORT_SYMBOL(txg_stalled);
EXPORT_SYMBOL(txg_sync_waiting);
+
+module_param(zfs_txg_timeout, int, 0644);
+MODULE_PARM_DESC(zfs_txg_timeout, "Max seconds worth of delta per txg");
#endif