Messages in this thread | | | From | Jeff Layton <> | Date | Tue, 16 Sep 2014 20:19:29 -0400 | Subject | Re: [PATCH 0/4] Remove possible deadlocks in nfs_release_page() |
| |
On Wed, 17 Sep 2014 09:41:13 +1000 NeilBrown <neilb@suse.de> wrote:
> 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. >
Yep, Trond pointed that out today when we were discussing it. Thanks for confirming it here though...
-- Jeff Layton <jlayton@primarydata.com> [unhandled content-type:application/pgp-signature] | |