[libvirt] [PATCH] Don't reset user/group/security label on shared filesystems during migrate

Laine Stump laine at laine.org
Mon May 17 06:18:39 UTC 2010


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.

Looks like this already went in. (Sorry I didn't catch it earlier - my 
crashed disk has had me a bit behind the ball).

> +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)




More information about the libvir-list mailing list