diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2016-08-03 11:23:49 +1000 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-08-03 11:23:49 +1000 |
commit | dc42375d5f55d2c48d363957621d7aa913bdc5a1 (patch) | |
tree | 994af1aeb92a29a37d1c066e2a9bbdeee49a282d /fs/xfs/xfs_extfree_item.h | |
parent | 2c3234d1ef53030ff6a79d55ba1fb291098467c2 (diff) | |
download | linux-dc42375d5f55d2c48d363957621d7aa913bdc5a1.tar.gz linux-dc42375d5f55d2c48d363957621d7aa913bdc5a1.tar.bz2 linux-dc42375d5f55d2c48d363957621d7aa913bdc5a1.zip |
xfs: refactor redo intent item processing
Refactor the EFI intent item recovery (and cancellation) functions
into a general function that scans the AIL and an intent item type
specific handler. Move the function that recovers a single EFI item
into the extent free item code. We'll want the generalized function
when we start wiring up more redo item types.
Furthermore, ensure that log recovery only replays the redo items
that were in the AIL prior to recovery by checking the item LSN
against the largest LSN seen during log scanning. As written this
should never happen, but we can be defensive anyway.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_extfree_item.h')
-rw-r--r-- | fs/xfs/xfs_extfree_item.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/xfs_extfree_item.h b/fs/xfs/xfs_extfree_item.h index 8fa8651705e1..a32c794a86b7 100644 --- a/fs/xfs/xfs_extfree_item.h +++ b/fs/xfs/xfs_extfree_item.h @@ -98,4 +98,7 @@ int xfs_efi_copy_format(xfs_log_iovec_t *buf, void xfs_efi_item_free(xfs_efi_log_item_t *); void xfs_efi_release(struct xfs_efi_log_item *); +int xfs_efi_recover(struct xfs_mount *mp, + struct xfs_efi_log_item *efip); + #endif /* __XFS_EXTFREE_ITEM_H__ */ |