diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2006-10-13 13:42:36 -0400 |
---|---|---|
committer | Dave Kleikamp <shaggy@austin.ibm.com> | 2006-10-13 13:42:36 -0400 |
commit | 8f6cff98477edbcd8ae4976734ba7edd07bdd244 (patch) | |
tree | 00a862321aced4693c8efba88b647e82750d00a0 /fs/jfs/jfs_imap.c | |
parent | b4bd8c66435a8cdf8c90334fb3b517a23ff2ab95 (diff) |
JFS: pageno needs to be long
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>
Diffstat (limited to 'fs/jfs/jfs_imap.c')
-rw-r--r-- | fs/jfs/jfs_imap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index 489a3d63002d..ee9b473b7b80 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c | |||
@@ -318,7 +318,7 @@ int diRead(struct inode *ip) | |||
318 | struct inomap *imap; | 318 | struct inomap *imap; |
319 | int block_offset; | 319 | int block_offset; |
320 | int inodes_left; | 320 | int inodes_left; |
321 | uint pageno; | 321 | unsigned long pageno; |
322 | int rel_inode; | 322 | int rel_inode; |
323 | 323 | ||
324 | jfs_info("diRead: ino = %ld", ip->i_ino); | 324 | jfs_info("diRead: ino = %ld", ip->i_ino); |
@@ -606,7 +606,7 @@ int diWrite(tid_t tid, struct inode *ip) | |||
606 | int block_offset; | 606 | int block_offset; |
607 | int inodes_left; | 607 | int inodes_left; |
608 | struct metapage *mp; | 608 | struct metapage *mp; |
609 | uint pageno; | 609 | unsigned long pageno; |
610 | int rel_inode; | 610 | int rel_inode; |
611 | int dioffset; | 611 | int dioffset; |
612 | struct inode *ipimap; | 612 | struct inode *ipimap; |