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 | |
| 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>
| -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; |
