From: Eric Sandeen Date: Tue, 10 Jan 2017 02:18:48 +0000 (-0600) Subject: xfs: Move AGI buffer type setting to xfs_read_agi X-Git-Tag: v4.10.0-rc1~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1b521475ae7de24e34ba8b0e7e561891dedd4cff;p=thirdparty%2Fxfsprogs-dev.git xfs: Move AGI buffer type setting to xfs_read_agi Source kernel commit: 200237d6746faaeaf7f4ff4abbf13f3917cee60a We've missed properly setting the buffer type for an AGI transaction in 3 spots now, so just move it into xfs_read_agi() and set it if we are in a transaction to avoid the problem in the future. This is similar to how it is done in i.e. the dir3 and attr3 read functions. Signed-off-by: Eric Sandeen Reviewed-by: Brian Foster Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner Signed-off-by: Eric Sandeen --- diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c index efb37d396..31ab2a7dc 100644 --- a/libxfs/xfs_ialloc.c +++ b/libxfs/xfs_ialloc.c @@ -2445,8 +2445,6 @@ xfs_ialloc_log_agi( ASSERT(agi->agi_magicnum == cpu_to_be32(XFS_AGI_MAGIC)); #endif - xfs_trans_buf_set_type(tp, bp, XFS_BLFT_AGI_BUF); - /* * Compute byte offsets for the first and last fields in the first * region and log the agi buffer. This only logs up through @@ -2587,6 +2585,8 @@ xfs_read_agi( XFS_FSS_TO_BB(mp, 1), 0, bpp, &xfs_agi_buf_ops); if (error) return error; + if (tp) + xfs_trans_buf_set_type(tp, *bpp, XFS_BLFT_AGI_BUF); xfs_buf_set_ref(*bpp, XFS_AGI_REF); return 0;