On 01/14/2011 02:21 PM, Eric Blake wrote:
On 01/14/2011 10:35 AM, Laine Stump wrote:
The sndbuf value is put inside a<tune> element of each<interface> in
the domain. The intent is that further tunable settings will also be
placed inside this element.
<interface type='network'>
...
<tune>
<sndbuf>0</sndbuf>
...
</tune>
</interface>
---
Changes from V1:
sndbuf_specified is now a bool rather than an int bitfield.
sndbuf is now unsigned long. Made possible by eblake's patch adding new
virXPath* and virStrToLong_* functions.
Glad to hear it :)
+ if (virXPathULong("string(./tune/sndbuf)", ctxt,&def->tune.sndbuf)>= 0) {
+ def->tune.sndbuf_specified = true;
+ }
This silently ignores invalid values, such as<sndbuf>-1</sndbuf>,
rather than flagging them as errors. Is that intentional?
ACK, with that nit addressed.
I squashed in the following diff and pushed (I'm sure this diff will be
mangled by Thunderbird, but it's for informational purposes anyway):
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5b1516d..4a7f879 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2305,6 +2305,7 @@ virDomainNetDefParseXML(virCapsPtr caps,
virVirtualPortProfileParams virtPort;
bool virtPortParsed = false;
xmlNodePtr oldnode = ctxt->node;
+ int ret;
if (VIR_ALLOC(def) < 0) {
virReportOOMError();
@@ -2600,8 +2601,13 @@ virDomainNetDefParseXML(virCapsPtr caps,
}
}
- if (virXPathULong("string(./tune/sndbuf)", ctxt, &def->tune.sndbuf)
>= 0) {
+ ret = virXPathULong("string(./tune/sndbuf)", ctxt, &def->tune.sndbuf);
+ if (ret >= 0) {
def->tune.sndbuf_specified = true;
+ } else if (ret == -2) {
+ virDomainReportError(VIR_ERR_XML_ERROR, "%s",
+ _("sndbuf must be a positive integer"));
+ goto error;
}
cleanup:
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list