Remove LAZY_BG feature

This simplifies the code, and using the uninit_bg with the inode table
lazily initialized is just as good.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
bitmap-optimize
Theodore Ts'o 2008-04-20 23:33:34 -04:00
parent 4a568505ab
commit 16b851cdae
12 changed files with 53 additions and 441 deletions

View File

@ -121,7 +121,7 @@ static void check_block_bitmaps(e2fsck_t ctx)
struct problem_context pctx;
int problem, save_problem, fixit, had_problem;
errcode_t retval;
int lazy_flag, csum_flag;
int csum_flag;
int skip_group = 0;
clear_problem_context(&pctx);
@ -158,15 +158,13 @@ static void check_block_bitmaps(e2fsck_t ctx)
goto errout;
}
lazy_flag = EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG);
csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
redo_counts:
had_problem = 0;
save_problem = 0;
pctx.blk = pctx.blk2 = NO_BLK;
if ((lazy_flag || csum_flag) &&
if (csum_flag &&
(fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT))
skip_group++;
super = fs->super->s_first_data_block;
@ -270,7 +268,7 @@ redo_counts:
if ((ctx->progress)(ctx, 5, group,
fs->group_desc_count*2))
goto errout;
if ((lazy_flag || csum_flag) &&
if (csum_flag &&
(i != fs->super->s_blocks_count-1) &&
(fs->group_desc[group].bg_flags &
EXT2_BG_BLOCK_UNINIT))
@ -350,7 +348,7 @@ static void check_inode_bitmaps(e2fsck_t ctx)
errcode_t retval;
struct problem_context pctx;
int problem, save_problem, fixit, had_problem;
int lazy_flag, csum_flag;
int csum_flag;
int skip_group = 0;
clear_problem_context(&pctx);
@ -387,15 +385,13 @@ static void check_inode_bitmaps(e2fsck_t ctx)
goto errout;
}
lazy_flag = EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG);
csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
redo_counts:
had_problem = 0;
save_problem = 0;
pctx.ino = pctx.ino2 = 0;
if ((lazy_flag || csum_flag) &&
if (csum_flag &&
(fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT))
skip_group++;
@ -474,7 +470,7 @@ do_counts:
group + fs->group_desc_count,
fs->group_desc_count*2))
goto errout;
if ((lazy_flag || csum_flag) &&
if (csum_flag &&
(i != fs->super->s_inodes_count) &&
(fs->group_desc[group].bg_flags &
EXT2_BG_INODE_UNINIT))

View File

@ -468,7 +468,7 @@ void check_super_block(e2fsck_t ctx)
struct problem_context pctx;
blk_t free_blocks = 0;
ino_t free_inodes = 0;
int lazy_flag, csum_flag;
int csum_flag;
inodes_per_block = EXT2_INODES_PER_BLOCK(fs->super);
ipg_max = inodes_per_block * (blocks_per_group - 4);
@ -578,8 +578,6 @@ void check_super_block(e2fsck_t ctx)
first_block = sb->s_first_data_block;
last_block = sb->s_blocks_count-1;
lazy_flag = EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG);
csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
for (i = 0, gd=fs->group_desc; i < fs->group_desc_count; i++, gd++) {
@ -641,7 +639,7 @@ void check_super_block(e2fsck_t ctx)
ext2fs_unmark_valid(fs);
}
if (!lazy_flag && !csum_flag &&
if (!csum_flag &&
(gd->bg_flags &(EXT2_BG_BLOCK_UNINIT|EXT2_BG_INODE_UNINIT)||
gd->bg_itable_unused != 0)){
if (fix_problem(ctx, PR_0_GDT_UNINIT, &pctx)) {

View File

@ -93,16 +93,14 @@ errcode_t ext2fs_set_gdt_csum(ext2_filsys fs)
{
struct ext2_super_block *sb = fs->super;
struct ext2_group_desc *bg = fs->group_desc;
int blks, csum_flag, dirty = 0;
int blks, dirty = 0;
dgrp_t i;
if (!fs->inode_map)
return EXT2_ET_NO_INODE_BITMAP;
csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
if (!EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG) && !csum_flag)
if (!EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM))
return 0;
for (i = 0; i < fs->group_desc_count; i++, bg++) {
@ -110,27 +108,16 @@ errcode_t ext2fs_set_gdt_csum(ext2_filsys fs)
int old_unused = bg->bg_itable_unused;
int old_flags = bg->bg_flags;
if (bg->bg_free_inodes_count == sb->s_inodes_per_group &&
i > 0 && (i < fs->group_desc_count - 1 || csum_flag)) {
if (!(bg->bg_flags & EXT2_BG_INODE_UNINIT))
bg->bg_flags |= EXT2_BG_INODE_UNINIT;
if (csum_flag)
bg->bg_itable_unused = sb->s_inodes_per_group;
} else if (csum_flag) {
if (bg->bg_free_inodes_count == sb->s_inodes_per_group) {
bg->bg_flags |= EXT2_BG_INODE_UNINIT;
bg->bg_itable_unused = sb->s_inodes_per_group;
} else {
bg->bg_flags &= ~EXT2_BG_INODE_UNINIT;
bg->bg_itable_unused = sb->s_inodes_per_group -
find_last_inode_ingrp(fs->inode_map,
sb->s_inodes_per_group,i);
}
/* skip first and last groups, or groups with GDT backups
* because the resize inode has blocks allocated in them. */
if (i == 0 || i == fs->group_desc_count - 1 ||
(ext2fs_bg_has_super(fs, i) && sb->s_reserved_gdt_blocks))
goto checksum;
checksum:
ext2fs_group_desc_csum_set(fs, i);
if (old_flags != bg->bg_flags)
dirty = 1;

View File

@ -489,7 +489,6 @@ typedef struct ext2_icount *ext2_icount_t;
EXT3_FEATURE_COMPAT_HAS_JOURNAL|\
EXT2_FEATURE_COMPAT_RESIZE_INODE|\
EXT2_FEATURE_COMPAT_DIR_INDEX|\
EXT2_FEATURE_COMPAT_LAZY_BG|\
EXT2_FEATURE_COMPAT_EXT_ATTR)
/* This #ifdef is temporary until compression is fully supported */

View File

@ -164,9 +164,6 @@ errcode_t ext2fs_open_inode_scan(ext2_filsys fs, int buffer_blocks,
}
if (scan->fs->badblocks && scan->fs->badblocks->num)
scan->scan_flags |= EXT2_SF_CHK_BADBLOCKS;
if (EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG))
scan->scan_flags |= EXT2_SF_DO_LAZY;
if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM))
scan->scan_flags |= EXT2_SF_DO_LAZY;

