diff usr/src/uts/common/fs/zfs/spa.c @ 9725:0bf7402e8022

6843014 ZFS B_FAILFAST handling is broken
author Eric Schrock <Eric.Schrock@Sun.COM>
date Tue, 26 May 2009 15:47:25 -0700
parents cc5b64682e64
children e276ee006ff6
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/spa.c	Tue May 26 10:44:55 2009 -0700
+++ b/usr/src/uts/common/fs/zfs/spa.c	Tue May 26 15:47:25 2009 -0700
@@ -4233,10 +4233,16 @@
 				if (svdcount == SPA_DVAS_PER_BP)
 					break;
 			}
-			error = vdev_config_sync(svd, svdcount, txg);
+			error = vdev_config_sync(svd, svdcount, txg, B_FALSE);
+			if (error != 0)
+				error = vdev_config_sync(svd, svdcount, txg,
+				    B_TRUE);
 		} else {
 			error = vdev_config_sync(rvd->vdev_child,
-			    rvd->vdev_children, txg);
+			    rvd->vdev_children, txg, B_FALSE);
+			if (error != 0)
+				error = vdev_config_sync(rvd->vdev_child,
+				    rvd->vdev_children, txg, B_TRUE);
 		}
 
 		spa_config_exit(spa, SCL_STATE, FTAG);