qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [PATCH][v2] Align file accesses with cache=off (O_D


From: Laurent Vivier
Subject: Re: [Qemu-devel] Re: [PATCH][v2] Align file accesses with cache=off (O_DIRECT)
Date: Wed, 21 May 2008 01:04:47 +0200

Le mardi 20 mai 2008 à 23:36 +0100, Jamie Lokier a écrit :
> Anthony Liguori wrote:
> > >This patch implements wrappers for raw_pread and raw_pwrite which align
> > >all file accesses and make qcow(2) work with cache=off. This method
> > >might not be the most performant one (compared to fixing qcow, qcow2 and
> > >everything else that might be using unaligned accesses), but unaligned
> > >accesses don't happen that frequently and with this patch really all
> > >image accesses should be covered."
> 
> It's a useful patch.
> 
> One little esoteric consequence you might want to document.
> 
> This occurs when a guest is running something like a database or
> journalling filesystem, and is reliant on the host disk's integrity
> properties.
> 
> One property of disks is that if you overwrite a sector and the're
> power loss, when read later that sector might be corrupt.  Even if the
> new data is the same as the old data with only some bytes changed,
> some of the _unchanged_ bytes may be corrupt by this.
> 
> When it writes to sector-aligned offset, there is a possibility that
> the guest is depending on power failure not causing corruption of
> neighouring sectors.  This is typical with some kinds of journalling.
> 
> When sector-aligned guest offsets are converted to sector-unaligned
> writes (e.g. due to qcow2 etc.), that property is no longer satisfied,
> and power failure of the host disk can cause more damage than the
> guest is designed to be resistant to.

Sector unaligned guest offset are converted to sector aligned offset.
Sector aligned guest offset are written as is.

And as we use O_DIRECT and aligned offset and data count I think we
increase disk integrity (regarding the case without O_DIRECT and without
aligned access...), so we should document the case without O_DIRECT use,
not the case with O_DIRECT use...

Regards,
Laurent
-- 
------------- address@hidden ---------------
"The best way to predict the future is to invent it."
- Alan Kay





reply via email to

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