Re: [PATCH] cramfs corruption after BLKFLSBUF on loop device

Olaf Hering
2006-06-02T21:06:07Z

On Fri, Jun 02, Andrew Morton wrote:

> Oh, OK, we cannot use read_cache_page(). Because the above is still racy
> (and still needs the retry loop). We need to set PG_checked before
> launching the read. Something like:
>
> /*
> * Return a locked, uptodate, !PagePrivate, !PageChecked page which needs a
> * single put_page by the caller.
> */
> cramfs_read_getpage()
> {
> page = find_lock_page()
> if (PageUptodate(page))
> return page;
> SetPagePrivate()
> SetPageChecked()
> err = m->a_ops->readpage(page);

I guess we have to put a find_or_create_page in there, and fill it.
Will try that tomorrow.