summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'data.c')
-rw-r--r--data.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/data.c b/data.c
index cd9c5e7..a544d1c 100644
--- a/data.c
+++ b/data.c
@@ -2498,7 +2498,25 @@ void purge_server(void)
2498 xs *itl_fn = xs_fmt("%s/public.idx", srv_basedir); 2498 xs *itl_fn = xs_fmt("%s/public.idx", srv_basedir);
2499 int itl_gc = index_gc(itl_fn); 2499 int itl_gc = index_gc(itl_fn);
2500 2500
2501 srv_debug(1, xs_fmt("purge: global (obj: %d, idx: %d, itl: %d)", cnt, icnt, itl_gc)); 2501 /* purge tag indexes */
2502 xs *tag_spec = xs_fmt("%s/tag/??", srv_basedir);
2503 xs *tag_dirs = xs_glob(tag_spec, 0, 0);
2504 p = tag_dirs;
2505
2506 int tag_gc = 0;
2507 while (xs_list_iter(&p, &v)) {
2508 xs *spec2 = xs_fmt("%s/" "*.idx", v);
2509 xs *files = xs_glob(spec2, 0, 0);
2510 xs_list *p2;
2511 xs_str *v2;
2512
2513 p2 = files;
2514 while (xs_list_iter(&p2, &v2))
2515 tag_gc += index_gc(v2);
2516 }
2517
2518 srv_debug(1, xs_fmt("purge: global "
2519 "(obj: %d, idx: %d, itl: %d, tag: %d)", cnt, icnt, itl_gc, tag_gc));
2502} 2520}
2503 2521
2504 2522