2010-06-24 00:16:03 -0000, Jamie Lokier:
> Serge Hallyn wrote:
> > The default of qemu-img (of using O_SYNC) is not very sensible
> > because anyway, the client (the kernel) uses caches (write-back),
> > (and "qemu-nbd -d" doesn't flush those by the way). So if for
> > instance qemu-nbd is killed, regardless of whether qemu-nbd uses
> > O_SYNC, O_DIRECT or not, the data in the image will not be
> > consistent anyway, unless "syncs" are done by the client (like fsync
> > on the nbd device or sync mount option), and with qemu-nbd's O_SYNC
> > mode, those "sync"s will be extremely slow.
> 
> Do the "client syncs" cause the nbd server to fsync or fdatasync the
> file?

The clients syncs cause the data to be sent to the server. The
server then writes it to disk and each write blocks until the
data is written physically on disk with O_SYNC.

> > It appears it is because by default the disk image it serves is open
> > with O_SYNC. The --nocache option, unintuitively, makes matters a
> > bit better because it causes the image to be open with O_DIRECT
> > instead of O_SYNC.
> [...]
> > --cache=off is the same as --nocache (that is use O_DIRECT),
> > writethrough is using O_SYNC and is still the default so this patch
> > doesn't change the functionality. writeback is none of those flags,
> > so is the addition of this patch. The patch also does an fsync upon
> > "qemu-nbd -d" to make sure data is flushed to the image before
> > removing the nbd.
> 
> I really wish qemu's options didn't give the false impression
> "nocache" does less caching than "writethrough".  O_DIRECT does
> caching in the disk controller/hardware, while O_SYNC hopefully does
> not, nowadays.
[...]

Note that I use the same "none", "writethrough", "writeback" as
another utility shipped with qemu for consistency (see vl.c in
the source), I don't mind about the words as long as the
"writeback" functionality is available.

Cheers,
Stephane

-- 
qemu-nbd slow and missing "writeback" cache option
https://bugs.launchpad.net/bugs/595117
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to qemu-kvm in ubuntu.

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to