[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 10 May 2019 21:53:04 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: Lukas Czerner <lczerner@...hat.com>
Cc: linux-ext4@...r.kernel.org
Subject: Re: [PATCH] ext4: Fix data corruption caused by overlapping
unaligned and aligned IO
On Mon, May 06, 2019 at 03:49:52PM +0200, Lukas Czerner wrote:
> Unaligned AIO must be serialized because the zeroing of partial blocks
> of unaligned AIO can result in data corruption in case it's overlapping
> another in flight IO.
>
> Currently we wait for all unwritten extents before we submit unaligned
> AIO which protects data in case of unaligned AIO is following overlapping
> IO. However if a unaligned AIO is followed by overlapping aligned AIO we
> can still end up corrupting data.
>
> To fix this, we must make sure that the unaligned AIO is the only IO in
> flight by waiting for unwritten extents conversion not just before the
> IO submission, but right after it as well.
>
> This problem can be reproduced by xfstest generic/538
>
> Signed-off-by: Lukas Czerner <lczerner@...hat.com>
Many thanks, applied.
- Ted
Powered by blists - more mailing lists