• Christoph Hellwig's avatar
    xfs: split xfs_sync_inodes · 075fe102
    Christoph Hellwig authored
    xfs_sync_inodes is used to write back either file data or inode metadata.
    In general we always do these separately, except for one fishy case in
    xfs_fs_put_super that does both.  So separate xfs_sync_inodes into
    separate xfs_sync_data and xfs_sync_attr functions.  In xfs_fs_put_super
    we first call the data sync and then the attr sync as that was the previous
    order.  The moved log force in that path doesn't make a difference because
    we will force the log again as part of the real unmount process.
    
    The filesystem readonly checks are not performed by the new function but
    instead moved into the callers, given that most callers alredy have it
    further up in the stack.  Also add debug checks that we do not pass in
    incorrect flags in the new xfs_sync_data and xfs_sync_attr function and
    fix the one place that did pass in a wrong flag.
    
    Also remove a comment mentioning xfs_sync_inodes that has been incorrect
    for a while because we always take either the iolock or ilock in the
    sync path these days.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarEric Sandeen <sandeen@sandeen.net>
    075fe102
xfs_super.c 48.4 KB