From ac501e86dd95baa6f426cdd1395f2fe2a9c4e92a Mon Sep 17 00:00:00 2001 From: Steven Lang Date: Thu, 8 Jan 2015 17:22:02 -0800 Subject: [PATCH 33/36] Use disk geometry as basis for ext2 sector sizes. 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. (cherry picked from commit d15a596a4436a08b9ad9db35729740b6314d536b) --- 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); -- 2.5.5