• Christoph Hellwig's avatar
    xfs: a few small tweaks for overwrites in xfs_vm_writepage · 6ac7248e
    Christoph Hellwig authored
    Don't trylock the buffer.  We are the only one ever locking it for a
    regular file address space, and trylock was only copied from the
    generic code which did it due to the old buffer based writeout in
    jbd.  Also make sure to only write out the buffer if the iomap
    actually is valid, because we wouldn't have a proper mapping
    otherwise.  In practice we will never get an invalid mapping here as
    the page lock guarantees truncate doesn't race with us, but better
    be safe than sorry.  Also make sure we allocate a new ioend when
    crossing boundaries between mappings, just like we do for delalloc
    and unwritten extents.  Again this currently doesn't matter as the
    I/O end handler only cares for the boundaries for unwritten extents,
    but this makes the code fully correct and the same as for
    delalloc/unwritten extents.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
    Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
    6ac7248e
xfs_aops.c 37.9 KB