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

From: Jeff Layton
Date: Tue Sep 16 2014 - 20:19:36 EST


On Wed, 17 Sep 2014 09:41:13 +1000
NeilBrown <neilb@xxxxxxx> wrote:

> 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.
>

Yep, Trond pointed that out today when we were discussing it. Thanks
for confirming it here though...

--
Jeff Layton <jlayton@xxxxxxxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature