[Sheepdog] [PATCH] sheepdog: set the number of copies in every object requests

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Wed Dec 23 19:26:55 CET 2009


The number of copies is used when forwarding requests

Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
---
 block/sheepdog.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/block/sheepdog.c b/block/sheepdog.c
index 5dd8fcd..ec5c16b 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -1090,7 +1090,6 @@ static int add_aio_request(struct bdrv_sd_state *s, struct sd_aiocb *acb,
 		} else if (create) {
 			wlen = datalen;
 			hdr.opcode = SD_OP_CREATE_AND_WRITE_OBJ;
-			hdr.copies = s->inode.nr_copies;
 			hdr.flags = SD_FLAG_CMD_WRITE | flags;
 		} else {
 			wlen = datalen;
@@ -1098,6 +1097,7 @@ static int add_aio_request(struct bdrv_sd_state *s, struct sd_aiocb *acb,
 			hdr.flags = SD_FLAG_CMD_WRITE | flags;
 		}
 
+		hdr.copies = s->inode.nr_copies;
 		hdr.oid = oid;
 		hdr.cow_oid = old_oid;
 
@@ -1153,6 +1153,8 @@ static int read_vdi_obj(char *buf, uint64_t oid,
 	hdr.epoch = s_epoch;
 	hdr.opcode = SD_OP_READ_OBJ;
 	hdr.oid = oid;
+	/* TODO: use ANAME_COPIES in the vdi directory */
+	hdr.copies = 3;
 	hdr.data_length = rlen;
 
 	sidx = obj_to_sheep(e, nr, oid, i);
-- 
1.6.5




More information about the sheepdog mailing list