usr/src/uts/common/fs/zfs/spa.c
changeset 9725 0bf7402e8022
parent 9701 cc5b64682e64
child 9790 e276ee006ff6
--- 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);