Re: [PATCH 2/4] AFS: Add a function to excise a rejected write from the pagecache

From: David Howells
Date: Thu May 24 2007 - 19:09:15 EST


Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> hm. I don't see why that race window would be a problem in practice: the
> page-exciser does a lock_page();wait_on_page_writeback() as normal, then
> proceeds with its business?

No. The page-exciser ends (cancels) PG_writeback, not waits for it (something
has to clear the flag). The problem is that the truncation routines may be
sat there holding a lock on the page whilst waiting for PG_writeback to go
away - so we have to clear PG_writeback before we can think about getting
PG_lock:-(

> But given that this doesn't work right for some reason, can we use PG_error
> and then handle that appropriately in the filesystem's ->prepare_write() and
> ->page_mkwrite()?

Possibly, though I'd rather they didn't see such a page.

David
-
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/