summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_extfree_item.h
diff options
context:
space:
mode:
authorDarrick J. Wong2016-08-03 03:23:49 +0200
committerDave Chinner2016-08-03 03:23:49 +0200
commitdc42375d5f55d2c48d363957621d7aa913bdc5a1 (patch)
tree994af1aeb92a29a37d1c066e2a9bbdeee49a282d /fs/xfs/xfs_extfree_item.h
parentxfs: rename flist/free_list to dfops (diff)
downloadkernel-qcow2-linux-dc42375d5f55d2c48d363957621d7aa913bdc5a1.tar.gz
kernel-qcow2-linux-dc42375d5f55d2c48d363957621d7aa913bdc5a1.tar.xz
kernel-qcow2-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.h3
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__ */