• Darrick J. Wong's avatar
    xfs: fix reloading entire unlinked bucket lists · 537c013b
    Darrick J. Wong authored
    During review of the patcheset that provided reloading of the incore
    iunlink list, Dave made a few suggestions, and I updated the copy in my
    dev tree.  Unfortunately, I then got distracted by ... who even knows
    what ... and forgot to backport those changes from my dev tree to my
    release candidate branch.  I then sent multiple pull requests with stale
    patches, and that's what was merged into -rc3.
    
    So.
    
    This patch re-adds the use of an unlocked iunlink list check to
    determine if we want to allocate the resources to recreate the incore
    list.  Since lost iunlinked inodes are supposed to be rare, this change
    helps us avoid paying the transaction and AGF locking costs every time
    we open any inode.
    
    This also re-adds the shutdowns on failure, and re-applies the
    restructuring of the inner loop in xfs_inode_reload_unlinked_bucket, and
    re-adds a requested comment about the quotachecking code.
    
    Retain the original RVB tag from Dave since there's no code change from
    the last submission.
    
    Fixes: 68b957f6 ("xfs: load uncached unlinked inodes into memory on demand")
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
    537c013b
xfs_inode.c 102 KB