---
docs/schemas/domaincommon.rng | 5 +++++
src/conf/domain_conf.c | 6 ++++++
src/conf/domain_conf.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 11fa24f398..fdc04f90aa 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -2363,6 +2363,11 @@
<ref name="positiveInteger"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="queue_size">
+ <ref name="positiveInteger"/>
+ </attribute>
+ </optional>
<ref name="virtioOptions"/>
<optional>
<element name="metadata_cache">
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6127513117..cfce32379e 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -8930,6 +8930,9 @@ virDomainDiskDefDriverParseXML(virDomainDiskDef *def,
if (virXMLPropUInt(cur, "queues", 10, VIR_XML_PROP_NONE,
&def->queues) < 0)
return -1;
+ if (virXMLPropUInt(cur, "queue_size", 10, VIR_XML_PROP_NONE,
&def->queue_size) < 0)
+ return -1;
+
return 0;
}
@@ -23416,6 +23419,9 @@ virDomainDiskDefFormatDriver(virBuffer *buf,
if (disk->queues)
virBufferAsprintf(&attrBuf, " queues='%u'",
disk->queues);
+ if (disk->queue_size)
+ virBufferAsprintf(&attrBuf, " queue_size='%u'",
disk->queue_size);
+
virDomainVirtioOptionsFormat(&attrBuf, disk->virtio);
if (disk->src->metadataCacheMaxSize > 0) {
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index c7e6df7981..688a842660 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -584,6 +584,7 @@ struct _virDomainDiskDef {
virDomainDiskDetectZeroes detect_zeroes;
char *domain_name; /* backend domain name */
unsigned int queues;
+ unsigned int queue_size;
virDomainDiskModel model;
virDomainVirtioOptions *virtio;
--
2.17.1