summaryrefslogtreecommitdiff
path: root/lib/ext2fs/closefs.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ext2fs/closefs.c')
-rw-r--r--lib/ext2fs/closefs.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c
index 71fa9e49..6fe012ce 100644
--- a/lib/ext2fs/closefs.c
+++ b/lib/ext2fs/closefs.c
@@ -19,32 +19,6 @@
#include "ext2_fs.h"
#include "ext2fsP.h"
-static int test_root(int a, int b)
-{
- if (a == 0)
- return 1;
- while (1) {
- if (a == 1)
- return 1;
- if (a % b)
- return 0;
- a = a / b;
- }
-}
-
-int ext2fs_bg_has_super(ext2_filsys fs, int group_block)
-{
- if (!(fs->super->s_feature_ro_compat &
- EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER))
- return 1;
-
- if (test_root(group_block, 3) || (test_root(group_block, 5)) ||
- test_root(group_block, 7))
- return 1;
-
- return 0;
-}
-
int ext2fs_super_and_bgd_loc(ext2_filsys fs,
dgrp_t group,
blk_t *ret_super_blk,
@@ -63,7 +37,8 @@ int ext2fs_super_and_bgd_loc(ext2_filsys fs,
if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG)
old_desc_blocks = fs->super->s_first_meta_bg;
else
- old_desc_blocks = fs->desc_blocks;
+ old_desc_blocks =
+ fs->desc_blocks + fs->super->s_reserved_gdt_blocks;
if (group == fs->group_desc_count-1) {
numblocks = (fs->super->s_blocks_count -