
On Mon, May 17, 2010 at 02:18:39AM -0400, Laine Stump wrote:
On 05/13/2010 11:52 AM, Daniel P. Berrange wrote: [...]
@@ -11093,7 +11095,9 @@ qemudDomainMigratePerform (virDomainPtr dom, }
/* Clean up the source domain. */ - qemudShutdownVMDaemon(driver, vm); + fprintf(stderr, "******************* MIG \n"); + qemudShutdownVMDaemon(driver, vm, 1); + fprintf(stderr, "******************* YEEHAAA\n"); resume = 0;
Ahem.
I pushed a fix for this.
+int virStorageFileIsSharedFS(const char *path) +{ + struct statfs sb; + + if (statfs(path,&sb)< 0) { + virReportSystemError(errno, + _("cannot determine filesystem for '%s'"), + path); + return -1; + }
So I'm guessing in this use case, the destination directory will always be stat-able by root? (makes sense, since otherwise you're implying root-squash, and in that case you wouldn't be able to chown the file anyway) (If it isn't always stat-able, you'd have to do the trick of iteratively cropping off the last element of the path and retrying, until you found the local mount point, which is always stat-able by root, and will return the proper FS magic)
If you are doing migration on a root squashing NFS server, you need to set the 'dynamic_ownership' setting to 0 in qemu.conf. At that point this new code is never executed so its safe Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|