]> git.proxmox.com Git - mirror_zfs.git/blobdiff - include/sys/dsl_pool.h
Illumos #3086: unnecessarily setting DS_FLAG_INCONSISTENT on async
[mirror_zfs.git] / include / sys / dsl_pool.h
index 16fb98669cf0eca2290f62cb726277986e282240..61c91f06c96912f0379ac1672586ddd2a3367635 100644 (file)
@@ -90,7 +90,6 @@ typedef struct dsl_pool {
 
        /* No lock needed - sync context only */
        blkptr_t dp_meta_rootbp;
-       list_t dp_synced_datasets;
        hrtime_t dp_read_overhead;
        uint64_t dp_throughput; /* bytes per millisec */
        uint64_t dp_write_limit;
@@ -104,6 +103,9 @@ typedef struct dsl_pool {
        kmutex_t dp_lock;
        uint64_t dp_space_towrite[TXG_SIZE];
        uint64_t dp_tempreserved[TXG_SIZE];
+       uint64_t dp_mos_used_delta;
+       uint64_t dp_mos_compressed_delta;
+       uint64_t dp_mos_uncompressed_delta;
        uint64_t dp_txg_history_size;
        list_t dp_txg_history;
 
@@ -111,6 +113,7 @@ typedef struct dsl_pool {
        /* Has its own locking */
        tx_state_t dp_tx;
        txg_list_t dp_dirty_datasets;
+       txg_list_t dp_dirty_zilogs;
        txg_list_t dp_dirty_dirs;
        txg_list_t dp_sync_tasks;
 
@@ -150,6 +153,8 @@ int dsl_read_nolock(zio_t *pio, spa_t *spa, const blkptr_t *bpp,
 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);
+void dsl_pool_mos_diduse_space(dsl_pool_t *dp,
+    int64_t used, int64_t comp, int64_t uncomp);
 
 taskq_t *dsl_pool_iput_taskq(dsl_pool_t *dp);