|
@@ -548,6 +548,7 @@ BlockDriverState *bdrv_cbw_append(BlockDriverState *source,
|
|
|
BlockDriverState *target,
|
|
|
const char *filter_node_name,
|
|
|
bool discard_source,
|
|
|
+ uint64_t min_cluster_size,
|
|
|
BlockCopyState **bcs,
|
|
|
Error **errp)
|
|
|
{
|
|
@@ -567,6 +568,14 @@ BlockDriverState *bdrv_cbw_append(BlockDriverState *source,
|
|
|
qdict_put_str(opts, "file", bdrv_get_node_name(source));
|
|
|
qdict_put_str(opts, "target", bdrv_get_node_name(target));
|
|
|
|
|
|
+ if (min_cluster_size > INT64_MAX) {
|
|
|
+ error_setg(errp, "min-cluster-size too large: %" PRIu64 " > %" PRIi64,
|
|
|
+ min_cluster_size, INT64_MAX);
|
|
|
+ qobject_unref(opts);
|
|
|
+ return NULL;
|
|
|
+ }
|
|
|
+ qdict_put_int(opts, "min-cluster-size", (int64_t)min_cluster_size);
|
|
|
+
|
|
|
top = bdrv_insert_node(source, opts, flags, errp);
|
|
|
if (!top) {
|
|
|
return NULL;
|