diff options
author | Theodore Ts'o <tytso@mit.edu> | 2011-06-16 10:12:43 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2011-06-16 10:12:43 -0400 |
commit | b2e6c86d61fccc39956c0cb8a8333f42d1569e8d (patch) | |
tree | 3b94b3ac1595b629f6e709d4fcc4693f62440383 /lib/ext2fs/i_block.c | |
parent | b12a0bc30152f85ccafab159fcc2f50fe6ce2551 (diff) | |
download | e2fsprogs-b2e6c86d61fccc39956c0cb8a8333f42d1569e8d.tar.gz |
mke2fs, e2fsck: fix i_blocks handling for bigalloc file systems
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'lib/ext2fs/i_block.c')
-rw-r--r-- | lib/ext2fs/i_block.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ext2fs/i_block.c b/lib/ext2fs/i_block.c index 39d93eec..f36c3c47 100644 --- a/lib/ext2fs/i_block.c +++ b/lib/ext2fs/i_block.c @@ -38,6 +38,7 @@ errcode_t ext2fs_iblk_add_blocks(ext2_filsys fs, struct ext2_inode *inode, EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) num_blocks *= fs->blocksize / 512; + num_blocks *= EXT2FS_CLUSTER_RATIO(fs); b += num_blocks; @@ -61,6 +62,7 @@ errcode_t ext2fs_iblk_sub_blocks(ext2_filsys fs, struct ext2_inode *inode, EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) num_blocks *= fs->blocksize / 512; + num_blocks *= EXT2FS_CLUSTER_RATIO(fs); if (num_blocks > b) return EOVERFLOW; @@ -79,6 +81,7 @@ errcode_t ext2fs_iblk_set(ext2_filsys fs, struct ext2_inode *inode, blk64_t b) EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) b *= fs->blocksize / 512; + b *= EXT2FS_CLUSTER_RATIO(fs); inode->i_blocks = b & 0xFFFFFFFF; if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) |