On Tue, Feb 18, 2014 at 3:14 AM, Daniel P. Berrange <berra...@redhat.com> wrote: > On Tue, Feb 18, 2014 at 03:08:59AM -0700, Michael Still wrote: >> On Tue, Feb 18, 2014 at 2:43 AM, Daniel P. Berrange <berra...@redhat.com> >> wrote: >> >> > So I'd saying changing it to 'disk' is out of the question unless >> > we unconditionally use vfat as the filesystem instead of iso9660. >> >> So, at the moment we conflate a flag about format (iso9660 or vfat) >> with a flag about device type. We could have both as separate flags >> with reasonable defaults. However, at the moment we're pretty much >> presented with a choice of either having a working Windows instance, >> or working block migration. I suspect that's a trade off we don't want >> to have to make. > > Why do we need to support both iso9660 and vfat ? If we only cared > to support vfat, then we could have working Windows and working block > migration.
iso9660 was made the default at the request of the cloud-init author. IIRC the decision was based on it being a "cleaner" interface than vfat (read only, etc). I certainly think we could make vfat the default, and put a big ugly warning about iso9660 in the flag which lets operators select which to use. > Incidentally since you say other virt drivers don't use cdrom, does > this mean they only use vfat, or are they using iso9660 + disk and > thus broken for windows too ? I'm specifically thinking of hyper-v here, and I am sure they tested with Windows. To be honest I don't remember all the details, I just recall that at least one hypervisor had issues with attaching a second cdrom (we support boot from cdrom). >> Do you have any visibility into why cdrom devices don't get migrated >> by libvirt correctly? Is there perhaps a flag to the migrate call we >> could twiddle to make it magically work right? > > It seems to be done on the assumption that we only care about > migrating data for writable disks. I think that was just copied > from QEMU's original built-in block migration so that we had > consistent behaviour. So there's no quick fix in libvirt we can > do - we'd probably have to figure out a way to pass in a list of > disks to be mirrored. > > /* skip shared, RO and source-less disks */ > if (disk->shared || disk->readonly || !disk->src) > continue; Hmmmm. Shame that. Ok, I'll take a pass at changing the default tomorrow. Michael -- Rackspace Australia _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev