Re: [PATCH 24/28] AFS: Add a function to excise a rejected write from the pagecache [try #2]

From: David Howells
Date: Mon Dec 17 2007 - 17:55:57 EST


Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:

> This reintroduces the fault vs truncate race window, which must be fixed.

Hmmm... perhaps. I remember that cropped up in NFS, but I'm doing things a
bit differently to NFS. Remind me again how that worked please.

> Also, it is adding a fair bit of complexity in an area where we should
> instead be reducing it. I think your filesystem should not be doing
> writeback caching of dirty data in the cases where it is so problematic
> (or at least, disallow mmap and read on the dirty data until it has been
> written back or failed).

Eh? It's a stateless network filesystem. There's a gap between writing to a
file (perhaps though an mmap) and the pagecache pages being written back in
which someone may change the security on a file and block the writeback.
There's nothing I can do to prevent it, so I have to instead deal with the
consequences should they arise. See the description of patch 25 for examples.

So you say I shouldn't do any writeback caching at all?

> But otherwise I guess if you really want to discard the dirty data after
> a failed writeback attempt, what's wrong with just invalidate_inode_pages2?

Erm... Because it deadlocks?

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/