Recycling VDI IDs of deleted VDIs is a completely wrong idea. It breaks relations between inode objects and data objects. For example, it can cause a problem of corrupting cloned VDIs (see related issue). This patch forbids the recycling.
Related issue: https://bugs.launchpad.net/sheepdog-project/+bug/1317755 Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp> Signed-off-by: Liu Yuan <namei.u...@gmail.com> Conflicts: sheep/vdi.c Conflicts were resolved by Hitoshi Mitake. Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp> --- sheep/vdi.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sheep/vdi.c b/sheep/vdi.c index be30d8f..1839de7 100644 --- a/sheep/vdi.c +++ b/sheep/vdi.c @@ -541,13 +541,6 @@ static int fill_vdi_info_range(uint32_t left, uint32_t right, if (ret != SD_RES_SUCCESS) goto out; - if (vdi_is_deleted(inode)) { - /* Recycle the deleted inode for fresh vdi create */ - if (!iocb->create_snapshot) - info->free_bit = i; - continue; - } - if (!strncmp(inode->name, name, strlen(inode->name))) { sd_debug("%s = %s, %u = %u", iocb->tag, inode->tag, iocb->snapid, inode->snap_id); -- 1.9.1 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog