Messages in this thread | | | Date | Wed, 17 Sep 2014 09:41:13 +1000 | From | NeilBrown <> | Subject | Re: [PATCH 0/4] Remove possible deadlocks in nfs_release_page() |
| |
On Tue, 16 Sep 2014 07:47:41 -0400 Jeff Layton <jeff.layton@primarydata.com> 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 [unhandled content-type:application/pgp-signature] | |