common/rc: fix _get_max_lfs_filesize on 32-bit platforms
The 32-bit calculation of the maximum filesize is incorrect. Replace it
with the formula that the kernel has used since commit 0cc3b0ec23ce
("Clarify (and fix) MAX_LFS_FILESIZE macros"). This fixes a regression
in generic/351 on 32-bit kernels.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
diff --git a/common/rc b/common/rc
index eeac135..cf6bc9d 100644
--- a/common/rc
+++ b/common/rc
@@ -3999,7 +3999,9 @@
{
case "$(getconf LONG_BIT)" in
"32")
- echo $(( ($(getconf PAGE_SIZE) << ($(getconf LONG_BIT) - 1) ) - 1))
+ local ulong_max=$(getconf ULONG_MAX)
+ local page_size=$(getconf PAGE_SIZE)
+ echo $(( ulong_max * page_size ))
;;
"64")
echo 9223372036854775807