Re: [libvirt] [PATCH 6/6] conf: Use virXMLFormatElement to format disk source network
On 09/15/2017 12:10 AM, Peter Krempa wrote: > On Thu, Sep 14, 2017 at 14:03:10 -0400, John Ferlan wrote: >> Commit id 'e02ff020cac' neglected to use the attrBuf and childBuf >> in the virDomainDiskSourceFormatNetwork call. >> >> So make the necessary alterations to allow usage. >> >> Signed-off-by: John Ferlan>> --- >> src/conf/domain_conf.c | 34 ++ >> 1 file changed, 14 insertions(+), 20 deletions(-) >> >> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c >> index 09c5bc1ae..a8771a3a4 100644 >> --- a/src/conf/domain_conf.c >> +++ b/src/conf/domain_conf.c >> @@ -21674,13 +21674,14 @@ virDomainSourceDefFormatSeclabel(virBufferPtr buf, >> >> >> static int >> -virDomainDiskSourceFormatNetwork(virBufferPtr buf, >> +virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf, >> + virBufferPtr childBuf, >> virStorageSourcePtr src) >> { >> size_t n; >> char *path = NULL; >> >> -virBufferAsprintf(buf, "> +virBufferAsprintf(attrBuf, " protocol='%s'", >>virStorageNetProtocolTypeToString(src->protocol)); >> >> if (src->volume) { >> @@ -21688,36 +21689,29 @@ virDomainDiskSourceFormatNetwork(virBufferPtr buf, >> return -1; >> } >> >> -virBufferEscapeString(buf, " name='%s'", path ? path : src->path); >> +virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path); >> >> VIR_FREE(path); >> >> -if (src->nhosts == 0 && !src->snapshot && !src->configFile) { >> -virBufferAddLit(buf, "/>\n"); >> -} else { >> -virBufferAddLit(buf, ">\n"); >> -virBufferAdjustIndent(buf, 2); >> +if (src->nhosts > 0 || src->snapshot || src->configFile) { > > This condition isn't necessary as well after these adjustments, drop it > and un-indent the block below. > Oh yeah right... The EscapeString's won't format NULL Tks- John >> >> for (n = 0; n < src->nhosts; n++) { >> -virBufferAddLit(buf, " > -virBufferEscapeString(buf, " name='%s'", src->hosts[n].name); >> +virBufferAddLit(childBuf, " > +virBufferEscapeString(childBuf, " name='%s'", >> src->hosts[n].name); >> >> if (src->hosts[n].port) >> -virBufferAsprintf(buf, " port='%u'", src->hosts[n].port); >> +virBufferAsprintf(childBuf, " port='%u'", >> src->hosts[n].port); >> >> if (src->hosts[n].transport) >> -virBufferAsprintf(buf, " transport='%s'", >> +virBufferAsprintf(childBuf, " transport='%s'", >> >> virStorageNetHostTransportTypeToString(src->hosts[n].transport)); >> >> -virBufferEscapeString(buf, " socket='%s'", >> src->hosts[n].socket); >> -virBufferAddLit(buf, "/>\n"); >> +virBufferEscapeString(childBuf, " socket='%s'", >> src->hosts[n].socket); >> +virBufferAddLit(childBuf, "/>\n"); >> } >> >> -virBufferEscapeString(buf, "\n", >> src->snapshot); >> -virBufferEscapeString(buf, "\n", >> src->configFile); >> - >> -virBufferAdjustIndent(buf, -2); >> -virBufferAddLit(buf, "\n"); >> +virBufferEscapeString(childBuf, "\n", >> src->snapshot); >> +virBufferEscapeString(childBuf, "\n", >> src->configFile); >> } >> >> return 0; > > ACK with the tweak above. > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 6/6] conf: Use virXMLFormatElement to format disk source network
On Thu, Sep 14, 2017 at 14:03:10 -0400, John Ferlan wrote: > Commit id 'e02ff020cac' neglected to use the attrBuf and childBuf > in the virDomainDiskSourceFormatNetwork call. > > So make the necessary alterations to allow usage. > > Signed-off-by: John Ferlan> --- > src/conf/domain_conf.c | 34 ++ > 1 file changed, 14 insertions(+), 20 deletions(-) > > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > index 09c5bc1ae..a8771a3a4 100644 > --- a/src/conf/domain_conf.c > +++ b/src/conf/domain_conf.c > @@ -21674,13 +21674,14 @@ virDomainSourceDefFormatSeclabel(virBufferPtr buf, > > > static int > -virDomainDiskSourceFormatNetwork(virBufferPtr buf, > +virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf, > + virBufferPtr childBuf, > virStorageSourcePtr src) > { > size_t n; > char *path = NULL; > > -virBufferAsprintf(buf, " +virBufferAsprintf(attrBuf, " protocol='%s'", >virStorageNetProtocolTypeToString(src->protocol)); > > if (src->volume) { > @@ -21688,36 +21689,29 @@ virDomainDiskSourceFormatNetwork(virBufferPtr buf, > return -1; > } > > -virBufferEscapeString(buf, " name='%s'", path ? path : src->path); > +virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path); > > VIR_FREE(path); > > -if (src->nhosts == 0 && !src->snapshot && !src->configFile) { > -virBufferAddLit(buf, "/>\n"); > -} else { > -virBufferAddLit(buf, ">\n"); > -virBufferAdjustIndent(buf, 2); > +if (src->nhosts > 0 || src->snapshot || src->configFile) { This condition isn't necessary as well after these adjustments, drop it and un-indent the block below. > > for (n = 0; n < src->nhosts; n++) { > -virBufferAddLit(buf, " -virBufferEscapeString(buf, " name='%s'", src->hosts[n].name); > +virBufferAddLit(childBuf, " +virBufferEscapeString(childBuf, " name='%s'", > src->hosts[n].name); > > if (src->hosts[n].port) > -virBufferAsprintf(buf, " port='%u'", src->hosts[n].port); > +virBufferAsprintf(childBuf, " port='%u'", > src->hosts[n].port); > > if (src->hosts[n].transport) > -virBufferAsprintf(buf, " transport='%s'", > +virBufferAsprintf(childBuf, " transport='%s'", > > virStorageNetHostTransportTypeToString(src->hosts[n].transport)); > > -virBufferEscapeString(buf, " socket='%s'", src->hosts[n].socket); > -virBufferAddLit(buf, "/>\n"); > +virBufferEscapeString(childBuf, " socket='%s'", > src->hosts[n].socket); > +virBufferAddLit(childBuf, "/>\n"); > } > > -virBufferEscapeString(buf, "\n", src->snapshot); > -virBufferEscapeString(buf, "\n", src->configFile); > - > -virBufferAdjustIndent(buf, -2); > -virBufferAddLit(buf, "\n"); > +virBufferEscapeString(childBuf, "\n", > src->snapshot); > +virBufferEscapeString(childBuf, "\n", > src->configFile); > } > > return 0; ACK with the tweak above. signature.asc Description: PGP signature -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH 6/6] conf: Use virXMLFormatElement to format disk source network
Commit id 'e02ff020cac' neglected to use the attrBuf and childBuf in the virDomainDiskSourceFormatNetwork call. So make the necessary alterations to allow usage. Signed-off-by: John Ferlan--- src/conf/domain_conf.c | 34 ++ 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 09c5bc1ae..a8771a3a4 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21674,13 +21674,14 @@ virDomainSourceDefFormatSeclabel(virBufferPtr buf, static int -virDomainDiskSourceFormatNetwork(virBufferPtr buf, +virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf, + virBufferPtr childBuf, virStorageSourcePtr src) { size_t n; char *path = NULL; -virBufferAsprintf(buf, "protocol)); if (src->volume) { @@ -21688,36 +21689,29 @@ virDomainDiskSourceFormatNetwork(virBufferPtr buf, return -1; } -virBufferEscapeString(buf, " name='%s'", path ? path : src->path); +virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path); VIR_FREE(path); -if (src->nhosts == 0 && !src->snapshot && !src->configFile) { -virBufferAddLit(buf, "/>\n"); -} else { -virBufferAddLit(buf, ">\n"); -virBufferAdjustIndent(buf, 2); +if (src->nhosts > 0 || src->snapshot || src->configFile) { for (n = 0; n < src->nhosts; n++) { -virBufferAddLit(buf, " hosts[n].name); +virBufferAddLit(childBuf, " hosts[n].name); if (src->hosts[n].port) -virBufferAsprintf(buf, " port='%u'", src->hosts[n].port); +virBufferAsprintf(childBuf, " port='%u'", src->hosts[n].port); if (src->hosts[n].transport) -virBufferAsprintf(buf, " transport='%s'", +virBufferAsprintf(childBuf, " transport='%s'", virStorageNetHostTransportTypeToString(src->hosts[n].transport)); -virBufferEscapeString(buf, " socket='%s'", src->hosts[n].socket); -virBufferAddLit(buf, "/>\n"); +virBufferEscapeString(childBuf, " socket='%s'", src->hosts[n].socket); +virBufferAddLit(childBuf, "/>\n"); } -virBufferEscapeString(buf, "\n", src->snapshot); -virBufferEscapeString(buf, "\n", src->configFile); - -virBufferAdjustIndent(buf, -2); -virBufferAddLit(buf, "\n"); +virBufferEscapeString(childBuf, "\n", src->snapshot); +virBufferEscapeString(childBuf, "\n", src->configFile); } return 0; @@ -21766,7 +21760,7 @@ virDomainDiskSourceFormatInternal(virBufferPtr buf, break; case VIR_STORAGE_TYPE_NETWORK: -if (virDomainDiskSourceFormatNetwork(buf, src) < 0) +if (virDomainDiskSourceFormatNetwork(, , src) < 0) goto error; break; -- 2.13.5 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list