[dm-devel] dm-raid1 barriers
Alasdair G Kergon
agk at redhat.com
Mon Nov 16 18:48:02 UTC 2009
On Mon, Nov 16, 2009 at 11:50:56AM -0500, Mikulas Patocka wrote:
> When there are no writes pending for a given region, we set the bit in
> memory, indicating that the region is clean.
> Some times later (usually while setting another dirty bit in the log), we
> write the log to disk.
> Before writing the log, we must flush cache on both mirror legs.
> (otherwise, we might write some bit as clean while the data is still
> pending in the disk cache)
>
> If this flush fails, the bits in memory are already clean and we don't
> know which regions may hold unwritten data in the disk cache and which
Actually we do: the on-disk version of the log tells us.
> not. So, we must set all regions as dirty.
Anyway, let's not try to handle these situations at the moment.
what I need for now, is a way to know whether or not this situation has
actually occurred when we get reports from users, so probably a kernel
log message, a dm event raised plus a failure indicator against the device in
the status line.
Alasdair
More information about the dm-devel
mailing list