MAX_LFS_FILESIZE should be a loff_t
authorChuck Lever <chuck.lever@oracle.com>
Mon, 24 Sep 2012 18:51:48 +0000 (14:51 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 3 Oct 2012 01:35:55 +0000 (21:35 -0400)
fs/nfs/internal.h: In function ‘nfs_super_set_maxbytes’:
fs/nfs/internal.h:547:21: warning: comparison between signed and
    unsigned integer expressions [-Wsign-compare]

Seen with gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2).

Commit 42cb56ae made s_maxbytes a loff_t, thus the type of
MAX_LFS_FILESIZE should also be a loff_t.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/linux/fs.h

index de1db1c..ca6d8c8 100644 (file)
@@ -1130,9 +1130,9 @@ static inline int file_check_writeable(struct file *filp)
 /* Page cache limit. The filesystems should put that into their s_maxbytes 
    limits, otherwise bad things can happen in VM. */ 
 #if BITS_PER_LONG==32
-#define MAX_LFS_FILESIZE       (((u64)PAGE_CACHE_SIZE << (BITS_PER_LONG-1))-1) 
+#define MAX_LFS_FILESIZE       (((loff_t)PAGE_CACHE_SIZE << (BITS_PER_LONG-1))-1) 
 #elif BITS_PER_LONG==64
-#define MAX_LFS_FILESIZE       0x7fffffffffffffffUL
+#define MAX_LFS_FILESIZE       ((loff_t)0x7fffffffffffffff)
 #endif
 
 #define FL_POSIX       1