[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