qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC][PATCH] make sure disk writes actually hit disk


From: andrzej zaborowski
Subject: Re: [Qemu-devel] [RFC][PATCH] make sure disk writes actually hit disk
Date: Mon, 31 Jul 2006 19:50:41 +0200

On 31/07/06, Jens Axboe <address@hidden> wrote:
On Mon, Jul 31 2006, andrzej zaborowski wrote:
> On 30/07/06, Jamie Lokier <address@hidden> wrote:
> >Rik van Riel wrote:
> >> This may look like hair splitting, but so far I've lost a
> >> (test) postgresql database to this 3 times already.  Not getting
> >> the guest application's data to disk when the application calls
> >> fsync is a recipe for disaster.
> >
> >Exactly the same thing happens with real IDE disks if IDE write
> >caching (on the drive itself) is enabled, which it is by default.  It
> >is rarer, but it happens.
>
> The little difference with QEMU is that there are two caches above it:
> the host OS'es software cache and the IDE hardware cache. When a guest
> OS flushes its own software cache its precious data goes to the host's
> software cache while the guest thinks it's already the IDE cache. This
> is ofcourse of less importance because data in both caches (hard- and
> software) is lost when the power is cut off.

But the drive cache does not let the dirty data linger for as long as
wht OS page/buffer cache.

I would say this an argument speaking for actually using O_SYNC.


> IMHO what really makes IO unreliable in QEMU is that IO errors on the
> host are not reported to the guest by the IDE emulation and there's an
> exact place in hw/ide.c where they are arrogantly ignored.

Send a patch, I'm pretty sure nobody would disagree :-)

Here's what I proposed:
http://lists.gnu.org/archive/html/qemu-devel/2005-12/msg00275.html but
I'm afraid it's not correct :P


--
Jens Axboe




--
balrog 2oo6

Dear Outlook users: Please remove me from your address books
http://www.newsforge.com/article.pl?sid=03/08/21/143258




reply via email to

[Prev in Thread] Current Thread [Next in Thread]