31 lines
1.3 KiB
Diff
31 lines
1.3 KiB
Diff
|
From ac501e86dd95baa6f426cdd1395f2fe2a9c4e92a Mon Sep 17 00:00:00 2001
|
||
|
From: Steven Lang <Steven.Lang@hgst.com>
|
||
|
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
|
||
|
|