Print this page
5981 Deadlock in dmu_objset_find_dp

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/dsl_pool.h
          +++ new/usr/src/uts/common/fs/zfs/sys/dsl_pool.h
↓ open down ↓ 144 lines elided ↑ open up ↑
 145  145  void dsl_pool_undirty_space(dsl_pool_t *dp, int64_t space, uint64_t txg);
 146  146  void dsl_free(dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp);
 147  147  void dsl_free_sync(zio_t *pio, dsl_pool_t *dp, uint64_t txg,
 148  148      const blkptr_t *bpp);
 149  149  void dsl_pool_create_origin(dsl_pool_t *dp, dmu_tx_t *tx);
 150  150  void dsl_pool_upgrade_clones(dsl_pool_t *dp, dmu_tx_t *tx);
 151  151  void dsl_pool_upgrade_dir_clones(dsl_pool_t *dp, dmu_tx_t *tx);
 152  152  void dsl_pool_mos_diduse_space(dsl_pool_t *dp,
 153  153      int64_t used, int64_t comp, int64_t uncomp);
 154  154  void dsl_pool_config_enter(dsl_pool_t *dp, void *tag);
      155 +void dsl_pool_config_enter_prio(dsl_pool_t *dp, void *tag);
 155  156  void dsl_pool_config_exit(dsl_pool_t *dp, void *tag);
 156  157  boolean_t dsl_pool_config_held(dsl_pool_t *dp);
 157  158  boolean_t dsl_pool_config_held_writer(dsl_pool_t *dp);
 158  159  boolean_t dsl_pool_need_dirty_delay(dsl_pool_t *dp);
 159  160  
 160  161  taskq_t *dsl_pool_vnrele_taskq(dsl_pool_t *dp);
 161  162  
 162  163  int dsl_pool_user_hold(dsl_pool_t *dp, uint64_t dsobj,
 163  164      const char *tag, uint64_t now, dmu_tx_t *tx);
 164  165  int dsl_pool_user_release(dsl_pool_t *dp, uint64_t dsobj,
↓ open down ↓ 11 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX