On Thu, Nov 30, 2017 at 01:58:32PM -0500, Brian Foster wrote: > The current AGI unlinked list addition and removal reservations do > not reflect the worst case log usage. An unlinked list removal can > log up to two on-disk inode clusters but only includes reservation > for one. An unlinked list addition logs the on-disk cluster but > includes reservation for an in-core inode. > > Update the AGI unlinked list reservation helpers to calculate the > correct worst case reservation for the associated operations. > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > fs/xfs/libxfs/xfs_trans_resv.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/fs/xfs/libxfs/xfs_trans_resv.c b/fs/xfs/libxfs/xfs_trans_resv.c > index 838566b85622..173b1bc13ffe 100644 > --- a/fs/xfs/libxfs/xfs_trans_resv.c > +++ b/fs/xfs/libxfs/xfs_trans_resv.c > @@ -282,13 +282,14 @@ xfs_calc_rename_reservation( > * For removing an inode from unlinked list at first, we can modify: > * the agi hash list and counters: sector size > * the on disk inode before ours in the agi hash list: inode cluster size > + * the on disk inode in the agi hash list: inode cluster size > */ > STATIC uint > xfs_calc_iunlink_remove_reservation( > struct xfs_mount *mp) > { > return xfs_calc_buf_res(1, mp->m_sb.sb_sectsize) + > - max_t(uint, XFS_FSB_TO_B(mp, 1), mp->m_inode_cluster_size); > + 2 * max_t(uint, XFS_FSB_TO_B(mp, 1), mp->m_inode_cluster_size); > } > > /* > @@ -320,13 +321,13 @@ xfs_calc_link_reservation( > /* > * For adding an inode to unlinked list we can modify: > * the agi hash list: sector size > - * the unlinked inode: inode size > + * the on disk inode: inode cluster size > */ > STATIC uint > xfs_calc_iunlink_add_reservation(xfs_mount_t *mp) > { > return xfs_calc_buf_res(1, mp->m_sb.sb_sectsize) + > - xfs_calc_inode_res(mp, 1); > + max_t(uint, XFS_FSB_TO_B(mp, 1), mp->m_inode_cluster_size); > } > > /* > -- > 2.13.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html