Re: [PATCH 0/4] Remove possible deadlocks in nfs_release_page()

From: NeilBrown
Date: Tue Sep 16 2014 - 19:41:29 EST


On Tue, 16 Sep 2014 07:47:41 -0400 Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx>
wrote:


> Also, we call things like invalidate_complete_page2 from the cache
> invalidation code. Will we end up with potential problems now that we
> have a stronger possibility that a page might not be freeable when it
> calls releasepage? (no idea on this -- I'm just spitballing)
>

Answering just this part here:
invalidate_complete_page2() is only called immediately after a call to
do_launder_page().
For nfs, that means nfs_launder_page() was called, which calls nfs_wb_page()
which in turn calls
ret = nfs_commit_inode(inode, FLUSH_SYNC);

so the inode is fully committed when invalidate_complete_page2 is called, so
nfs_release_page will succeed.

So there shouldn't be a problem there.

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature