[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <6375EE02-90AB-442B-B079-E44D0D0FC346@linuxhacker.ru>
Date: Fri, 11 Dec 2009 02:14:01 -0500
From: Oleg Drokin <green@...uxhacker.ru>
To: linux-ext4@...r.kernel.org
Cc: Alex Zhuravlev <Alex.Zhuravlev@....COM>,
Andreas Dilger <adilger@....COM>
Subject: Re: Potential data consistency issue with ASYNC_COMMIT feature
Whoops, nevermind, it seems blkdev_issue_flush after commit does the barrier, I see it now.
It's just rhel5 kernel that is affected.
On Dec 11, 2009, at 1:45 AM, Oleg Drokin wrote:
> Hello!
>
> I think ext4 ASYNC_COMMIT feature is potentially pretty unsafe
> when write-back cache is enabled on the device.
> Since no barriers are ever done with this feature even if
> the barriers are enabled, we might end up in the situation
> where we write the journal blocks, then commit block, they
> hit the device write-back cache, after that actual metadata
> blocks would be allowed to go to disk and eventually they will.
>
> In the end the device might decide to reorder some of the
> actual metadata updates in front of journal updates and
> if metadata updates will hit the disk and a power or other
> failure occurs after that, we have inconsistent filesystem
> as a result.
>
> I do not see an easy way to remedy the problem in this case
> other than to insert empty barrier after the commit block
> and wait for it completion, but I think that would negate
> the entire gain from this feature. I wish we actually had
> real ordered writes implemented, not just barrier/FUA
> sent to the device before every ordered buffer.
>
> Am I missing something?
>
> Thanks.
>
> Bye,
> Oleg
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists