Current sheepdog never recycles VIDs. But it will cause problems e.g. VID space exhaustion, too much garbage inode objects.
Keeping deleted inode objects is required because living inodes (snapshots or clones) can point objects of the deleted inodes. So if every member of VDI family is deleted, it is safe to remove deleted inode objects. v2: - update test scripts Hitoshi Mitake (5): sheep: let vdi state have parent VID sheep: construct data structures for representing family tree libsheepdog: provide atomic_clear_bit sheep: garbage collect needless VIDs tests/functional: update test scripts for VID GC feature include/bitops.h | 5 + include/internal_proto.h | 1 + sheep/group.c | 6 +- sheep/ops.c | 8 +- sheep/plain_store.c | 4 +- sheep/sheep_priv.h | 5 +- sheep/vdi.c | 269 ++++++++++++++++++++++++++++++++++++++++++++++- tests/functional/016.out | 12 +-- tests/functional/044.out | 12 +-- tests/functional/046.out | 6 +- tests/functional/086.out | 6 +- tests/functional/092.out | 6 +- tests/functional/093.out | 6 +- 13 files changed, 309 insertions(+), 37 deletions(-) -- 1.9.1 -- sheepdog mailing list sheepdog@lists.wpkg.org https://lists.wpkg.org/mailman/listinfo/sheepdog