• Darrick J. Wong's avatar
    xfs: defer should allow ->finish_item to request a new transaction · 385d6558
    Darrick J. Wong authored
    When xfs_defer_finish calls ->finish_item, it's possible that
    (refcount) won't be able to finish all the work in a single
    transaction.  When this happens, the ->finish_item handler should
    shorten the log done item's list count, update the work item to
    reflect where work should continue, and return -EAGAIN so that
    defer_finish knows to retain the pending item on the pending list,
    roll the transaction, and restart processing where we left off.
    
    Plumb in the code and document how this mechanism is supposed to work.
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    385d6558
xfs_defer.c 16.8 KB