• Dave Chinner's avatar
    xfs: introduce xfs_iunlink_lookup · a83d5a8b
    Dave Chinner authored
    When an inode is on an unlinked list during normal operation, it is
    guaranteed to be pinned in memory as it is either referenced by the
    current unlink operation or it has a open file descriptor that
    references it and has it pinned in memory. Hence to look up an inode
    on the unlinked list, we can do a direct inode cache lookup and
    always expect the lookup to succeed.
    
    Add a function to do this lookup based on the agino that we use to
    link the chain of unlinked inodes together so we can begin the
    conversion the unlinked list manipulations to use in-memory inodes
    rather than inode cluster buffers and remove the backref cache.
    
    Use this lookup function to replace the on-disk inode buffer walk
    when removing inodes from the unlinked list with an in-core inode
    unlinked list walk.
    Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
    a83d5a8b
xfs_trace.h 130 KB