• Dave Chinner's avatar
    xfs: remove SYNC_WAIT from xfs_reclaim_inodes() · 4d0bab3a
    Dave Chinner authored
    Clean up xfs_reclaim_inodes() callers. Most callers want blocking
    behaviour, so just make the existing SYNC_WAIT behaviour the
    default.
    
    For the xfs_reclaim_worker(), just call xfs_reclaim_inodes_ag()
    directly because we just want optimistic clean inode reclaim to be
    done in the background.
    
    For xfs_quiesce_attr() we can just remove the inode reclaim calls as
    they are a historic relic that was required to flush dirty inodes
    that contained unlogged changes. We now log all changes to the
    inodes, so the sync AIL push from xfs_log_quiesce() called by
    xfs_quiesce_attr() will do all the required inode writeback for
    freeze.
    
    Seeing as we now want to loop until all reclaimable inodes have been
    reclaimed, make xfs_reclaim_inodes() loop on the XFS_ICI_RECLAIM_TAG
    tag rather than having xfs_reclaim_inodes_ag() tell it that inodes
    were skipped. This is much more reliable and will always loop until
    all reclaimable inodes are reclaimed.
    Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
    Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    4d0bab3a
xfs_super.c 54.1 KB