Daniel P. Berrange wrote:
On Wed, Oct 08, 2008 at 11:53:14AM -0500, Anthony Liguori wrote:
Daniel P. Berrange wrote:
On Wed, Oct 08, 2008 at 10:51:16AM -0500, Anthony Liguori wrote:
A great deal of virtualization users are doing some form of homogeneous
consolidation. If they have a good set of management tools or
sophisticated storage, then their guests will be sharing base images or
something like that. Caching in the host will result in major
performance improvements because otherwise, the same data will be
fetched multiple times.
NB, this has no impact on caching of backing files - QEMU masks out
the O_DIRECT flag when opening the backing file
It doesn't mask out O_DIRECT, it just doesn't pass any flags to the
backing file when it opens it. IMHO, this is a bug.
Perhaps I'm interpreting the wrong bit of code, but I was looking at
QEMU's block.c in the bdrv_open2() function. The last thing it does
is this, which masks out all flags except for the open mode:
if (bs->backing_file[0] != '\0') {
if (bdrv_open(bs->backing_hd, backing_filename, flags & (BDRV_O_RDONLY | BDRV_O_RDWR)) < 0)
goto fail;
}
if (bs->backing_file[0] != '\0') {
/* if there is a backing file, use it */
bs->backing_hd = bdrv_new("");
if (!bs->backing_hd) {
fail:
bdrv_close(bs);
return -ENOMEM;
}
path_combine(backing_filename, sizeof(backing_filename),
filename, bs->backing_file);
if (bdrv_open(bs->backing_hd, backing_filename, 0) < 0)
goto fail;
}
Is what's in the latest QEMU tree. Is what you're looking at carrying a
patch, perhaps? If so, there may be a bug in the patch.
Regards,
Anthony Liguori
Daniel
--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list