Re: serious bug in filemap.c

really kuznet@ms2.inr.ac.ru (inr-linux-kernel@ms2.inr.ac.ru)
22 May 1996 18:09:24 +0400


Stephen C. Tweedie (sct@dcs.ed.ac.UK) wrote:
>
> wait_on_page() should not return until all the outstanding IO on the
> page has been completed, and the page is now unlocked. At this point,
> !PageUptodate(page) is not an indication that IO is still outstanding
> --- it is an indication that there was an error in the IO and the page
> has not been read correctly.
>
> We definitely have to deal with this condition, but I think the right
> way would be to treat it as an error rather than simply resubmitting
> the IO request.
>

You forgot about NFS. When asynchronous request will be timed out
we will get not locked and not uptodate page with error flag set.

BTW I stole this fix from generic_file_read function.
If it is broken, generic_file_read is broken too.

Alexey Kuznetsov