summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'data.c')
-rw-r--r--data.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/data.c b/data.c
index 044c51b..8746545 100644
--- a/data.c
+++ b/data.c
@@ -1320,12 +1320,17 @@ int db_upgrade(d_char **error)
1320 int changed = 0; 1320 int changed = 0;
1321 double f = 0.0; 1321 double f = 0.0;
1322 1322
1323 do { 1323 for (;;) {
1324 char *layout = xs_dict_get(srv_config, "layout"); 1324 char *layout = xs_dict_get(srv_config, "layout");
1325 double nf; 1325 double nf;
1326 1326
1327 f = nf = xs_number_get(layout); 1327 f = nf = xs_number_get(layout);
1328 1328
1329 if (!(f < db_layout))
1330 break;
1331
1332 srv_log(xs_fmt("db_upgrade %1.1lf < %1.1lf", f, db_layout));
1333
1329 if (f < 2.0) { 1334 if (f < 2.0) {
1330 *error = xs_fmt("ERROR: unsupported old disk layout %1.1lf\n", f); 1335 *error = xs_fmt("ERROR: unsupported old disk layout %1.1lf\n", f);
1331 ret = 0; 1336 ret = 0;
@@ -1344,13 +1349,12 @@ int db_upgrade(d_char **error)
1344 xs *nv = xs_number_new(f); 1349 xs *nv = xs_number_new(f);
1345 srv_config = xs_dict_set(srv_config, "layout", nv); 1350 srv_config = xs_dict_set(srv_config, "layout", nv);
1346 1351
1347 srv_log(xs_fmt("upgraded db layout to version %1.1lf", f)); 1352 srv_log(xs_fmt("db_upgrade converted to version %1.1lf", f));
1348 changed++; 1353 changed++;
1349 } 1354 }
1350 else 1355 else
1351 break; 1356 break;
1352 1357 }
1353 } while (f < db_layout);
1354 1358
1355 if (f > db_layout) { 1359 if (f > db_layout) {
1356 *error = xs_fmt("ERROR: unknown future version %lf\n", f); 1360 *error = xs_fmt("ERROR: unknown future version %lf\n", f);