]> err.no Git - linux-2.6/commitdiff
JFS: pageno needs to be long
authorDave Kleikamp <shaggy@austin.ibm.com>
Fri, 13 Oct 2006 17:42:36 +0000 (12:42 -0500)
committerDave Kleikamp <shaggy@austin.ibm.com>
Fri, 13 Oct 2006 17:42:36 +0000 (12:42 -0500)
diRead and diWrite are representing the page number as an unsigned int.
This causes file system corruption on volumes larger than 16TB.

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
fs/jfs/jfs_imap.c

index 489a3d63002db2db9d5dec4a3c3f1899a154a4e7..ee9b473b7b808d7866dfd95db09d775576977943 100644 (file)
@@ -318,7 +318,7 @@ int diRead(struct inode *ip)
        struct inomap *imap;
        int block_offset;
        int inodes_left;
-       uint pageno;
+       unsigned long pageno;
        int rel_inode;
 
        jfs_info("diRead: ino = %ld", ip->i_ino);
@@ -606,7 +606,7 @@ int diWrite(tid_t tid, struct inode *ip)
        int block_offset;
        int inodes_left;
        struct metapage *mp;
-       uint pageno;
+       unsigned long pageno;
        int rel_inode;
        int dioffset;
        struct inode *ipimap;