summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_log_rlimit.c
diff options
context:
space:
mode:
authorJie Liu <jeff.liu@oracle.com>2013-08-13 13:32:00 +0800
committerBen Myers <bpm@sgi.com>2013-08-13 14:19:11 -0500
commit2c2bcc0735f4ab052559b539f3fcab4087187232 (patch)
treeecc3f2774b2a1f4239e2f7d24490bc906ce61898 /fs/xfs/xfs_log_rlimit.c
parent3e7b91cf8c19d89e55df5f05e3010446dbdaba77 (diff)
downloadlinux-2c2bcc0735f4ab052559b539f3fcab4087187232.tar.bz2
xfs: call roundup_64() to calculate the min_logblks
Replace roundup() with roundup_64() as we calculate min_logblks with 64-bit divisions. Hence, call roundup() will cause the following error while compiling a 32-bit kernel: fs/built-in.o: In function `xfs_log_calc_minimum_size': fs/xfs/xfs_log_rlimit.c:140: undefined reference to `__udivdi3' Reported-by: Fengguang Wu <fengguang.wu@intel.com> Cc: Dave Chinner <dchinner@redhat.com> Signed-off-by: Jie Liu <jeff.liu@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_log_rlimit.c')
-rw-r--r--fs/xfs/xfs_log_rlimit.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/xfs_log_rlimit.c b/fs/xfs/xfs_log_rlimit.c
index 6b17ef4a061b..bbcec0bbc12d 100644
--- a/fs/xfs/xfs_log_rlimit.c
+++ b/fs/xfs/xfs_log_rlimit.c
@@ -136,10 +136,12 @@ xfs_log_calc_minimum_size(
* Also, the log size should be a multiple of the log stripe unit, round
* it up to lsunit boundary if lsunit is specified.
*/
- if (lsunit)
- min_logblks = roundup(BTOBB(max_logres), lsunit) + 2 * lsunit;
- else
+ if (lsunit) {
+ min_logblks = roundup_64(BTOBB(max_logres), lsunit) +
+ 2 * lsunit;
+ } else
min_logblks = BTOBB(max_logres) + 2 * BBSIZE;
min_logblks *= XFS_MIN_LOG_FACTOR;
+
return XFS_BB_TO_FSB(mp, min_logblks);
}