On 05/03/2011 10:47 PM, Laine Stump wrote:
>> +++ b/src/qemu/qemu_migration.c
>> @@ -1311,7 +1311,6 @@ qemuMigrationToFile(struct qemud_driver *driver,
>> virDomainObjPtr vm,
>> if (virSecurityManagerSetFDLabel(driver->securityManager, vm,
>> compressor ? pipeFD[1] :
>> fd)< 0)
>> goto cleanup;
>> - is_reg = true;
>> bypassSecurityDriver = true;
>> } else {
>> /* Phooey - we have to fall back on exec migration, where qemu
>
> ACK, but I wonder if this code used to live in a function where is_reg
> *was* used below, was moved into this helper function, and now the
> function that's calling it is doing the wrong thing afterwards because
> it's expecting is_reg to be set to true (and it's not because it was
> passed by value rather than reference).Seeing as how I introduced the bug in the first place, here's more details :) commit 6034ddd moved the code into qemu_migration.c; there, a single read of !is_reg was the condition used to gate whether an attempt was made to do cgroup ACL labelling on a non-regular file. Then the next commit, 34fa0de, sunk the original !is_reg read into an else clause, while adding an if clause for the case when fd: migration is possible. That was the commit that introduced the dead store to is_reg in the if clause. It was leftovers from when I rebased my series to move the code into qemu_migration.c in the first place; in my original proposal, at https://www.redhat.com/archives/libvir-list/2011-March/msg00435.html (or maybe in earlier non-posted trials), I had been using the setting of is_reg to true as a key to skip later cgroup cleanup within the consolidated migration helper code. Either way, the caller, in qemudDomainSaveFlag in qemu_driver.c, really does not want to see any internal changes to is_reg, because that gates whether it does an unlink() on failure. I've pushed it as is, and don't see the need for any future changes. -- Eric Blake [email protected] +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
