diff --git a/include/sys/spa.h b/include/sys/spa.h index e7cbff806..d5a91c2d3 100644 --- a/include/sys/spa.h +++ b/include/sys/spa.h @@ -570,7 +570,7 @@ extern void spa_txg_history_add(spa_t *spa, uint64_t txg, hrtime_t birth_time); extern int spa_txg_history_set(spa_t *spa, uint64_t txg, txg_state_t completed_state, hrtime_t completed_time); extern int spa_txg_history_set_io(spa_t *spa, uint64_t txg, uint64_t nread, - uint64_t nwritten, uint64_t reads, uint64_t writes, uint64_t nreserved); + uint64_t nwritten, uint64_t reads, uint64_t writes, uint64_t ndirty); extern void spa_tx_assign_add_nsecs(spa_t *spa, uint64_t nsecs); /* Pool configuration locks */ diff --git a/module/zfs/spa_stats.c b/module/zfs/spa_stats.c index a35f5df65..dbc761e11 100644 --- a/module/zfs/spa_stats.c +++ b/module/zfs/spa_stats.c @@ -248,7 +248,7 @@ typedef struct spa_txg_history { uint64_t nwritten; /* number of bytes written */ uint64_t reads; /* number of read operations */ uint64_t writes; /* number of write operations */ - uint64_t nreserved; /* number of bytes reserved */ + uint64_t ndirty; /* number of dirty bytes */ hrtime_t times[TXG_STATE_COMMITTED]; /* completion times */ list_node_t sth_link; } spa_txg_history_t; @@ -258,7 +258,7 @@ spa_txg_history_headers(char *buf, size_t size) { size = snprintf(buf, size - 1, "%-8s %-16s %-5s %-12s %-12s %-12s " "%-8s %-8s %-12s %-12s %-12s %-12s\n", "txg", "birth", "state", - "nreserved", "nread", "nwritten", "reads", "writes", + "ndirty", "nread", "nwritten", "reads", "writes", "otime", "qtime", "wtime", "stime"); buf[size] = '\0'; @@ -301,7 +301,7 @@ spa_txg_history_data(char *buf, size_t size, void *data) size = snprintf(buf, size - 1, "%-8llu %-16llu %-5c %-12llu " "%-12llu %-12llu %-8llu %-8llu %-12llu %-12llu %-12llu %-12llu\n", (longlong_t)sth->txg, sth->times[TXG_STATE_BIRTH], state, - (u_longlong_t)sth->nreserved, + (u_longlong_t)sth->ndirty, (u_longlong_t)sth->nread, (u_longlong_t)sth->nwritten, (u_longlong_t)sth->reads, (u_longlong_t)sth->writes, (u_longlong_t)open, (u_longlong_t)quiesce, (u_longlong_t)wait, @@ -482,7 +482,7 @@ spa_txg_history_set(spa_t *spa, uint64_t txg, txg_state_t completed_state, */ int spa_txg_history_set_io(spa_t *spa, uint64_t txg, uint64_t nread, - uint64_t nwritten, uint64_t reads, uint64_t writes, uint64_t nreserved) + uint64_t nwritten, uint64_t reads, uint64_t writes, uint64_t ndirty) { spa_stats_history_t *ssh = &spa->spa_stats.txg_history; spa_txg_history_t *sth; @@ -499,7 +499,7 @@ spa_txg_history_set_io(spa_t *spa, uint64_t txg, uint64_t nread, sth->nwritten = nwritten; sth->reads = reads; sth->writes = writes; - sth->nreserved = nreserved; + sth->ndirty = ndirty; error = 0; break; } diff --git a/module/zfs/txg.c b/module/zfs/txg.c index 9e9db9989..524fe8e84 100644 --- a/module/zfs/txg.c +++ b/module/zfs/txg.c @@ -500,6 +500,7 @@ txg_sync_thread(dsl_pool_t *dp) for (;;) { uint64_t timer, timeout; uint64_t txg; + uint64_t ndirty; timeout = zfs_txg_timeout * hz; @@ -557,6 +558,7 @@ txg_sync_thread(dsl_pool_t *dp) spa_txg_history_set(spa, txg, TXG_STATE_WAIT_FOR_SYNC, gethrtime()); + ndirty = dp->dp_dirty_pertxg[txg & TXG_MASK]; start = ddi_get_lbolt(); spa_sync(spa, txg); @@ -579,7 +581,7 @@ txg_sync_thread(dsl_pool_t *dp) vs2->vs_bytes[ZIO_TYPE_WRITE]-vs1->vs_bytes[ZIO_TYPE_WRITE], vs2->vs_ops[ZIO_TYPE_READ]-vs1->vs_ops[ZIO_TYPE_READ], vs2->vs_ops[ZIO_TYPE_WRITE]-vs1->vs_ops[ZIO_TYPE_WRITE], - dp->dp_dirty_pertxg[txg & TXG_MASK]); + ndirty); spa_txg_history_set(spa, txg, TXG_STATE_SYNCED, gethrtime()); } }