summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/zfs/dsl_pool.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/module/zfs/dsl_pool.c b/module/zfs/dsl_pool.c
index c342f0c51..9fb3a061d 100644
--- a/module/zfs/dsl_pool.c
+++ b/module/zfs/dsl_pool.c
@@ -889,14 +889,14 @@ dsl_pool_need_dirty_delay(dsl_pool_t *dp)
zfs_dirty_data_max * zfs_delay_min_dirty_percent / 100;
uint64_t dirty_min_bytes =
zfs_dirty_data_max * zfs_dirty_data_sync_percent / 100;
- boolean_t rv;
+ uint64_t dirty;
mutex_enter(&dp->dp_lock);
- if (dp->dp_dirty_total > dirty_min_bytes)
- txg_kick(dp);
- rv = (dp->dp_dirty_total > delay_min_bytes);
+ dirty = dp->dp_dirty_total;
mutex_exit(&dp->dp_lock);
- return (rv);
+ if (dirty > dirty_min_bytes)
+ txg_kick(dp);
+ return (dirty > delay_min_bytes);
}
void