mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-12-12 03:13:52 +08:00
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>
This commit is contained in:
parent
4a568505ab
commit
16b851cdae
@ -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))
|
||||
|
@ -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)) {
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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
|
@ -1,4 +0,0 @@
|
||||
DESCRIPTION="lazy group feature"
|
||||
FS_SIZE=131072
|
||||
MKE2FS_OPTS="-O ^resize_inode,lazy_bg"
|
||||
. $cmd_dir/run_mke2fs
|
@ -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
|
@ -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
|
Loading…
Reference in New Issue
Block a user