summaryrefslogtreecommitdiffstats
path: root/src/launch.c
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-07-02 12:47:37 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-07-02 14:16:35 +0100
commit0437a7905619b8370e25fbae1a3e6388c5277be9 (patch)
tree2d06bc5143df6b2c56e418d543e9f0775677d0fb /src/launch.c
parent1608ca182b094a1dbe22094f39a5e86f18f728b7 (diff)
downloadlibguestfs-0437a7905619b8370e25fbae1a3e6388c5277be9.tar.gz
libguestfs-0437a7905619b8370e25fbae1a3e6388c5277be9.tar.xz
libguestfs-0437a7905619b8370e25fbae1a3e6388c5277be9.zip
Add notes about how qemu cache=none works internally.
This is just a comment and has no functional effect.
Diffstat (limited to 'src/launch.c')
-rw-r--r--src/launch.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/launch.c b/src/launch.c
index ff451ab2..95694ff8 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -297,7 +297,18 @@ guestfs__config (guestfs_h *g,
* So we check if we can open the file with or without O_DIRECT,
* and use cache=none (or not) accordingly.
*
- * NB: This function is only called on the !readonly path. We must
+ * Notes:
+ *
+ * (1) In qemu, cache=none and cache=off are identical.
+ *
+ * (2) cache=none does not disable caching entirely. qemu still
+ * maintains a writeback cache internally, which will be written out
+ * when qemu is killed (with SIGTERM). It disables *host kernel*
+ * caching by using O_DIRECT. To disable caching entirely in kernel
+ * and qemu we would need to use cache=directsync but there is a
+ * performance penalty for that.
+ *
+ * (3) This function is only called on the !readonly path. We must
* try to open with O_RDWR to test that the file is readable and
* writable here.
*/