Bug 473071
| Summary: | libvirt 0.5.0 crashes on new volume XML without a format | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Community] Virtualization Tools | Reporter: | Chris Lalancette <clalance> | ||||
| Component: | libvirt | Assignee: | Daniel Veillard <veillard> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | unspecified | CC: | berrange, crobinso | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2008-12-04 16:33:08 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
Created attachment 325691 [details]
Use default volume format to avoid crash
I cut this last night, seemed to fix the crash but I only did light testing. The patch is pretty simple though so I think it's safe.
Alright, fix for this was committed and in 0.5.1, so closing as CURRENTRELEASE. libvirt-0.5.1-1.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/libvirt-0.5.1-1.fc10 libvirt-0.5.1-1.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/libvirt-0.5.1-1.fc9 |
Following should be sufficient to avoid the crash, but won't add a default format, just point out the missing information Daniel --- src/storage_conf.c 17 Nov 2008 11:19:33 -0000 1.29 +++ src/storage_conf.c 4 Dec 2008 14:12:27 -0000 @@ -961,6 +961,11 @@ ret->target.path = virXPathString(conn, "string(/volume/target/path)", ctxt); if (options->formatFromString) { char *format = virXPathString(conn, "string(/volume/target/format/@type)", ctxt); + if (format == NULL) { + virStorageReportError(conn, VIR_ERR_XML_ERROR, + _("cannot guess missing format type for target")); + goto cleanup; + } if ((ret->target.format = (options->formatFromString)(format)) < 0) { virStorageReportError(conn, VIR_ERR_XML_ERROR, _("unknown volume format type %s"), format);