|
@@ -119,6 +119,21 @@ xfs_trans_ail_delete(
|
|
xfs_trans_ail_delete_bulk(ailp, &lip, 1, shutdown_type);
|
|
xfs_trans_ail_delete_bulk(ailp, &lip, 1, shutdown_type);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static inline void
|
|
|
|
+xfs_trans_ail_remove(
|
|
|
|
+ struct xfs_log_item *lip,
|
|
|
|
+ int shutdown_type)
|
|
|
|
+{
|
|
|
|
+ struct xfs_ail *ailp = lip->li_ailp;
|
|
|
|
+
|
|
|
|
+ spin_lock(&ailp->xa_lock);
|
|
|
|
+ /* xfs_trans_ail_delete() drops the AIL lock */
|
|
|
|
+ if (lip->li_flags & XFS_LI_IN_AIL)
|
|
|
|
+ xfs_trans_ail_delete(ailp, lip, shutdown_type);
|
|
|
|
+ else
|
|
|
|
+ spin_unlock(&ailp->xa_lock);
|
|
|
|
+}
|
|
|
|
+
|
|
void xfs_ail_push(struct xfs_ail *, xfs_lsn_t);
|
|
void xfs_ail_push(struct xfs_ail *, xfs_lsn_t);
|
|
void xfs_ail_push_all(struct xfs_ail *);
|
|
void xfs_ail_push_all(struct xfs_ail *);
|
|
void xfs_ail_push_all_sync(struct xfs_ail *);
|
|
void xfs_ail_push_all_sync(struct xfs_ail *);
|