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? > 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. -- Jamie -- 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 Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs