• D
    xfs: port the defer ops capture and continue to resource capture · 512edfac
    Darrick J. Wong 提交于
    When log recovery tries to recover a transaction that had log intent
    items attached to it, it has to save certain parts of the transaction
    state (reservation, dfops chain, inodes with no automatic unlock) so
    that it can finish single-stepping the recovered transactions before
    finishing the chains.
    
    This is done with the xfs_defer_ops_capture and xfs_defer_ops_continue
    functions.  Right now they open-code this functionality, so let's port
    this to the formalized resource capture structure that we introduced in
    the previous patch.  This enables us to hold up to two inodes and two
    buffers during log recovery, the same way we do for regular runtime.
    
    With this patch applied, we'll be ready to support atomic extent swap
    which holds two inodes; and logged xattrs which holds one inode and one
    xattr leaf buffer.
    Signed-off-by: NDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: NAllison Henderson <allison.henderson@oracle.com>
    512edfac
xfs_defer.c 25.0 KB