Commit Diff


commit - ef609927ddc476a061f137185794330b340b067a
commit + 6a5a2a9562519f4cfc75910af42cfc97ec583033
blob - 77634e84260883338bfe16d3aa6095edd8bdceb3
blob + 55142054339aef58cbdcdc0f59d23be612df25d4
--- src/cmd/venti/srv/mirrorarenas.c
+++ src/cmd/venti/srv/mirrorarenas.c
@@ -266,11 +266,10 @@ mirror(Arena *sa, Arena *da)
 				chat("%T %s: %V sealed mirrored\n", sa->name, sa->score);
 			return;
 		}
-		chat("%T %s: sealed score mismatch %V vs %V\n", sa->name, sa->score, da->score);
-		status = "errors";
-		return;
+		chat("%T %s: warning: sealed score mismatch %V vs %V\n", sa->name, sa->score, da->score);
+		/* Keep executing; will correct seal if possible. */
 	}
-	if(da->diskstats.sealed && scorecmp(da->score, zeroscore) != 0){
+	if(!sa->diskstats.sealed && da->diskstats.sealed && scorecmp(da->score, zeroscore) != 0){
 		chat("%T %s: dst is sealed, src is not\n", sa->name);
 		status = "errors";
 		return;