-# Find free space
-($asrv,$apart) = &afs_find($cell,$type,$quota);
-die "Unable to find space to create $vname in $cell\n" unless ($asrv&&$apart);
-
-# Create volume
-system("$vos create $asrv $apart $vname -cell $cell >/dev/null") &&
- &fatal("Unable to create $vname in $cell");
+# Find free space/Create volume
+$tries = 0; $code = 1;
+while ($tries<3 && $code) {
+ ($asrv,$apart) = &afs_find($cell,$type,$quota,@except);
+ die "Unable to find space to create $vname in $cell\n" unless ($asrv&&$apart);
+ $code = system("$vos create $asrv $apart $vname -cell $cell >/dev/null");
+ push(@except, $asrv);
+ $tries++;
+}
+&fatal("Unable to create $vname in $cell") if ($code); # Too many create errors