diff options
author | default <nobody@localhost> | 2022-11-23 13:49:30 +0100 |
---|---|---|
committer | default <nobody@localhost> | 2022-11-23 13:49:30 +0100 |
commit | 14bcc0f8588935b5b382e5abe07ac8b506e80287 (patch) | |
tree | bb94daf514fa8a1d827652b4775bc87874fe9d02 | |
parent | 3e3e091cdb403a54013dde1cc8a103fae6b0147a (diff) |
New db_layout 2.1.
-rw-r--r-- | data.c | 27 |
1 files changed, 19 insertions, 8 deletions
@@ -13,7 +13,7 @@ #include <glob.h> #include <sys/stat.h> -double db_layout = 2.0; +double db_layout = 2.1; int db_upgrade(d_char **error); @@ -1246,25 +1246,34 @@ int db_upgrade(d_char **error) do { char *layout = xs_dict_get(srv_config, "layout"); + double nf; - f = xs_number_get(layout); + f = nf = xs_number_get(layout); if (f < 2.0) { - *error = xs_fmt("ERROR: unsupported old disk layout %lf\n", f); + *error = xs_fmt("ERROR: unsupported old disk layout %1.1lf\n", f); ret = 0; break; } -/* else + else if (f < 2.1) { - srv_log(xs_dup("upgrading db layout to version 2.1")); - xs *dir = xs_fmt("%s/object", srv_basedir); mkdir(dir, 0755); - xs *nv = xs_number_new(2.1); + nf = 2.1; + } + + if (f < nf) { + f = nf; + xs *nv = xs_number_new(f); srv_config = xs_dict_set(srv_config, "layout", nv); + + srv_log(xs_fmt("upgraded db layout to version %1.1lf", f)); changed++; - }*/ + } + else + break; + } while (f < db_layout); if (f > db_layout) { @@ -1281,6 +1290,8 @@ int db_upgrade(d_char **error) xs *j = xs_json_dumps_pp(srv_config, 4); fwrite(j, strlen(j), 1, f); fclose(f); + + srv_log(xs_fmt("upgraded db %s after %d changes", fn, changed)); } else ret = 0; |