Skip to content

Commit

Permalink
Merge pull request #9981 from yangdongsheng/rbd_set_vals
Browse files Browse the repository at this point in the history
cls_rbd: set omap values in batch during image creation

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
  • Loading branch information
Jason Dillaman committed Jul 7, 2016
2 parents 7e43e49 + 956c35a commit fb7a1ed
Showing 1 changed file with 12 additions and 21 deletions.
33 changes: 12 additions & 21 deletions src/cls/rbd/cls_rbd.cc
Expand Up @@ -295,33 +295,24 @@ int create(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
}

bufferlist sizebl;
::encode(size, sizebl);
r = cls_cxx_map_set_val(hctx, "size", &sizebl);
if (r < 0)
return r;

bufferlist orderbl;
::encode(order, orderbl);
r = cls_cxx_map_set_val(hctx, "order", &orderbl);
if (r < 0)
return r;

bufferlist featuresbl;
::encode(features, featuresbl);
r = cls_cxx_map_set_val(hctx, "features", &featuresbl);
if (r < 0)
return r;

bufferlist object_prefixbl;
::encode(object_prefix, object_prefixbl);
r = cls_cxx_map_set_val(hctx, "object_prefix", &object_prefixbl);
if (r < 0)
return r;

bufferlist snap_seqbl;
uint64_t snap_seq = 0;
::encode(size, sizebl);
::encode(order, orderbl);
::encode(features, featuresbl);
::encode(object_prefix, object_prefixbl);
::encode(snap_seq, snap_seqbl);
r = cls_cxx_map_set_val(hctx, "snap_seq", &snap_seqbl);

map<string, bufferlist> omap_vals;
omap_vals["size"] = sizebl;
omap_vals["order"] = orderbl;
omap_vals["features"] = featuresbl;
omap_vals["object_prefix"] = object_prefixbl;
omap_vals["snap_seq"] = snap_seqbl;
r = cls_cxx_map_set_vals(hctx, &omap_vals);
if (r < 0)
return r;

Expand Down

0 comments on commit fb7a1ed

Please sign in to comment.