@@ -82,20 +82,23 @@ struct xfs_trans_resv {
XFS_DAENTER_BMAPS(mp, XFS_DATA_FORK) + 1)
/*
- * Various log count values.
+ * Various log count values. The AGFL count is a sub-component that covers
+ * additional tx rolls due to AGFL fixups (for transactions that defer AGFL
+ * block frees).
*/
+#define XFS_AGFL_LOG_COUNT 0 /* for agfl fixups */
#define XFS_DEFAULT_LOG_COUNT 1
#define XFS_DEFAULT_PERM_LOG_COUNT 2
#define XFS_ITRUNCATE_LOG_COUNT 2
#define XFS_ITRUNCATE_LOG_COUNT_REFLINK 8
-#define XFS_INACTIVE_LOG_COUNT 2
-#define XFS_CREATE_LOG_COUNT 2
+#define XFS_INACTIVE_LOG_COUNT (2 + XFS_AGFL_LOG_COUNT)
+#define XFS_CREATE_LOG_COUNT (2 + XFS_AGFL_LOG_COUNT)
#define XFS_CREATE_TMPFILE_LOG_COUNT 2
-#define XFS_MKDIR_LOG_COUNT 3
-#define XFS_SYMLINK_LOG_COUNT 3
-#define XFS_REMOVE_LOG_COUNT 2
-#define XFS_LINK_LOG_COUNT 2
-#define XFS_RENAME_LOG_COUNT 2
+#define XFS_MKDIR_LOG_COUNT (3 + XFS_AGFL_LOG_COUNT)
+#define XFS_SYMLINK_LOG_COUNT (3 + XFS_AGFL_LOG_COUNT)
+#define XFS_REMOVE_LOG_COUNT (2 + XFS_AGFL_LOG_COUNT)
+#define XFS_LINK_LOG_COUNT (2 + XFS_AGFL_LOG_COUNT)
+#define XFS_RENAME_LOG_COUNT (2 + XFS_AGFL_LOG_COUNT)
#define XFS_WRITE_LOG_COUNT 2
#define XFS_WRITE_LOG_COUNT_REFLINK 8
#define XFS_ADDAFORK_LOG_COUNT 2