[sheepdog] [PATCH RFT 0/4] garbage collect needless VIDs and inode objects

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Mon Dec 15 10:36:56 CET 2014


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.

The above change requires much of changes for tests/functional, so
I'll not apply this series to master soon. If you are interested in
the future, please test it and report the result.

The same thing can be found here:
https://github.com/sheepdog/sheepdog/tree/gc-vid

Hitoshi Mitake (4):
  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

 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              | 238 ++++++++++++++++++++++++++++++++++++++++++++++-
 7 files changed, 254 insertions(+), 13 deletions(-)

-- 
1.8.3.2




More information about the sheepdog mailing list