Author: smh
Date: Thu Nov  5 17:12:41 2015
New Revision: 290401
URL: https://svnweb.freebsd.org/changeset/base/290401

Log:
  Provide information about bad DVA
  
  Provide information about which vdev has an issue with a bad DVA.
  
  MFC after:    1 week
  Sponsored by: Multiplay

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

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c      Thu Nov 
 5 17:04:18 2015        (r290400)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c      Thu Nov 
 5 17:12:41 2015        (r290401)
@@ -1835,7 +1835,13 @@ dva_get_dsize_sync(spa_t *spa, const dva
        ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0);
 
        if (asize != 0 && spa->spa_deflate) {
-               vdev_t *vd = vdev_lookup_top(spa, DVA_GET_VDEV(dva));
+               uint64_t vdev = DVA_GET_VDEV(dva);
+               vdev_t *vd = vdev_lookup_top(spa, vdev);
+               if (vd == NULL) {
+                       zfs_panic_recover(
+                           "dva_get_dsize_sync(): bad DVA %llu:%llu",
+                           (u_longlong_t)vdev, (u_longlong_t)asize);
+               }
                dsize = (asize >> SPA_MINBLOCKSHIFT) * vd->vdev_deflate_ratio;
        }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to