diff options
author | Laurent Vivier <Laurent.Vivier@bull.net> | 2006-10-11 04:21:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-11 14:14:17 -0400 |
commit | bd81d8eec043094d3ff729a8ff6d5b3a06d3c4b1 (patch) | |
tree | 6813a81b8d8453536839d8bcdc8ed924fdab3f44 /fs/ext4/ialloc.c | |
parent | a1ddeb7eaecea6a924e3a79aa386797020cb436f (diff) |
[PATCH] ext4: 64bit metadata
In-kernel super block changes to support >32 bit free blocks numbers.
Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: Alexandre Ratchov <alexandre.ratchov@bull.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ext4/ialloc.c')
-rw-r--r-- | fs/ext4/ialloc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c index 94e1bb4abe31..959b7fa8f5db 100644 --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c | |||
@@ -60,12 +60,12 @@ read_inode_bitmap(struct super_block * sb, unsigned long block_group) | |||
60 | if (!desc) | 60 | if (!desc) |
61 | goto error_out; | 61 | goto error_out; |
62 | 62 | ||
63 | bh = sb_bread(sb, le32_to_cpu(desc->bg_inode_bitmap)); | 63 | bh = sb_bread(sb, ext4_inode_bitmap(desc)); |
64 | if (!bh) | 64 | if (!bh) |
65 | ext4_error(sb, "read_inode_bitmap", | 65 | ext4_error(sb, "read_inode_bitmap", |
66 | "Cannot read inode bitmap - " | 66 | "Cannot read inode bitmap - " |
67 | "block_group = %lu, inode_bitmap = %u", | 67 | "block_group = %lu, inode_bitmap = %llu", |
68 | block_group, le32_to_cpu(desc->bg_inode_bitmap)); | 68 | block_group, ext4_inode_bitmap(desc)); |
69 | error_out: | 69 | error_out: |
70 | return bh; | 70 | return bh; |
71 | } | 71 | } |
@@ -304,7 +304,7 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) | |||
304 | goto fallback; | 304 | goto fallback; |
305 | } | 305 | } |
306 | 306 | ||
307 | blocks_per_dir = le32_to_cpu(es->s_blocks_count) - freeb; | 307 | blocks_per_dir = ext4_blocks_count(es) - freeb; |
308 | sector_div(blocks_per_dir, ndirs); | 308 | sector_div(blocks_per_dir, ndirs); |
309 | 309 | ||
310 | max_dirs = ndirs / ngroups + inodes_per_group / 16; | 310 | max_dirs = ndirs / ngroups + inodes_per_group / 16; |