Blame SOURCES/0033-Use-disk-geometry-as-basis-for-ext2-sector-sizes.patch

003ee8
From ac501e86dd95baa6f426cdd1395f2fe2a9c4e92a Mon Sep 17 00:00:00 2001
003ee8
From: Steven Lang <Steven.Lang@hgst.com>
003ee8
Date: Thu, 8 Jan 2015 17:22:02 -0800
003ee8
Subject: [PATCH 33/36] Use disk geometry as basis for ext2 sector sizes.
003ee8
003ee8
When creating the geom for probed ext2 based filesystems, the
003ee8
size was being reported in 512 byte sectors, regardless of what
003ee8
the actual sector size of the device is.
003ee8
003ee8
(cherry picked from commit d15a596a4436a08b9ad9db35729740b6314d536b)
003ee8
---
003ee8
 libparted/fs/ext2/interface.c | 2 +-
003ee8
 1 file changed, 1 insertion(+), 1 deletion(-)
003ee8
003ee8
diff --git a/libparted/fs/ext2/interface.c b/libparted/fs/ext2/interface.c
003ee8
index 890a47b..a90c592 100644
003ee8
--- a/libparted/fs/ext2/interface.c
003ee8
+++ b/libparted/fs/ext2/interface.c
003ee8
@@ -41,7 +41,7 @@ _ext2_generic_probe (PedGeometry* geom, int expect_ext_ver)
003ee8
 	struct ext2_super_block *sb = (struct ext2_super_block *)(sb_v + 1024);
003ee8
 
003ee8
 	if (EXT2_SUPER_MAGIC(*sb) == EXT2_SUPER_MAGIC_CONST) {
003ee8
-		PedSector block_size = 1 << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb) + 1);
003ee8
+		PedSector block_size = (EXT2_MIN_BLOCK_SIZE << (EXT2_SUPER_LOG_BLOCK_SIZE(*sb))) / geom->dev->sector_size;
003ee8
 		PedSector block_count = EXT2_SUPER_BLOCKS_COUNT(*sb);
003ee8
 		PedSector group_blocks = EXT2_SUPER_BLOCKS_PER_GROUP(*sb);
003ee8
 		PedSector group_nr = EXT2_SUPER_BLOCK_GROUP_NR(*sb);
003ee8
-- 
003ee8
2.5.5
003ee8