• Andreas Gruenbacher's avatar
    gfs2: Fix iomap buffered write support for journaled files (2) · fee5150c
    Andreas Gruenbacher authored
    It turns out that the fix in commit 6636c3cc56 is bad; the assertion
    that the iomap code no longer creates buffer heads is incorrect for
    filesystems that set the IOMAP_F_BUFFER_HEAD flag.
    
    Instead, what's happening is that gfs2_iomap_begin_write treats all
    files that have the jdata flag set as journaled files, which is
    incorrect as long as those files are inline ("stuffed").  We're handling
    stuffed files directly via the page cache, which is why we ended up with
    pages without buffer heads in gfs2_page_add_databufs.
    
    Fix this by handling stuffed journaled files correctly in
    gfs2_iomap_begin_write.
    
    This reverts commit 6636c3cc5690c11631e6366cf9a28fb99c8b25bb.
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    fee5150c
bmap.c 63.4 KB