mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* NFS infinite loop in filemap_fault()
@ 2008-05-07 20:34 Miklos Szeredi
  2008-05-08  6:47 ` Miklos Szeredi
  0 siblings, 1 reply; 5+ messages in thread
From: Miklos Szeredi @ 2008-05-07 20:34 UTC (permalink / raw)
  To: trond.myklebust, npiggin; +Cc: linux-kernel, linux-fsdevel

Page fault on NFS apparently goes into an infinite loop if the read on
the server fails.

I don't understand the NFS readpage code, but the filemap_fault() code
looks somewhat suspicious:

	/*
	 * Umm, take care of errors if the page isn't up-to-date.
	 * Try to re-read it _once_. We do this synchronously,
	 * because there really aren't any performance issues here
	 * and we need to check for errors.
	 */
	ClearPageError(page);
	error = mapping->a_ops->readpage(file, page);
	page_cache_release(page);

	if (!error || error == AOP_TRUNCATED_PAGE)
		goto retry_find;

The comment doesn't seem to match what the it actually does: if
->readpage() is asynchronous, then this will just repeat everything,
without any guarantee that it will re-read once.

What am I missing?

Miklos

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-05-08 18:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-07 20:34 NFS infinite loop in filemap_fault() Miklos Szeredi
2008-05-08  6:47 ` Miklos Szeredi
2008-05-08 13:07   ` Josef Bacik
2008-05-08 18:42     ` Miklos Szeredi
2008-05-08 18:29       ` Josef Bacik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®