Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH 24/28] AFS: Add a function to excise a rejected write from the pagecache [try #2] | Date | Mon, 17 Dec 2007 22:54:31 +0000 |
| |
Nick Piggin <nickpiggin@yahoo.com.au> 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
| |