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>
        struct gfs2_inode *ip = GFS2_I(inode);
        struct gfs2_holder gh;
        vm_fault_t ret;
-       u16 state;
        int err;
 
-       state = (vmf->flags & FAULT_FLAG_WRITE) ? LM_ST_EXCLUSIVE : LM_ST_SHARED;
-       gfs2_holder_init(ip->i_gl, state, 0, &gh);
+       gfs2_holder_init(ip->i_gl, LM_ST_SHARED, 0, &gh);
        err = gfs2_glock_nq(&gh);
        if (err) {
                ret = block_page_mkwrite_return(err);