Author: smh
Date: Wed Dec 31 04:54:48 2014
New Revision: 276450
URL: https://svnweb.freebsd.org/changeset/base/276450

Log:
  Correct zpool list displaying invalid EXPANDSZ for unavailable pool vdevs
  
  When pools are unavailable their vdevs are also unavailable which means
  that vdev_max_asize remains at the default zero. This default was being
  used to calculate vs_esize resulting in a negative number as vdev_asize >
  vdev_max_asize, which caused zpool list -v to display 16.0E for EXPANDSZ
  of these vdevs.

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c  Wed Dec 31 
04:52:32 2014        (r276449)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c  Wed Dec 31 
04:54:48 2014        (r276450)
@@ -2776,7 +2776,8 @@ vdev_get_stats(vdev_t *vd, vdev_stat_t *
        vs->vs_rsize = vdev_get_min_asize(vd);
        if (vd->vdev_ops->vdev_op_leaf)
                vs->vs_rsize += VDEV_LABEL_START_SIZE + VDEV_LABEL_END_SIZE;
-       vs->vs_esize = vd->vdev_max_asize - vd->vdev_asize;
+       if (vd->vdev_max_asize != 0)
+               vs->vs_esize = vd->vdev_max_asize - vd->vdev_asize;
        vs->vs_configured_ashift = vd->vdev_top != NULL
            ? vd->vdev_top->vdev_ashift : vd->vdev_ashift;
        vs->vs_logical_ashift = vd->vdev_logical_ashift;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to