From 3d920a1567d550273413a741c5fbece42cea6f00 Mon Sep 17 00:00:00 2001 From: Ned Bass Date: Thu, 27 Feb 2014 16:11:11 -0800 Subject: [PATCH] dmu_tx kstat cleanup A few counters in the dmu_tx kstats are obsolete or no longer bumped properly. - The sync task restructuring commit 13fe019870c8779bf2f5b3ff731b512cf89133ef removed the code that bumpted dmu_tx_quota. The counter is now bumped in two cases, instead of just the one case as before (after the result of dsl_dataset_check_quota call). The second case is where we check the requested reservation against the actual pool size, as this is an implicit quota of sorts. - The write throttle restructuring commit e8b96c6007bf97cdf34869c1ffbd0ce753873a3d makes dmu_tx_how and dmu_tx_inflight obsolete, so they are removed. Signed-off-by: Kohsuke Kawaguchi Signed-off-by: Ned Bass Signed-off-by: Brian Behlendorf Closes #1914 --- include/sys/dmu_tx.h | 2 -- module/zfs/dmu_tx.c | 2 -- module/zfs/dsl_dir.c | 2 ++ 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/include/sys/dmu_tx.h b/include/sys/dmu_tx.h index 59a1474020..c70c97da03 100644 --- a/include/sys/dmu_tx.h +++ b/include/sys/dmu_tx.h @@ -130,10 +130,8 @@ typedef struct dmu_tx_stats { kstat_named_t dmu_tx_error; kstat_named_t dmu_tx_suspended; kstat_named_t dmu_tx_group; - kstat_named_t dmu_tx_how; kstat_named_t dmu_tx_memory_reserve; kstat_named_t dmu_tx_memory_reclaim; - kstat_named_t dmu_tx_memory_inflight; kstat_named_t dmu_tx_dirty_throttle; kstat_named_t dmu_tx_dirty_delay; kstat_named_t dmu_tx_dirty_over_max; diff --git a/module/zfs/dmu_tx.c b/module/zfs/dmu_tx.c index 3e04793cf3..4159ba7409 100644 --- a/module/zfs/dmu_tx.c +++ b/module/zfs/dmu_tx.c @@ -48,10 +48,8 @@ dmu_tx_stats_t dmu_tx_stats = { { "dmu_tx_error", KSTAT_DATA_UINT64 }, { "dmu_tx_suspended", KSTAT_DATA_UINT64 }, { "dmu_tx_group", KSTAT_DATA_UINT64 }, - { "dmu_tx_how", KSTAT_DATA_UINT64 }, { "dmu_tx_memory_reserve", KSTAT_DATA_UINT64 }, { "dmu_tx_memory_reclaim", KSTAT_DATA_UINT64 }, - { "dmu_tx_memory_inflight", KSTAT_DATA_UINT64 }, { "dmu_tx_dirty_throttle", KSTAT_DATA_UINT64 }, { "dmu_tx_dirty_delay", KSTAT_DATA_UINT64 }, { "dmu_tx_dirty_over_max", KSTAT_DATA_UINT64 }, diff --git a/module/zfs/dsl_dir.c b/module/zfs/dsl_dir.c index f649bba4c8..fb7cd2cd65 100644 --- a/module/zfs/dsl_dir.c +++ b/module/zfs/dsl_dir.c @@ -635,6 +635,7 @@ dsl_dir_tempreserve_impl(dsl_dir_t *dd, uint64_t asize, boolean_t netfree, asize, est_inflight, &used_on_disk, &ref_rsrv); if (error) { mutex_exit(&dd->dd_lock); + DMU_TX_STAT_BUMP(dmu_tx_quota); return (error); } } @@ -683,6 +684,7 @@ dsl_dir_tempreserve_impl(dsl_dir_t *dd, uint64_t asize, boolean_t netfree, used_on_disk>>10, est_inflight>>10, quota>>10, asize>>10, retval); mutex_exit(&dd->dd_lock); + DMU_TX_STAT_BUMP(dmu_tx_quota); return (SET_ERROR(retval)); }