On 08/06/2012 01:59 PM, levin li wrote: > From: levin li <[email protected]> > > > Signed-off-by: levin li <[email protected]> > --- > sheep/ops.c | 12 ++++++++-- > sheep/sheep_priv.h | 12 +++++++++- > sheep/vdi.c | 57 +++++++++++++++++++++++++-------------------------- > 3 files changed, 47 insertions(+), 34 deletions(-) > > diff --git a/sheep/ops.c b/sheep/ops.c > index 0cddf66..8793c8d 100644 > --- a/sheep/ops.c > +++ b/sheep/ops.c > @@ -113,11 +113,17 @@ static int cluster_new_vdi(struct request *req) > const struct sd_req *hdr = &req->rq; > struct sd_rsp *rsp = &req->rp; > uint32_t vid = 0, nr_copies = sys->nr_copies; > + struct vdi_iocb iocb; > int ret; > > - ret = add_vdi(req->data, hdr->data_length, > - hdr->vdi.vdi_size, &vid, hdr->vdi.base_vdi_id, > - hdr->vdi.snapid, &nr_copies); > + iocb.data = req->data; > + iocb.data_len = hdr->data_length; > + iocb.size = hdr->vdi.vdi_size; > + iocb.base_vid = hdr->vdi.base_vdi_id; > + iocb.is_snapshot = hdr->vdi.snapid; > + iocb.nr_copies = sys->nr_copies; > + > + ret = add_vdi(&iocb, &vid); > > rsp->vdi.vdi_id = vid; > rsp->vdi.copies = nr_copies; > diff --git a/sheep/sheep_priv.h b/sheep/sheep_priv.h > index 857cf87..afd8c33 100644 > --- a/sheep/sheep_priv.h > +++ b/sheep/sheep_priv.h > @@ -128,6 +128,15 @@ struct siocb { > uint64_t offset; > }; > > +struct vdi_iocb { > + char *data; > + int data_len;
use int32_t as is in sd_req.data_length. Thanks, Yuan -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
