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/range_tree.c
          +++ new/usr/src/uts/common/fs/zfs/range_tree.c
↓ open down ↓ 310 lines elided ↑ open up ↑
 311  311  static range_seg_t *
 312  312  range_tree_find(range_tree_t *rt, uint64_t start, uint64_t size)
 313  313  {
 314  314          range_seg_t *rs = range_tree_find_impl(rt, start, size);
 315  315          if (rs != NULL && rs->rs_start <= start && rs->rs_end >= start + size)
 316  316                  return (rs);
 317  317          return (NULL);
 318  318  }
 319  319  
 320  320  void
 321      -range_tree_verify(range_tree_t *rt, uint64_t off, uint64_t size)
      321 +range_tree_verify_not_present(range_tree_t *rt, uint64_t off, uint64_t size)
 322  322  {
 323      -        range_seg_t *rs;
 324      -
 325      -        rs = range_tree_find(rt, off, size);
      323 +        range_seg_t *rs = range_tree_find(rt, off, size);
 326  324          if (rs != NULL)
 327      -                panic("freeing free block; rs=%p", (void *)rs);
      325 +                panic("segment already in tree; rs=%p", (void *)rs);
 328  326  }
 329  327  
 330  328  boolean_t
 331  329  range_tree_contains(range_tree_t *rt, uint64_t start, uint64_t size)
 332  330  {
 333  331          return (range_tree_find(rt, start, size) != NULL);
 334  332  }
 335  333  
 336  334  /*
 337  335   * Ensure that this range is not in the tree, regardless of whether
↓ open down ↓ 91 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX