Re: NFS infinite loop in filemap_fault()

From: Miklos Szeredi
Date: Thu May 08 2008 - 14:42:32 EST


> > Index: linux.git/mm/filemap.c
> > ===================================================================
> > --- linux.git.orig/mm/filemap.c 2008-05-08 08:17:22.000000000 +0200
> > +++ linux.git/mm/filemap.c 2008-05-08 08:19:59.000000000 +0200
> > @@ -1461,6 +1461,12 @@ page_not_uptodate:
> > */
> > ClearPageError(page);
> > error = mapping->a_ops->readpage(file, page);
> > + if (!error && !PageUptodate(page)) {
>
> Shouldn't you have (!error || error != AOP_TRUNCATED_PAGE),

That would be a rather useless condition (hint: '!error' means 'error == 0')

> since the fs can
> return AOP_TRUNCATED_PAGE if it needs vfs to try the readpage again?

Yep, I din't touch the 'error != 0' codepath.

Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/