[Sheepdog] [PATCH] sheep: use the first vdi id for vdi attribute objects
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Fri Jul 29 19:46:50 CEST 2011
The vdi id can change if we get the snapshot, so there is a problem
that vdi attributes vanish after taking snapshots.
This patch uses the first vdi id, whose snapid equals 1, for a vdi
attribute object id.
Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
---
sheep/group.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/sheep/group.c b/sheep/group.c
index 9e039e7..7ddc4ed 100644
--- a/sheep/group.c
+++ b/sheep/group.c
@@ -686,6 +686,12 @@ static void vdi_op(struct vdi_op_message *msg)
&vid, hdr->snapid, &nr_copies);
if (ret != SD_RES_SUCCESS)
break;
+ /* the curernt vdi id can change if we take the snapshot,
+ so we use the first vdi id for vdi attributes */
+ ret = lookup_vdi(hdr->epoch, data, SD_MAX_VDI_LEN, &vid, 1,
+ &nr_copies);
+ if (ret != SD_RES_SUCCESS)
+ break;
ret = get_vdi_attr(hdr->epoch, data, hdr->data_length, vid,
&attrid, hdr->flags & SD_FLAG_CMD_CREAT,
hdr->flags & SD_FLAG_CMD_EXCL);
--
1.7.2.5
More information about the sheepdog
mailing list