Re: mismatch_cnt again

Goswin von Brederlow
2009-11-14T19:04:37Z

"Martin K. Petersen" <martin.petersen@oracle.com> writes:

>>>>>> "Bill" == Bill Davidsen <davidsen@tmr.com> writes:
>
>>> FWIW, XFS and btrfs both use the page writeback bit correctly and
>>> never change a page while it is undergoing I/O.
>>>
>>>
> Bill> That's necessary but not sufficient. To be done correctly it must
> Bill> be protected by md as well. This is because arrays are used
> Bill> without a filesystem by some applications, such as swap and
> Bill> database, to name the most common cases.
>
> I agree that making MD RAID1 do a copy would be a quick fix. But I
> don't see any reason to encourage what is essentially sloppy behavior at
> the top of the stack. And then what if you stack MD/DM devices? Do
> each layer do a copy? I think that gets murky pretty quickly.

Maybe as a quick debug the raid layer should make the page read-only
and then watch what fails to write to it.

> I'd much rather fix the cases where the top layers are broken. And as I
> said there are several people working on this spurred by my work on the
> data integrity extensions.
>
> FWIW, databases on raw disk have gone out of fashion. But it is true
> that applications that do direct I/O need to avoid updating buffers in
> flight.

Maybe a flag somewhere saying if the data is safe from writes or
not. Default would be unsafe and md copies. A filesystem that works
"right" sets the safe flag as would md after copying. That way
anything lower in the stack (like another md) has the flag set.

MfG
Goswin