diff options
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 20 |
1 files changed, 19 insertions, 1 deletions
| @@ -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 | ||