• David Howells's avatar
    netfs: Fix early issue of write op on partial write to folio tail · 6470e0bc
    David Howells authored
    During the writeback procedure, at the end of netfs_write_folio(), pending
    write operations are flushed if the amount of write-streaming data stored
    in a page is less than the size of the folio because if we haven't modified
    a folio to the end, it cannot be contiguous with the following folio...
    except if the dirty region of the folio is right at the end of the folio
    space.
    
    Fix the test to take the offset into the folio into account as well, such
    that if the dirty region runs right up to the end of the folio, we leave
    the flushing for later.
    
    Fixes: 288ace2f ("netfs: New writeback implementation")
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Jeff Layton <jlayton@kernel.org>
    cc: Eric Van Hensbergen <ericvh@kernel.org>
    cc: Latchesar Ionkov <lucho@ionkov.net>
    cc: Dominique Martinet <asmadeus@codewreck.org>
    cc: Christian Schoenebeck <linux_oss@crudebyte.com>
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: Steve French <sfrench@samba.org>
    cc: Paulo Alcantara <pc@manguebit.com> (DFS, global name space)
    cc: v9fs@lists.linux.dev
    cc: linux-afs@lists.infradead.org
    cc: linux-cifs@vger.kernel.org
    cc: netfs@lists.linux.dev
    cc: linux-fsdevel@vger.kernel.org
    Link: https://lore.kernel.org/r/20240620173137.610345-4-dhowells@redhat.comSigned-off-by: default avatarChristian Brauner <brauner@kernel.org>
    6470e0bc
write_issue.c 19.5 KB