Make zfs_immediate_write_sz a module paramater
authorCyril Plisko <cyril.plisko@mountall.com>
Mon, 8 Oct 2012 18:02:20 +0000 (20:02 +0200)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 11 Oct 2012 18:09:21 +0000 (11:09 -0700)
zfs_immediate_write_sz variable is a tunable, but lacks proper
module_param() instrumentation.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1032

module/zfs/zfs_log.c

index 4d9e13d..cbd6f1c 100644 (file)
@@ -449,7 +449,7 @@ zfs_log_rename(zilog_t *zilog, dmu_tx_t *tx, uint64_t txtype,
 /*
  * zfs_log_write() handles TX_WRITE transactions.
  */
-ssize_t zfs_immediate_write_sz = 32768;
+long zfs_immediate_write_sz = 32768;
 
 void
 zfs_log_write(zilog_t *zilog, dmu_tx_t *tx, int txtype,
@@ -464,7 +464,7 @@ zfs_log_write(zilog_t *zilog, dmu_tx_t *tx, int txtype,
                return;
 
        immediate_write_sz = (zilog->zl_logbias == ZFS_LOGBIAS_THROUGHPUT)
-           ? 0 : zfs_immediate_write_sz;
+           ? 0 : (ssize_t)zfs_immediate_write_sz;
 
        slogging = spa_has_slogs(zilog->zl_spa) &&
            (zilog->zl_logbias == ZFS_LOGBIAS_LATENCY);
@@ -675,3 +675,8 @@ zfs_log_acl(zilog_t *zilog, dmu_tx_t *tx, znode_t *zp,
        itx->itx_sync = (zp->z_sync_cnt != 0);
        zil_itx_assign(zilog, itx, tx);
 }
+
+#if defined(_KERNEL) && defined(HAVE_SPL)
+module_param(zfs_immediate_write_sz, long, 0644);
+MODULE_PARM_DESC(zfs_immediate_write_sz, "Largest data block to write to zil");
+#endif