When creating the geom for probed ext2 based filesystems, the
size was being reported in 512 byte sectors, regardless of what
the actual sector size of the device is.
---
 libparted/fs/ext2/interface.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libparted/fs/ext2/interface.c b/libparted/fs/ext2/interface.c
index 890a47b..a90c592 100644
--- a/libparted/fs/ext2/interface.c
+++ b/libparted/fs/ext2/interface.c
@@ -41,7 +41,7 @@ _ext2_generic_probe (PedGeometry* geom, int expect_ext_ver)
        struct ext2_super_block *sb = (struct ext2_super_block *)(sb_v + 1024);
 
        if (EXT2_SUPER_MAGIC(*sb) == EXT2_SUPER_MAGIC_CONST) {
-               PedSector block_size = 1 << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb) + 
1);
+               PedSector block_size = (EXT2_MIN_BLOCK_SIZE << 
(EXT2_SUPER_LOG_BLOCK_SIZE(*sb))) / geom->dev->sector_size;
                PedSector block_count = EXT2_SUPER_BLOCKS_COUNT(*sb);
                PedSector group_blocks = EXT2_SUPER_BLOCKS_PER_GROUP(*sb);
                PedSector group_nr = EXT2_SUPER_BLOCK_GROUP_NR(*sb);
-- 
1.7.9.5


Reply via email to