• D
    xfs: use xfs_sync_inodes() for device flushing · a8d770d9
    Dave Chinner 提交于
    Currently xfs_device_flush calls sync_blockdev() which is
    a no-op for XFS as all it's metadata is held in a different
    address to the one sync_blockdev() works on.
    
    Call xfs_sync_inodes() instead to flush all the delayed
    allocation blocks out. To do this as efficiently as possible,
    do it via two passes - one to do an async flush of all the
    dirty blocks and a second to wait for all the IO to complete.
    This requires some modification to the xfs-sync_inodes_ag()
    flush code to do efficiently.
    Signed-off-by: NDave Chinner <david@fromorbit.com>
    Reviewed-by: NChristoph Hellwig <hch@lst.de>
    a8d770d9
xfs_iomap.c 24.5 KB