OSDN Git Service

Revert "gfs2: Fix mmap locking for write faults"
authorAndreas Gruenbacher <agruenba@redhat.com>
Tue, 1 Jun 2021 20:53:27 +0000 (22:53 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 1 Jun 2021 21:16:42 +0000 (23:16 +0200)
commitd5b8145455c629e7f157d2da46a9b2fba483f235
treea940ad03fdaffc9b7914cfb6e466d01f37861713
parentc2131f7e73c9e9365613e323d65c7b9e5b910f56
Revert "gfs2: Fix mmap locking for write faults"

This reverts commit b7f55d928e75557295c1ac280c291b738905b6fb.

As explained by Linus in [*], write faults on a mmap region are reads
from a filesysten point of view, so taking the inode glock exclusively
on write faults is incorrect.

Instead, when a page is marked writable, the .page_mkwrite vm operation
will be called, which is where the exclusive lock taking needs to
happen.  I got this wrong because of a broken test case that made me
believe .page_mkwrite isn't getting called when it actually is.

[*] https://lore.kernel.org/lkml/CAHk-=wj8EWr_D65i4oRSj2FTbrc6RdNydNNCGxeabRnwtoU=3Q@mail.gmail.com/

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/file.c