From: Dave Chinner <dchinner@xxxxxxxxxx> Now that we can guarantee the availability of a free inode for an inode allocation transaction, split the inode chunk allocation out of the inode allocation transaction completely. Instead, if the inode ticket reservation detects no free inodes available, do the inode chunk allocation immediately from this context. This means that we need to split the create/mkdir/mknod transaction reservations apart - we use the inode chunk allocation reservation part for inode chunk allocation transactions, and the free inode allocation and directory modification part for the create/mkdir/mknod operation. At this point, we have effectively decoupled free inode allocation from inode chunk allocation. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> --- fs/xfs/xfs_trans.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h index 2b49463..f469e72 100644 --- a/fs/xfs/xfs_trans.h +++ b/fs/xfs/xfs_trans.h @@ -109,7 +109,8 @@ typedef struct xfs_trans_header { #define XFS_TRANS_SB_COUNT 41 #define XFS_TRANS_CHECKPOINT 42 #define XFS_TRANS_ICREATE 43 -#define XFS_TRANS_TYPE_MAX 43 +#define XFS_TRANS_IALLOC_CHUNK 44 +#define XFS_TRANS_TYPE_MAX 44 /* new transaction types need to be reflected in xfs_logprint(8) */ #define XFS_TRANS_TYPES \ -- 1.8.3.2 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs