[libvirt] storage_backend_fs.c Bug

Daniel Veillard veillard at redhat.com
Thu Feb 26 14:37:16 UTC 2009


On Tue, Feb 17, 2009 at 02:49:22PM +0000, Daniel P. Berrange wrote:
> On Tue, Feb 17, 2009 at 09:44:24AM -0500, Cole Robinson wrote:
> > Jim Meyering wrote:
> > > Russell <russellhaering at gmail.com> wrote:
> > >> Line 1133 of storage_backend_fs.c in 0.6.0:
> > >>
> > >>         if (vol->target.backingStore != NULL) {
> > >>             virStorageReportError(conn, VIR_ERR_NO_SUPPORT,
> > >>                                   _("copy-on-write image not supported with "
> > >>                                     "qcow-create"));
> > >>             return -1;
> > >>         }
> > >>
> > >> virStorageVolTarget has no member called backingStore, resulting in
> > >> compile errors.
> > > 
> > > Thanks for the report.
> > > Here's a patch:
> > > 
> > >>From 5ba834b615a90df49da46d3f3c74cee1f9a5adec Mon Sep 17 00:00:00 2001
> > > From: Jim Meyering <meyering at redhat.com>
> > > Date: Tue, 17 Feb 2009 11:05:41 +0100
> > > Subject: [PATCH] fix compile-error when configured without qemu-img
> > > 
> > > * src/storage_backend_fs.c (virStorageBackendFileSystemVolCreate):
> > > Test vol->target.path, not vol->target.backingStore.
> > > Reported by Russell Haering.
> > > ---
> > >  src/storage_backend_fs.c |    2 +-
> > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > > 
> > > diff --git a/src/storage_backend_fs.c b/src/storage_backend_fs.c
> > > index 240de96..488f578 100644
> > > --- a/src/storage_backend_fs.c
> > > +++ b/src/storage_backend_fs.c
> > > @@ -1130,7 +1130,7 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn,
> > >                                    vol->target.format);
> > >              return -1;
> > >          }
> > > -        if (vol->target.backingStore != NULL) {
> > > +        if (vol->target.path != NULL) {
> > >              virStorageReportError(conn, VIR_ERR_NO_SUPPORT,
> > >                                    _("copy-on-write image not supported with "
> > >                                      "qcow-create"));
> > 
> > That will fix the compilation failure, but doesn't match the error
> > message. I think the correct fix is:
> > 
> > -        if (vol->target.backingStore != NULL) {
> > +        if (vol->backingStore != NULL) {
> 
> No, it should be
> 
>    if (vol->backingStore.path != NULL) {
> 
> 
> Both 'backingStore' and 'target are embedded instances of virStorageVolTarget
> struct, so you have to check the 'path' field of that struct for NULL

  Okay I have applied this change since nobody did it,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list