View File

@ -35,7 +35,7 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block)
unsigned int nbits;
errcode_t retval;
char *block_buf, *inode_buf;
int lazy_flag = 0;
int csum_flag = 0;
blk_t blk;
blk_t blk_itr = fs->super->s_first_data_block;
ext2_ino_t ino_itr = 1;
@ -44,9 +44,11 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block)
if (!(fs->flags & EXT2_FLAG_RW))
return EXT2_ET_RO_FILSYS;
if (EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG))
lazy_flag = 1;
if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM))
csum_flag = 1;
inode_nbytes = block_nbytes = 0;
if (do_block) {
block_nbytes = EXT2_BLOCKS_PER_GROUP(fs->super) / 8;
@ -68,7 +70,7 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block)
if (!do_block)
goto skip_block_bitmap;
if (lazy_flag && fs->group_desc[i].bg_flags &
if (csum_flag && fs->group_desc[i].bg_flags &
EXT2_BG_BLOCK_UNINIT)
goto skip_this_block_bitmap;
@ -100,7 +102,7 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block)
if (!do_inode)
continue;
if (lazy_flag && fs->group_desc[i].bg_flags &
if (csum_flag && fs->group_desc[i].bg_flags &
EXT2_BG_INODE_UNINIT)
goto skip_this_inode_bitmap;
@ -139,7 +141,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
errcode_t retval;
unsigned int block_nbytes = EXT2_BLOCKS_PER_GROUP(fs->super) / 8;
unsigned inode_nbytes = EXT2_INODES_PER_GROUP(fs->super) / 8;
int lazy_flag = 0;
int csum_flag = 0;
int do_image = fs->flags & EXT2_FLAG_IMAGE_FILE;
unsigned int cnt;
blk_t blk;
@ -152,11 +154,9 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
fs->write_bitmaps = ext2fs_write_bitmaps;
if (EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG) ||
EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM))
lazy_flag = 1;
csum_flag = 1;
retval = ext2fs_get_mem(strlen(fs->device_name) + 80, &buf);
if (retval)
@ -234,7 +234,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
for (i = 0; i < fs->group_desc_count; i++) {
if (block_bitmap) {
blk = fs->group_desc[i].bg_block_bitmap;
if (lazy_flag && fs->group_desc[i].bg_flags &
if (csum_flag && fs->group_desc[i].bg_flags &
EXT2_BG_BLOCK_UNINIT &&
ext2fs_group_desc_csum_verify(fs, i))
blk = 0;
@ -256,7 +256,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
}
if (inode_bitmap) {
blk = fs->group_desc[i].bg_inode_bitmap;
if (lazy_flag && fs->group_desc[i].bg_flags &
if (csum_flag && fs->group_desc[i].bg_flags &
EXT2_BG_INODE_UNINIT &&
ext2fs_group_desc_csum_verify(fs, i))
blk = 0;

View File

@ -110,13 +110,10 @@ static void print_bg_opt(int bg_flags, int mask,
}
static void print_bg_opts(ext2_filsys fs, dgrp_t i)
{
int first = 1, bg_flags;
int first = 1, bg_flags = 0;
if (fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_LAZY_BG ||
fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM)
if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM)
bg_flags = fs->group_desc[i].bg_flags;
else
bg_flags = 0;
print_bg_opt(bg_flags, EXT2_BG_INODE_UNINIT, "INODE_UNINIT",
&first);

View File

@ -414,10 +414,6 @@ static void write_inode_tables(ext2_filsys fs, int lazy_flag)
progress_init(&progress, _("Writing inode tables: "),
fs->group_desc_count);
if (EXT2_HAS_COMPAT_FEATURE(fs->super,
EXT2_FEATURE_COMPAT_LAZY_BG))
lazy_flag = 1;
for (i = 0; i < fs->group_desc_count; i++) {
progress_update(&progress, i);
@ -447,49 +443,35 @@ static void write_inode_tables(ext2_filsys fs, int lazy_flag)
progress_close(&progress);
}
static void setup_lazy_bg(ext2_filsys fs)
static void setup_uninit_bg(ext2_filsys fs)
{
dgrp_t i;
int blks, csum_flag;
int blks;
struct ext2_super_block *sb = fs->super;
struct ext2_group_desc *bg = fs->group_desc;
csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
if (EXT2_HAS_COMPAT_FEATURE(fs->super, EXT2_FEATURE_COMPAT_LAZY_BG) ||
csum_flag) {
for (i = 0; i < fs->group_desc_count; i++, bg++) {
if ((i == 0) ||
(i == fs->group_desc_count - 1 && !csum_flag))
continue;
if (bg->bg_free_inodes_count ==
sb->s_inodes_per_group) {
bg->bg_flags |= EXT2_BG_INODE_UNINIT;
if (!csum_flag) {
bg->bg_free_inodes_count = 0;
sb->s_free_inodes_count -=
sb->s_inodes_per_group;
}
}
if (!EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM))
return;
/* Skip groups with GDT backups because the resize
* inode has blocks allocated in them, and the last
* group because it needs block bitmap padding. */
if ((ext2fs_bg_has_super(fs, i) &&
sb->s_reserved_gdt_blocks) ||
i == fs->group_desc_count - 1)
continue;
for (i = 0; i < fs->group_desc_count; i++, bg++) {
if (i == 0)
continue;
if (bg->bg_free_inodes_count == sb->s_inodes_per_group)
bg->bg_flags |= EXT2_BG_INODE_UNINIT;
blks = ext2fs_super_and_bgd_loc(fs, i, 0, 0, 0, 0);
if (bg->bg_free_blocks_count == blks &&
bg->bg_flags & EXT2_BG_INODE_UNINIT) {
bg->bg_flags |= EXT2_BG_BLOCK_UNINIT;
if (!csum_flag) {
bg->bg_free_blocks_count = 0;
sb->s_free_blocks_count -= blks;
}
}
}
/* Skip groups with GDT backups because the resize
* inode has blocks allocated in them, and the last
* group because it needs block bitmap padding. */
if ((ext2fs_bg_has_super(fs, i) &&
sb->s_reserved_gdt_blocks) ||
(i == fs->group_desc_count - 1))
continue;
blks = ext2fs_super_and_bgd_loc(fs, i, 0, 0, 0, 0);
if (bg->bg_free_blocks_count == blks &&
bg->bg_flags & EXT2_BG_INODE_UNINIT)
bg->bg_flags |= EXT2_BG_BLOCK_UNINIT;
}
}
@ -927,7 +909,6 @@ static __u32 ok_features[3] = {
EXT3_FEATURE_COMPAT_HAS_JOURNAL |
EXT2_FEATURE_COMPAT_RESIZE_INODE |
EXT2_FEATURE_COMPAT_DIR_INDEX |
EXT2_FEATURE_COMPAT_LAZY_BG |
EXT2_FEATURE_COMPAT_EXT_ATTR,
/* Incompat */
EXT2_FEATURE_INCOMPAT_FILETYPE|
@ -1681,17 +1662,6 @@ static void PRS(int argc, char *argv[])
exit(1);
}
if (EXT2_HAS_RO_COMPAT_FEATURE(&fs_param,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM) &&
EXT2_HAS_COMPAT_FEATURE(&fs_param, EXT2_FEATURE_COMPAT_LAZY_BG)) {
com_err(program_name, 0,
_("lazy_bg and uninit_bg can not be enabled "
"at the same time;\n\t"
"use -E lazy_itable_init=1 to defer zeroing the "
"inode table."));
exit(1);
}
if (fs_param.s_blocks_per_group) {
if (fs_param.s_blocks_per_group < 256 ||
fs_param.s_blocks_per_group > 8 * (unsigned) blocksize) {
@ -1917,7 +1887,7 @@ int main (int argc, char *argv[])
_("while zeroing block %u at end of filesystem"),
ret_blk);
}
setup_lazy_bg(fs);
setup_uninit_bg(fs);
write_inode_tables(fs, lazy_itable_init);
create_root_dir(fs);
create_lost_and_found(fs);

View File

@ -1,158 +0,0 @@
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=1
16 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr dir_index lazy_bg filetype sparse_super
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 28683/32768 files (0.0% non-contiguous), 115220/131072 blocks
Exit status is 0
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: ext_attr dir_index lazy_bg filetype sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 32768
Block count: 131072
Reserved block count: 6553
Free blocks: 15852
Free inodes: 4085
First block: 1
Block size: 1024
Fragment size: 1024
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2048
Inode blocks per group: 256
Mount count: 0
Check interval: 15552000 (6 months)
Reserved blocks uid: 0
Reserved blocks gid: 0
First inode: 11
Inode size: 128
Default directory hash: tea
Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
Primary superblock at 1, Group descriptors at 2-2
Block bitmap at 3 (+2), Inode bitmap at 4 (+3)
Inode table at 5-260 (+4)
7919 free blocks, 2037 free inodes, 2 directories
Free blocks: 274-8192
Free inodes: 12-2048
Group 1: (Blocks 8193-16384) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 8193, Group descriptors at 8194-8194
Block bitmap at 8195 (+2), Inode bitmap at 8196 (+3)
Inode table at 8197-8452 (+4)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 2: (Blocks 16385-24576) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
Inode table at 16387-16642 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 3: (Blocks 24577-32768) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 24577, Group descriptors at 24578-24578
Block bitmap at 24579 (+2), Inode bitmap at 24580 (+3)
Inode table at 24581-24836 (+4)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 4: (Blocks 32769-40960) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
Inode table at 32771-33026 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 5: (Blocks 40961-49152) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 40961, Group descriptors at 40962-40962
Block bitmap at 40963 (+2), Inode bitmap at 40964 (+3)
Inode table at 40965-41220 (+4)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 6: (Blocks 49153-57344) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
Inode table at 49155-49410 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 7: (Blocks 57345-65536) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 57345, Group descriptors at 57346-57346
Block bitmap at 57347 (+2), Inode bitmap at 57348 (+3)
Inode table at 57349-57604 (+4)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 8: (Blocks 65537-73728) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
Inode table at 65539-65794 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 9: (Blocks 73729-81920) [INODE_UNINIT, BLOCK_UNINIT]
Backup superblock at 73729, Group descriptors at 73730-73730
Block bitmap at 73731 (+2), Inode bitmap at 73732 (+3)
Inode table at 73733-73988 (+4)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 10: (Blocks 81921-90112) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
Inode table at 81923-82178 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 11: (Blocks 90113-98304) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
Inode table at 90115-90370 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 12: (Blocks 98305-106496) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
Inode table at 98307-98562 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 13: (Blocks 106497-114688) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
Inode table at 106499-106754 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 14: (Blocks 114689-122880) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
Inode table at 114691-114946 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 15: (Blocks 122881-131071) [ITABLE_ZEROED]
Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
Inode table at 122883-123138 (+2)
7933 free blocks, 2048 free inodes, 0 directories
Free blocks: 123139-131071
Free inodes: 30721-32768

View File

@ -1,4 +0,0 @@
DESCRIPTION="lazy group feature"
FS_SIZE=131072
MKE2FS_OPTS="-O ^resize_inode,lazy_bg"
. $cmd_dir/run_mke2fs

View File

@ -1,166 +0,0 @@
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
16 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Filesystem features: ext_attr resize_inode dir_index lazy_bg filetype sparse_super
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 28683/32768 files (0.0% non-contiguous), 77097/131072 blocks
Exit status is 0
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: ext_attr resize_inode dir_index lazy_bg filetype sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 32768
Block count: 131072
Reserved block count: 6553
Free blocks: 53975
Free inodes: 4085
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2048
Inode blocks per group: 256
Mount count: 0
Check interval: 15552000 (6 months)
Reserved blocks uid: 0
Reserved blocks gid: 0
First inode: 11
Inode size: 128
Default directory hash: tea
Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
Primary superblock at 1, Group descriptors at 2-2
Reserved GDT blocks at 3-258
Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
Inode table at 261-516 (+260)
7662 free blocks, 2037 free inodes, 2 directories
Free blocks: 531-8192
Free inodes: 12-2048
Group 1: (Blocks 8193-16384) [INODE_UNINIT]
Backup superblock at 8193, Group descriptors at 8194-8194
Reserved GDT blocks at 8195-8450
Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
Inode table at 8453-8708 (+260)
7676 free blocks, 0 free inodes, 0 directories
Free blocks: 8709-16384
Free inodes:
Group 2: (Blocks 16385-24576) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
Inode table at 16387-16642 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 3: (Blocks 24577-32768) [INODE_UNINIT]
Backup superblock at 24577, Group descriptors at 24578-24578
Reserved GDT blocks at 24579-24834
Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
Inode table at 24837-25092 (+260)
7676 free blocks, 0 free inodes, 0 directories
Free blocks: 25093-32768
Free inodes:
Group 4: (Blocks 32769-40960) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
Inode table at 32771-33026 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 5: (Blocks 40961-49152) [INODE_UNINIT]
Backup superblock at 40961, Group descriptors at 40962-40962
Reserved GDT blocks at 40963-41218
Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
Inode table at 41221-41476 (+260)
7676 free blocks, 0 free inodes, 0 directories
Free blocks: 41477-49152
Free inodes:
Group 6: (Blocks 49153-57344) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
Inode table at 49155-49410 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 7: (Blocks 57345-65536) [INODE_UNINIT]
Backup superblock at 57345, Group descriptors at 57346-57346
Reserved GDT blocks at 57347-57602
Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
Inode table at 57605-57860 (+260)
7676 free blocks, 0 free inodes, 0 directories
Free blocks: 57861-65536
Free inodes:
Group 8: (Blocks 65537-73728) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
Inode table at 65539-65794 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 9: (Blocks 73729-81920) [INODE_UNINIT]
Backup superblock at 73729, Group descriptors at 73730-73730
Reserved GDT blocks at 73731-73986
Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
Inode table at 73989-74244 (+260)
7676 free blocks, 0 free inodes, 0 directories
Free blocks: 74245-81920
Free inodes:
Group 10: (Blocks 81921-90112) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
Inode table at 81923-82178 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 11: (Blocks 90113-98304) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
Inode table at 90115-90370 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 12: (Blocks 98305-106496) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
Inode table at 98307-98562 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 13: (Blocks 106497-114688) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1)
Inode table at 106499-106754 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 14: (Blocks 114689-122880) [INODE_UNINIT, BLOCK_UNINIT]
Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1)
Inode table at 114691-114946 (+2)
0 free blocks, 0 free inodes, 0 directories
Free blocks:
Free inodes:
Group 15: (Blocks 122881-131071) [ITABLE_ZEROED]
Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1)
Inode table at 122883-123138 (+2)
7933 free blocks, 2048 free inodes, 0 directories
Free blocks: 123139-131071
Free inodes: 30721-32768

View File

@ -1,4 +0,0 @@
DESCRIPTION="lazy group feature with resize_inode"
FS_SIZE=131072
MKE2FS_OPTS="-O resize_inode,lazy_bg"
. $cmd_dir/run_mke2fs