Current init_objlist_and_vdi_bitmap() sets a bit of corresponding VDI before initializing the VDI. This should be done after the initialization for defensive purpose.
Signed-off-by: Hitoshi Mitake <[email protected]> Signed-off-by: MORITA Kazutaka <[email protected]> --- sheep/plain_store.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sheep/plain_store.c b/sheep/plain_store.c index 6a2ee56..e35a7e7 100644 --- a/sheep/plain_store.c +++ b/sheep/plain_store.c @@ -191,6 +191,7 @@ static int init_vdi_state(uint64_t oid, char *wd, uint32_t epoch) add_vdi_state(oid_to_vid(oid), inode->nr_copies, vdi_is_snapshot(inode)); + set_bit(oid_to_vid(oid), sys->vdi_inuse); ret = SD_RES_SUCCESS; out: @@ -206,7 +207,6 @@ static int init_objlist_and_vdi_bitmap(uint64_t oid, char *wd, uint32_t epoch, if (is_vdi_obj(oid)) { sd_debug("found the VDI object %" PRIx64, oid); - set_bit(oid_to_vid(oid), sys->vdi_inuse); ret = init_vdi_state(oid, wd, epoch); if (ret != SD_RES_SUCCESS) return ret; -- 1.7.10.4 -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
