qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <qemu@kernel.dk>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC][PATCH] make sure disk writes actually hit disk
Date: Mon, 31 Jul 2006 09:08:44 +0200	[thread overview]
Message-ID: <20060731070844.GF14748@suse.de> (raw)
In-Reply-To: <44CB77DF.9030700@redhat.com>

On Sat, Jul 29 2006, Rik van Riel wrote:
> Fabrice Bellard wrote:
> >Hi,
> >
> >Using O_SYNC for disk image access is not acceptable: QEMU relies on the 
> >host OS to ensure that the data is written correctly.
> 
> This means that write ordering is not preserved, and on a power
> failure any data written by qemu (or Xen fully virt) guests may
> not be preserved.
> 
> Applications running on the host can count on fsync doing the
> right thing, meaning that if they call fsync, the data *will*
> have made it to disk.  Applications running inside a guest have
> no guarantees that their data is actually going to make it
> anywhere when fsync returns...

Then the guest OS is broken. Applications issuing an fsync() should
issue a flush (or write-through), the guest OS should propagate this
knowledge through it's io stack and the QEMU hard drive should get
notified. If the guest OS isn't doing what it's supposed to, QEMU can't
help you. And, in fact, running your app on the same host OS with write
back caching would screw you as well. The timing window will probably be
larger with QEMU, but the problem is essentially the same.

-- 
Jens Axboe

  parent reply	other threads:[~2006-07-31  7:08 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-28 19:54 [Qemu-devel] [RFC][PATCH] make sure disk writes actually hit disk Rik van Riel
2006-07-28 19:58 ` [Qemu-devel] " Rik van Riel
2006-07-28 20:12 ` Anthony Liguori
2006-07-28 20:18   ` Rik van Riel
2006-07-28 20:30     ` Paul Brook
2006-07-28 20:43       ` Rik van Riel
2006-07-28 21:01         ` Paul Brook
2006-07-31  7:08     ` Jens Axboe
2006-07-29  9:57 ` [Qemu-devel] " Fabrice Bellard
2006-07-29 14:59   ` Rik van Riel
2006-07-29 16:04     ` Paul Brook
2006-07-29 16:22       ` Rik van Riel
2006-07-29 16:31         ` Paul Brook
2006-07-31  7:08           ` Jens Axboe
2006-07-29 17:33     ` Bill C. Riemers
2006-07-30 21:47       ` Jamie Lokier
2006-07-30 21:41     ` Jamie Lokier
2006-07-31  9:52       ` andrzej zaborowski
2006-07-31 10:17         ` Jens Axboe
2006-07-31 17:50           ` andrzej zaborowski
2006-07-31  7:08     ` Jens Axboe [this message]
2006-07-31  7:56       ` Jonas Maebe
2006-07-31  8:18         ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060731070844.GF14748@suse.de \
    --to=qemu@kernel.dk \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).