[sheepdog] [PATCH 0/6] fix vdi recycling

Liu Yuan namei.unix at gmail.com
Mon Mar 16 13:49:28 CET 2015

From: Liu Yuan <liuyuan at cmss.chinamobile.com>

This patch set mainly revert the patch set that broke the old vdi recycling
algorithm that allow vdi to be recycled if it is deleted, though we keep deleted
inodes in the storage because of vdi allocation algorithm assumes it.

The old vid recycle work as following:

1. for non-snapshot vdi, we can reuse the vdi id if it is deleted.
2. for snapshoted vdi, we can't reuse it unless we have the whole chain deleted
   because some other vdi might share the data objects within this deleted
3  clone --no-share will help us drag the cloned vdi out of snapthot chain, so
   it will be used as the tool to delete the whole snapshot chain.

The last patch fixes a subtle regression by re-create the deleted vdi.

Liu Yuan (6):
  Revert "sheep: garbage collect needless VIDs"
  Revert "sheep: construct data structures for representing family tree"
  Revert "sheep: let vdi state have parent VID"
  Revert "tests/functional: update test scripts for VID GC feature"
  Revert "sheep: don't recycle VDI ID"
  sheep: clear bit in vdi_deleted if vdi is created

 include/internal_proto.h |   1 -
 sheep/group.c            |   6 +-
 sheep/ops.c              |  15 +--
 sheep/plain_store.c      |   4 +-
 sheep/sheep_priv.h       |   5 +-
 sheep/vdi.c              | 276 +++--------------------------------------------
 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 +-
 12 files changed, 49 insertions(+), 306 deletions(-)


More information about the sheepdog mailing list