@@ -208,6 +208,7 @@ xfs_defer_create_done(
return;
tp->t_flags |= XFS_TRANS_HAS_INTENT_DONE;
+ xfs_trans_add_item(tp, lip);
set_bit(XFS_LI_DIRTY, &lip->li_flags);
dfp->dfp_done = lip;
}
@@ -236,6 +237,7 @@ xfs_defer_create_intent(
return PTR_ERR(lip);
tp->t_flags |= XFS_TRANS_DIRTY;
+ xfs_trans_add_item(tp, lip);
set_bit(XFS_LI_DIRTY, &lip->li_flags);
dfp->dfp_intent = lip;
return 1;
@@ -501,8 +503,10 @@ xfs_defer_relog(
xfs_defer_create_done(*tpp, dfp);
lip = xfs_trans_item_relog(dfp->dfp_intent, dfp->dfp_done,
*tpp);
- if (lip)
+ if (lip) {
+ xfs_trans_add_item(*tpp, lip);
set_bit(XFS_LI_DIRTY, &lip->li_flags);
+ }
dfp->dfp_done = NULL;
dfp->dfp_intent = lip;
}