I'll try this patch tonight. Thanks!
BTW, after failures with CONFIG_LBDAF=n in previous xfstests, my kernels
should have CONFIG_LBDAF=y, but I could be wrong. I'll check this when
I get back to my test PC and test your patch with both settings.
Michael
On 04/12/2013 06:26 AM, Jeff Liu wrote:
From: Jie Liu <jeff.liu@xxxxxxxxxx>
This patch fix the s_max_bytes to MAX_LFS_FILESIZE if the pre-calculated value is greater
than it.
Reported-by: Michael L. Semon <mlsemon35@xxxxxxxxx>
Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx>
---
fs/xfs/xfs_super.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index ea341ce..0644d61 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -585,6 +585,7 @@ xfs_max_file_offset(
{
unsigned int pagefactor = 1;
unsigned int bitshift = BITS_PER_LONG - 1;
+ __uint64_t offset;
/* Figure out maximum filesize, on Linux this can depend on
* the filesystem blocksize (on 32 bit platforms).
@@ -610,7 +611,10 @@ xfs_max_file_offset(
# endif
#endif
- return (((__uint64_t)pagefactor) << bitshift) - 1;
+ offset = (((__uint64_t)pagefactor) << bitshift) - 1;
+
+ /* Check against VM & VFS exposed limits */
+ return (offset > MAX_LFS_FILESIZE) ? MAX_LFS_FILESIZE : offset;
}
xfs_agnumber_t
_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs