Print this page
10592 misc. metaslab and vdev related ZoL bug fixes
Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Tony Hutter <hutter2@llnl.gov>
Reviewed by: Kody Kantor <kody.kantor@joyent.com>
Approved by: Dan McDonald <danmcd@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/range_tree.h
          +++ new/usr/src/uts/common/fs/zfs/sys/range_tree.h
↓ open down ↓ 73 lines elided ↑ open up ↑
  74   74          void    (*rtop_vacate)(range_tree_t *rt, void *arg);
  75   75  };
  76   76  
  77   77  typedef void range_tree_func_t(void *arg, uint64_t start, uint64_t size);
  78   78  
  79   79  void range_tree_init(void);
  80   80  void range_tree_fini(void);
  81   81  range_tree_t *range_tree_create(range_tree_ops_t *ops, void *arg);
  82   82  void range_tree_destroy(range_tree_t *rt);
  83   83  boolean_t range_tree_contains(range_tree_t *rt, uint64_t start, uint64_t size);
       84 +void range_tree_verify_not_present(range_tree_t *rt,
       85 +    uint64_t start, uint64_t size);
  84   86  uint64_t range_tree_space(range_tree_t *rt);
  85   87  boolean_t range_tree_is_empty(range_tree_t *rt);
  86      -void range_tree_verify(range_tree_t *rt, uint64_t start, uint64_t size);
  87   88  void range_tree_swap(range_tree_t **rtsrc, range_tree_t **rtdst);
  88   89  void range_tree_stat_verify(range_tree_t *rt);
  89   90  uint64_t range_tree_min(range_tree_t *rt);
  90   91  uint64_t range_tree_max(range_tree_t *rt);
  91   92  uint64_t range_tree_span(range_tree_t *rt);
  92   93  
  93   94  void range_tree_add(void *arg, uint64_t start, uint64_t size);
  94   95  void range_tree_remove(void *arg, uint64_t start, uint64_t size);
  95   96  void range_tree_clear(range_tree_t *rt, uint64_t start, uint64_t size);
  96   97  
  97   98  void range_tree_vacate(range_tree_t *rt, range_tree_func_t *func, void *arg);
  98   99  void range_tree_walk(range_tree_t *rt, range_tree_func_t *func, void *arg);
  99  100  
 100  101  #ifdef  __cplusplus
 101  102  }
 102  103  #endif
 103  104  
 104  105  #endif  /* _SYS_RANGE_TREE_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX