Re: [PATCH 008 of 8] md/bitmap: Change md/bitmap file handling to use bmap to file blocks.

Neil Brown
2006-05-14T11:16:25Z

On Saturday May 13, akpm@osdl.org wrote:
> Paul Clements <paul.clements@steeleye.com> wrote:
> >
> > Andrew Morton wrote:
> >
> > > The loss of pagecache coherency seems sad. I assume there's never a
> > > requirement for userspace to read this file.
> >
> > Actually, there is. mdadm reads the bitmap file, so that would be
> > broken. Also, it's just useful for a user to be able to read the bitmap
> > (od -x, or similar) to figure out approximately how much more he's got
> > to resync to get an array in-sync. Other than reading the bitmap file, I
> > don't know of any way to determine that.
>
> Read it with O_DIRECT :(

Which is exactly what the next release of mdadm does.
As the patch comment said:

: With this approach the pagecache may contain data which is inconsistent with
: what is on disk. To alleviate the problems this can cause, md invalidates
: the pagecache when releasing the file. If the file is to be examined
: while the array is active (a non-critical but occasionally useful function),
: O_DIRECT io must be used. And new version of mdadm will have support for this.