summaryrefslogtreecommitdiffstats
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-07 11:24:51 +0100
commit3fb00aad0e5209d0f1e027cca5faa68fa4da69d5 (patch)
treee9d27c719466f6db04b5b7f994f1ac0f5fc51ce9
parent612b540b3e751959dd3293505d1e9a7569fbf210 (diff)
downloadlibguestfs-3fb00aad0e5209d0f1e027cca5faa68fa4da69d5.tar.gz
libguestfs-3fb00aad0e5209d0f1e027cca5faa68fa4da69d5.tar.xz
libguestfs-3fb00aad0e5209d0f1e027cca5faa68fa4da69d5.zip
Add notes about how qemu cache=none works internally.
This is just a comment and has no functional effect. (cherry picked from commit 0437a7905619b8370e25fbae1a3e6388c5277be9)
-rw-r--r--src/launch.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/launch.c b/src/launch.c
index 61b903d9..466ec89c 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -236,7 +236,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.
*/