[libvirt] [PATCH] Only check for cluster fs if we're using a filesystem

Guido Günther agx at sigxcpu.org
Fri Jun 8 18:28:27 UTC 2012


On Fri, Jun 08, 2012 at 03:34:41PM +0100, Daniel P. Berrange wrote:
> On Fri, Jun 08, 2012 at 02:19:08PM +0200, Guido Günther wrote:
> > otherwise migration fails for e.g. network filesystems like sheepdog
> > with:
> > 
> >    error: Invalid relative path 'virt-name': Invalid argument
> > 
> > while we should fail with:
> > 
> >     Migration may lead to data corruption if disks use cache != none
> > 
> > References:
> > 
> >     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676328
> >     https://www.redhat.com/archives/libvirt-users/2012-May/msg00088.html
> > ---
> >  src/qemu/qemu_migration.c |   11 +++++++----
> >  1 file changed, 7 insertions(+), 4 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> > index b58380b..a1fb962 100644
> > --- a/src/qemu/qemu_migration.c
> > +++ b/src/qemu/qemu_migration.c
> > @@ -840,10 +840,13 @@ qemuMigrationIsSafe(virDomainDefPtr def)
> >              !disk->readonly &&
> >              disk->cachemode != VIR_DOMAIN_DISK_CACHE_DISABLE) {
> >              int cfs;
> > -            if ((cfs = virStorageFileIsClusterFS(disk->src)) == 1)
> > -                continue;
> > -            else if (cfs < 0)
> > -                return false;
> > +
> > +            if (disk->type == VIR_DOMAIN_DISK_TYPE_FILE) {
> > +                if ((cfs = virStorageFileIsClusterFS(disk->src)) == 1)
> > +                    continue;
> > +                else if (cfs < 0)
> > +                    return false;
> > +            }
> 
> ACK
Pushed. Thanks,
 -- Guido




More information about the libvir-list mailing list