X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=include%2Fsys%2Fdsl_pool.h;h=4a4bf76ef527baf2900d11a97ec145142ae58f63;hb=92334b14ec378b1693573b52c09816bbade9cf3e;hp=96a2296bf8e9009542482fd1f5f4e76d316d08ca;hpb=cc92e9d0c3e67a7e66c844466f85696a087bf60a;p=zfs.git diff --git a/include/sys/dsl_pool.h b/include/sys/dsl_pool.h index 96a2296..4a4bf76 100644 --- a/include/sys/dsl_pool.h +++ b/include/sys/dsl_pool.h @@ -89,6 +89,7 @@ typedef struct dsl_pool { uint64_t dp_root_dir_obj; struct taskq *dp_iput_taskq; kstat_t *dp_txg_kstat; + kstat_t *dp_tx_assign_kstat; /* No lock needed - sync context only */ blkptr_t dp_meta_rootbp; @@ -111,6 +112,8 @@ typedef struct dsl_pool { uint64_t dp_mos_uncompressed_delta; uint64_t dp_txg_history_size; list_t dp_txg_history; + uint64_t dp_tx_assign_size; + kstat_named_t *dp_tx_assign_buckets; /* Has its own locking */ @@ -147,12 +150,6 @@ void dsl_pool_willuse_space(dsl_pool_t *dp, int64_t space, dmu_tx_t *tx); void dsl_free(dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp); void dsl_free_sync(zio_t *pio, dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp); -int dsl_read(zio_t *pio, spa_t *spa, const blkptr_t *bpp, arc_buf_t *pbuf, - arc_done_func_t *done, void *private, int priority, int zio_flags, - uint32_t *arc_flags, const zbookmark_t *zb); -int dsl_read_nolock(zio_t *pio, spa_t *spa, const blkptr_t *bpp, - arc_done_func_t *done, void *private, int priority, int zio_flags, - uint32_t *arc_flags, const zbookmark_t *zb); void dsl_pool_create_origin(dsl_pool_t *dp, dmu_tx_t *tx); void dsl_pool_upgrade_clones(dsl_pool_t *dp, dmu_tx_t *tx); void dsl_pool_upgrade_dir_clones(dsl_pool_t *dp, dmu_tx_t *tx); @@ -168,6 +165,8 @@ extern int dsl_pool_user_release(dsl_pool_t *dp, uint64_t dsobj, extern void dsl_pool_clean_tmp_userrefs(dsl_pool_t *dp); int dsl_pool_open_special_dir(dsl_pool_t *dp, const char *name, dsl_dir_t **); +void dsl_pool_tx_assign_add_usecs(dsl_pool_t *dp, uint64_t usecs); + txg_history_t *dsl_pool_txg_history_add(dsl_pool_t *dp, uint64_t txg); txg_history_t *dsl_pool_txg_history_get(dsl_pool_t *dp, uint64_t txg); void dsl_pool_txg_history_put(txg_history_t *th);