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>
        
*** 440,450 ****
          for (uint64_t i = 0; i < vd->vdev_top->vdev_ms_count; i++) {
                  metaslab_t *msp = vd->vdev_top->vdev_ms[i];
                  mutex_enter(&msp->ms_lock);
  
                  uint64_t ms_free = msp->ms_size -
!                     space_map_allocated(msp->ms_sm);
  
                  if (vd->vdev_top->vdev_ops == &vdev_raidz_ops)
                          ms_free /= vd->vdev_top->vdev_children;
  
                  /*
--- 440,450 ----
          for (uint64_t i = 0; i < vd->vdev_top->vdev_ms_count; i++) {
                  metaslab_t *msp = vd->vdev_top->vdev_ms[i];
                  mutex_enter(&msp->ms_lock);
  
                  uint64_t ms_free = msp->ms_size -
!                     metaslab_allocated_space(msp);
  
                  if (vd->vdev_top->vdev_ops == &vdev_raidz_ops)
                          ms_free /= vd->vdev_top->vdev_children;
  
                  /*