[sheepdog] [PATCH v2 0/5] garbage collect needless VIDs and inode objects

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Tue Jan 13 02:37:40 CET 2015


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




More information about the sheepdog mailing list