ext4fs: use EXT2_BLOCK_SIZE instead of fs->blksz
authorIonut Nicu <ioan.nicu.ext@nsn.com>
Mon, 13 Jan 2014 10:59:24 +0000 (11:59 +0100)
committerChanho Park <chanho61.park@samsung.com>
Thu, 6 Aug 2015 04:33:31 +0000 (13:33 +0900)
Using fs->blksz in ext4fs_get_extent_block() is not
correct since fs->blksz is not initialized on the
read path. Use EXT2_BLOCK_SIZE() instead which will
produce the desired output.

Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>
Signed-off-by: Mathias Rulf <mathias.rulf@nsn.com>
fs/ext4/ext4_common.c

index 9c0369ec70815645584e69b5a8d1ce3bf7646081..77c5111113f29254414594b2fb431d0d3e7f5183 100644 (file)
@@ -1426,7 +1426,7 @@ static struct ext4_extent_header *ext4fs_get_extent_block
 {
        struct ext4_extent_idx *index;
        unsigned long long block;
-       struct ext_filesystem *fs = get_fs();
+       int blksz = EXT2_BLOCK_SIZE(data);
        int i;
 
        while (1) {
@@ -1450,7 +1450,7 @@ static struct ext4_extent_header *ext4fs_get_extent_block
                block = le16_to_cpu(index[i].ei_leaf_hi);
                block = (block << 32) + le32_to_cpu(index[i].ei_leaf_lo);
 
-               if (ext4fs_devread((lbaint_t)block << log2_blksz, 0, fs->blksz,
+               if (ext4fs_devread((lbaint_t)block << log2_blksz, 0, blksz,
                                   buf))
                        ext_block = (struct ext4_extent_header *)buf;
                else