[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: Nathan Scott <nathans@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
This commit is contained in:
parent
87395deb0b
commit
673cdf5c72
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user