Commit 673cdf5c authored by Nathan Scott's avatar Nathan Scott Committed by Tim Shimmin
Browse files

[XFS] Fix rounding bug in xfs_free_file_space found by sparse checking.



SGI-PV: 954580
SGI-Modid: xfs-linux-melb:xfs-kern:26551a

Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
parent 87395deb
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -4272,7 +4272,7 @@ xfs_free_file_space(
	xfs_mount_t		*mp;
	int			nimap;
	uint			resblks;
	int			rounding;
	uint			rounding;
	int			rt;
	xfs_fileoff_t		startoffset_fsb;
	xfs_trans_t		*tp;
@@ -4313,8 +4313,7 @@ xfs_free_file_space(
		vn_iowait(vp);	/* wait for the completion of any pending DIOs */
	}

	rounding = MAX((__uint8_t)(1 << mp->m_sb.sb_blocklog),
			(__uint8_t)NBPP);
	rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, NBPP);
	ilen = len + (offset & (rounding - 1));
	ioffset = offset & ~(rounding - 1);
	if (ilen & (rounding - 1))