From: =?ISO-8859-15?Q?Luk=E1=A8_Czerner?= Subject: Re: [PATCH] e2fsprogs: Remove any occurrence of ext4dev and test_fs Date: Mon, 3 Mar 2014 13:55:08 +0100 (CET) Message-ID: References: <1392821835-12059-1-git-send-email-lczerner@redhat.com> <5304E243.6050700@redhat.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: linux-ext4@vger.kernel.org, tytso@mit.edu To: Eric Sandeen Return-path: Received: from mx1.redhat.com ([209.132.183.28]:63990 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754381AbaCCMzN (ORCPT ); Mon, 3 Mar 2014 07:55:13 -0500 In-Reply-To: <5304E243.6050700@redhat.com> Sender: linux-ext4-owner@vger.kernel.org List-ID: On Wed, 19 Feb 2014, Eric Sandeen wrote: > Date: Wed, 19 Feb 2014 10:56:35 -0600 > From: Eric Sandeen > To: Lukas Czerner , linux-ext4@vger.kernel.org > Cc: tytso@mit.edu > Subject: Re: [PATCH] e2fsprogs: Remove any occurrence of ext4dev and test_fs > > On 2/19/14, 8:57 AM, Lukas Czerner wrote: > > ext4dev is no longer supported by kernel so we really need to get rid of > > it entirely from e2fsprogs. > > > > This patch removes any occurrence of ext4dev and test_fs flag from the > > e2fsprogs tools with one exception. Out of paranoia we can still leave > > the possibility to remove test_fs flag (EXT2_FLAGS_TEST_FILESYS) from > > the file system using e2fsck by specifying clear_test_fs_flag option in > > the e2fsck.config file. > > Yes, I think this makes good sense. While one could argue that > test_fs may be used for some other purpose in the future, we have > added a lot of fairly experimental code without making use of it, > so I'd argue that it has no practical use going forward. > > Acked-by: Eric Sandeen Hi Ted, are you planning to take this in ? Thanks! -Lukas > > > Signed-off-by: Lukas Czerner > > --- > > e2fsck/Makefile.in | 10 +++---- > > e2fsprogs.spec.in | 4 --- > > lib/blkid/probe.c | 80 ++-------------------------------------------------- > > misc/Makefile.in | 32 ++++++--------------- > > misc/fsck.c | 7 ++--- > > misc/mke2fs.8.in | 4 --- > > misc/mke2fs.c | 9 +----- > > misc/mke2fs.conf.in | 5 ---- > > misc/tune2fs.8.in | 8 ------ > > misc/tune2fs.c | 12 +------- > > tests/mke2fs.conf.in | 5 ---- > > 11 files changed, 20 insertions(+), 156 deletions(-) > > > > diff --git a/e2fsck/Makefile.in b/e2fsck/Makefile.in > > index 8ca329b..441485b 100644 > > --- a/e2fsck/Makefile.in > > +++ b/e2fsck/Makefile.in > > @@ -207,7 +207,7 @@ install: $(PROGS) $(MANPAGES) $(FMANPAGES) installdirs > > $(ES) " INSTALL $(root_sbindir)/$$i"; \ > > $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \ > > done > > - $(Q) for i in ext2 ext3 ext4 ext4dev; do \ > > + $(Q) for i in ext2 ext3 ext4; do \ > > $(ES) " LINK $(root_sbindir)/fsck.$$i"; \ > > (cd $(DESTDIR)$(root_sbindir); \ > > $(LN) $(LINK_INSTALL_FLAGS) e2fsck fsck.$$i); \ > > @@ -226,7 +226,7 @@ install: $(PROGS) $(MANPAGES) $(FMANPAGES) installdirs > > $(ES) " INSTALL_DATA $(man5dir)/$$i"; \ > > $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ > > done > > - $(Q) for i in ext2 ext3 ext4 ext4dev; do \ > > + $(Q) for i in ext2 ext3 ext4; do \ > > $(ES) " LINK $(man8dir)/fsck.$$i.8"; \ > > (cd $(DESTDIR)$(man8dir); \ > > $(LN) $(LINK_INSTALL_FLAGS) e2fsck.8 fsck.$$i.8); \ > > @@ -244,8 +244,7 @@ uninstall: > > done > > $(RM) -f $(DESTDIR)$(root_sbindir)/fsck.ext2 \ > > $(DESTDIR)$(root_sbindir)/fsck.ext3 \ > > - $(DESTDIR)$(root_sbindir)/fsck.ext4 \ > > - $(DESTDIR)$(root_sbindir)/fsck.ext4dev > > + $(DESTDIR)$(root_sbindir)/fsck.ext4 > > for i in $(MANPAGES); do \ > > $(RM) -f $(DESTDIR)$(man8dir)/$$i; \ > > done > > @@ -254,8 +253,7 @@ uninstall: > > done > > $(RM) -f $(DESTDIR)$(root_sbindir)/fsck.ext2 \ > > $(DESTDIR)$(root_sbindir)/fsck.ext3 \ > > - $(DESTDIR)$(root_sbindir)/fsck.ext4 \ > > - $(DESTDIR)$(root_sbindir)/fsck.ext4dev > > + $(DESTDIR)$(root_sbindir)/fsck.ext4 > > > > clean: > > $(RM) -f $(PROGS) \#* *\# *.s *.o *.a *~ core e2fsck.static \ > > diff --git a/e2fsprogs.spec.in b/e2fsprogs.spec.in > > index b188b75..c739e63 100644 > > --- a/e2fsprogs.spec.in > > +++ b/e2fsprogs.spec.in > > @@ -122,14 +122,12 @@ exit 0 > > %{_root_sbindir}/fsck.ext2 > > %{_root_sbindir}/fsck.ext3 > > %{_root_sbindir}/fsck.ext4 > > -%{_root_sbindir}/fsck.ext4dev > > %{_root_sbindir}/logsave > > %{_root_sbindir}/mke2fs > > %{_root_etcdir}/mke2fs.conf > > %{_root_sbindir}/mkfs.ext2 > > %{_root_sbindir}/mkfs.ext3 > > %{_root_sbindir}/mkfs.ext4 > > -%{_root_sbindir}/mkfs.ext4dev > > %{_root_sbindir}/resize2fs > > %{_root_sbindir}/tune2fs > > %{_sbindir}/filefrag > > @@ -164,7 +162,6 @@ exit 0 > > %{_mandir}/man8/fsck.ext2.8* > > %{_mandir}/man8/fsck.ext3.8* > > %{_mandir}/man8/fsck.ext4.8* > > -%{_mandir}/man8/fsck.ext4dev.8* > > %{_mandir}/man8/e2image.8* > > %{_mandir}/man8/e2label.8* > > %{_mandir}/man8/e2undo.8* > > @@ -174,7 +171,6 @@ exit 0 > > %{_mandir}/man8/mkfs.ext2.8* > > %{_mandir}/man8/mkfs.ext3.8* > > %{_mandir}/man8/mkfs.ext4.8* > > -%{_mandir}/man8/mkfs.ext4dev.8* > > %{_mandir}/man8/mklost+found.8* > > %{_mandir}/man8/resize2fs.8* > > %{_mandir}/man8/tune2fs.8* > > diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c > > index 4b797ab..2877fdf 100644 > > --- a/lib/blkid/probe.c > > +++ b/lib/blkid/probe.c > > @@ -305,64 +305,6 @@ static int system_supports_ext4(void) > > return ret; > > } > > > > -static int system_supports_ext4dev(void) > > -{ > > - static time_t last_check = 0; > > - static int ret = -1; > > - time_t now = time(0); > > - > > - if (ret != -1 || (now - last_check) < 5) > > - return ret; > > - last_check = now; > > - ret = (fs_proc_check("ext4dev") || check_for_modules("ext4dev")); > > - return ret; > > -} > > - > > -static int probe_ext4dev(struct blkid_probe *probe, > > - struct blkid_magic *id, > > - unsigned char *buf) > > -{ > > - struct ext2_super_block *es; > > - es = (struct ext2_super_block *)buf; > > - > > - /* Distinguish from jbd */ > > - if (blkid_le32(es->s_feature_incompat) & > > - EXT3_FEATURE_INCOMPAT_JOURNAL_DEV) > > - return -BLKID_ERR_PARAM; > > - > > - /* > > - * If the filesystem does not have a journal and ext2 and ext4 > > - * is not present, then force this to be detected as an > > - * ext4dev filesystem. > > - */ > > - if (!(blkid_le32(es->s_feature_compat) & > > - EXT3_FEATURE_COMPAT_HAS_JOURNAL) && > > - !system_supports_ext2() && !system_supports_ext4() && > > - system_supports_ext4dev() && > > - linux_version_code() >= EXT4_SUPPORTS_EXT2) > > - goto force_ext4dev; > > - > > - /* > > - * If the filesystem is marked as OK for use by in-development > > - * filesystem code, but ext4dev is not supported, and ext4 is, > > - * then don't call ourselves ext4dev, since we should be > > - * detected as ext4 in that case. > > - * > > - * If the filesystem is marked as in use by production > > - * filesystem, then it can only be used by ext4 and NOT by > > - * ext4dev, so always disclaim we are ext4dev in that case. > > - */ > > - if (blkid_le32(es->s_flags) & EXT2_FLAGS_TEST_FILESYS) { > > - if (!system_supports_ext4dev() && system_supports_ext4()) > > - return -BLKID_ERR_PARAM; > > - } else > > - return -BLKID_ERR_PARAM; > > - > > -force_ext4dev: > > - get_ext2_info(probe->dev, id, buf); > > - return 0; > > -} > > - > > static int probe_ext4(struct blkid_probe *probe, struct blkid_magic *id, > > unsigned char *buf) > > { > > @@ -393,21 +335,7 @@ static int probe_ext4(struct blkid_probe *probe, struct blkid_magic *id, > > return -BLKID_ERR_PARAM; > > > > force_ext4: > > - /* > > - * If the filesystem is a OK for use by in-development > > - * filesystem code, and ext4dev is supported or ext4 is not > > - * supported, then don't call ourselves ext4, so we can redo > > - * the detection and mark the filesystem as ext4dev. > > - * > > - * If the filesystem is marked as in use by production > > - * filesystem, then it can only be used by ext4 and NOT by > > - * ext4dev. > > - */ > > - if (blkid_le32(es->s_flags) & EXT2_FLAGS_TEST_FILESYS) { > > - if (system_supports_ext4dev() || !system_supports_ext4()) > > - return -BLKID_ERR_PARAM; > > - } > > - get_ext2_info(probe->dev, id, buf); > > + get_ext2_info(probe->dev, id, buf); > > return 0; > > } > > > > @@ -453,11 +381,10 @@ static int probe_ext2(struct blkid_probe *probe, struct blkid_magic *id, > > return -BLKID_ERR_PARAM; > > > > /* > > - * If ext2 is not present, but ext4 or ext4dev are, then > > + * If ext2 is not present, but ext4 is, then > > * disclaim we are ext2 > > */ > > - if (!system_supports_ext2() && > > - (system_supports_ext4() || system_supports_ext4dev()) && > > + if (!system_supports_ext2() && system_supports_ext4() && > > linux_version_code() >= EXT4_SUPPORTS_EXT2) > > return -BLKID_ERR_PARAM; > > > > @@ -1400,7 +1327,6 @@ static struct blkid_magic type_array[] = { > > { "oracleasm", 0, 32, 8, "ORCLDISK", probe_oracleasm }, > > { "ntfs", 0, 3, 8, "NTFS ", probe_ntfs }, > > { "jbd", 1, 0x38, 2, "\123\357", probe_jbd }, > > - { "ext4dev", 1, 0x38, 2, "\123\357", probe_ext4dev }, > > { "ext4", 1, 0x38, 2, "\123\357", probe_ext4 }, > > { "ext3", 1, 0x38, 2, "\123\357", probe_ext3 }, > > { "ext2", 1, 0x38, 2, "\123\357", probe_ext2 }, > > diff --git a/misc/Makefile.in b/misc/Makefile.in > > index e8cfdb5..90986f6 100644 > > --- a/misc/Makefile.in > > +++ b/misc/Makefile.in > > @@ -461,7 +461,7 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs > > $(ES) " INSTALL $(sbindir)/$$i"; \ > > $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \ > > done > > - $(Q) for i in ext2 ext3 ext4 ext4dev; do \ > > + $(Q) for i in ext2 ext3 ext4; do \ > > $(ES) " LINK $(root_sbindir)/mkfs.$$i"; \ > > (cd $(DESTDIR)$(root_sbindir); \ > > $(LN) $(LINK_INSTALL_FLAGS) mke2fs mkfs.$$i); \ > > @@ -490,7 +490,7 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs > > done > > $(Q) $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \ > > $(DESTDIR)$(man8dir)/mkfs.ext3.8.gz > > - $(Q) for i in ext2 ext3 ext4 ext4dev; do \ > > + $(Q) for i in ext2 ext3 ext4; do \ > > $(ES) " LINK mkfs.$$i.8"; \ > > (cd $(DESTDIR)$(man8dir); \ > > $(LN) $(LINK_INSTALL_FLAGS) mke2fs.8 mkfs.$$i.8); \ > > @@ -519,22 +519,11 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs > > mke2fs.conf; then \ > > true; \ > > else \ > > - if grep -q ext4dev $(DESTDIR)$(root_sysconfdir)/mke2fs.conf ; then \ > > - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ > > - $(INSTALL_DATA) mke2fs.conf \ > > - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \ > > - echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ > > - echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \ > > - else \ > > - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ > > - mv $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ > > - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old; \ > > - $(INSTALL_DATA) mke2fs.conf \ > > - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ > > - echo "Your mke2fs.conf is too old. Backing up old version in"; \ > > - echo "$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old. Please check to see"; \ > > - echo "if you have any local customizations that you wish to preserve."; \ > > - fi; \ > > + $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ > > + $(INSTALL_DATA) mke2fs.conf \ > > + $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \ > > + echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ > > + echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \ > > echo " "; \ > > fi; \ > > else \ > > @@ -565,8 +554,7 @@ uninstall: > > done > > $(RM) -f $(DESTDIR)$(root_sbindir)/mkfs.ext2 \ > > $(DESTDIR)$(root_sbindir)/mkfs.ext3 \ > > - $(DESTDIR)$(root_sbindir)/mkfs.ext4 \ > > - $(DESTDIR)$(root_sbindir)/mkfs.ext4dev > > + $(DESTDIR)$(root_sbindir)/mkfs.ext4 > > for i in $(UPROGS); do \ > > $(RM) -f $(DESTDIR)$(bindir)/$$i; \ > > done > > @@ -576,11 +564,9 @@ uninstall: > > $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8 \ > > $(DESTDIR)$(man8dir)/mkfs.ext3.8 \ > > $(DESTDIR)$(man8dir)/mkfs.ext4.8 \ > > - $(DESTDIR)$(man8dir)/mkfs.ext4dev.8 \ > > $(DESTDIR)$(man8dir)/fsck.ext2.8 \ > > $(DESTDIR)$(man8dir)/fsck.ext3.8 \ > > - $(DESTDIR)$(man8dir)/fsck.ext4.8 \ > > - $(DESTDIR)$(man8dir)/fsck.ext4dev.8 > > + $(DESTDIR)$(man8dir)/fsck.ext4.8 > > > > for i in $(UMANPAGES); do \ > > $(RM) -f $(DESTDIR)$(man1dir)/$$i; \ > > diff --git a/misc/fsck.c b/misc/fsck.c > > index 826aaeb..2df15cd 100644 > > --- a/misc/fsck.c > > +++ b/misc/fsck.c > > @@ -84,7 +84,6 @@ static const char *really_wanted[] = { > > "ext2", > > "ext3", > > "ext4", > > - "ext4dev", > > "jfs", > > "reiserfs", > > "xiafs", > > @@ -455,8 +454,7 @@ static int execute(const char *type, const char *device, const char *mntpt, > > if (progress) { > > if ((strcmp(type, "ext2") == 0) || > > (strcmp(type, "ext3") == 0) || > > - (strcmp(type, "ext4") == 0) || > > - (strcmp(type, "ext4dev") == 0)) { > > + (strcmp(type, "ext4") == 0)) { > > char tmp[80]; > > > > tmp[0] = 0; > > @@ -632,8 +630,7 @@ static struct fsck_instance *wait_one(int flags) > > continue; > > if (strcmp(inst2->type, "ext2") && > > strcmp(inst2->type, "ext3") && > > - strcmp(inst2->type, "ext4") && > > - strcmp(inst2->type, "ext4dev")) > > + strcmp(inst2->type, "ext4")) > > continue; > > /* > > * If we've just started the fsck, wait a tiny > > diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in > > index 9c38e20..9015770 100644 > > --- a/misc/mke2fs.8.in > > +++ b/misc/mke2fs.8.in > > @@ -299,10 +299,6 @@ The \fBroot_owner=\fR option allows explicitly specifying these values, > > and avoid side-effects for users that do not expect the contents of the > > filesystem to change based on the user running \fBmke2fs\fR. > > .TP > > -.B test_fs > > -Set a flag in the filesystem superblock indicating that it may be > > -mounted using experimental kernel code, such as the ext4dev filesystem. > > -.TP > > .BI discard > > Attempt to discard blocks at mkfs time (discarding blocks initially is useful > > on solid state devices and sparse / thin-provisioned storage). When the device > > diff --git a/misc/mke2fs.c b/misc/mke2fs.c > > index facbe4c..44d1a60 100644 > > --- a/misc/mke2fs.c > > +++ b/misc/mke2fs.c > > @@ -952,8 +952,6 @@ static void parse_extended_opts(struct ext2_super_block *param, > > > > param->s_reserved_gdt_blocks = rsv_gdb; > > } > > - } else if (!strcmp(token, "test_fs")) { > > - param->s_flags |= EXT2_FLAGS_TEST_FILESYS; > > } else if (!strcmp(token, "lazy_itable_init")) { > > if (arg) > > lazy_itable_init = strtoul(arg, &p, 0); > > @@ -1031,7 +1029,6 @@ static void parse_extended_opts(struct ext2_super_block *param, > > "\tlazy_journal_init=<0 to disable, 1 to enable>\n" > > "\troot_uid=\n" > > "\troot_gid=\n" > > - "\ttest_fs\n" > > "\tdiscard\n" > > "\tnodiscard\n" > > "\tquotatype=\n\n"), > > @@ -1244,8 +1241,7 @@ static char **parse_fs_type(const char *fs_type, > > strcmp(ext_type, "ext2")) { > > printf(_("\nYour mke2fs.conf file does not define the " > > "%s filesystem type.\n"), ext_type); > > - if (!strcmp(ext_type, "ext3") || !strcmp(ext_type, "ext4") || > > - !strcmp(ext_type, "ext4dev")) { > > + if (!strcmp(ext_type, "ext3") || !strcmp(ext_type, "ext4")) { > > printf("%s", _("You probably need to install an " > > "updated mke2fs.conf file.\n\n")); > > } > > @@ -2670,9 +2666,6 @@ int main (int argc, char *argv[]) > > io_channel_set_options(fs->io, opt_string); > > } > > > > - if (fs_param.s_flags & EXT2_FLAGS_TEST_FILESYS) > > - fs->super->s_flags |= EXT2_FLAGS_TEST_FILESYS; > > - > > if ((fs_param.s_feature_incompat & > > (EXT3_FEATURE_INCOMPAT_EXTENTS|EXT4_FEATURE_INCOMPAT_FLEX_BG)) || > > (fs_param.s_feature_ro_compat & > > diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in > > index 178733f..980bf9c 100644 > > --- a/misc/mke2fs.conf.in > > +++ b/misc/mke2fs.conf.in > > @@ -15,11 +15,6 @@ > > auto_64-bit_support = 1 > > inode_size = 256 > > } > > - ext4dev = { > > - features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize > > - inode_size = 256 > > - options = test_fs=1 > > - } > > small = { > > blocksize = 1024 > > inode_size = 128 > > diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in > > index 9455707..c1c64e7 100644 > > --- a/misc/tune2fs.8.in > > +++ b/misc/tune2fs.8.in > > @@ -231,14 +231,6 @@ program. > > .IP > > This superblock setting is only honored in 2.6.35+ kernels; > > and not at all by the ext2 and ext3 file system drivers. > > -.TP > > -.B test_fs > > -Set a flag in the filesystem superblock indicating that it may be > > -mounted using experimental kernel code, such as the ext4dev filesystem. > > -.TP > > -.B ^test_fs > > -Clear the test_fs flag, indicating the filesystem should only be mounted > > -using production-level filesystem code. > > .RE > > .TP > > .B \-f > > diff --git a/misc/tune2fs.c b/misc/tune2fs.c > > index 8ff47d2..5bc38cb 100644 > > --- a/misc/tune2fs.c > > +++ b/misc/tune2fs.c > > @@ -1735,14 +1735,6 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) > > intv); > > fs->super->s_mmp_update_interval = intv; > > ext2fs_mark_super_dirty(fs); > > - } else if (!strcmp(token, "test_fs")) { > > - fs->super->s_flags |= EXT2_FLAGS_TEST_FILESYS; > > - printf("Setting test filesystem flag\n"); > > - ext2fs_mark_super_dirty(fs); > > - } else if (!strcmp(token, "^test_fs")) { > > - fs->super->s_flags &= ~EXT2_FLAGS_TEST_FILESYS; > > - printf("Clearing test filesystem flag\n"); > > - ext2fs_mark_super_dirty(fs); > > } else if (strcmp(token, "stride") == 0) { > > if (!arg) { > > r_usage++; > > @@ -1815,9 +1807,7 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) > > "\thash_alg=\n" > > "\tmount_opts=\n" > > "\tstride=\n" > > - "\tstripe_width=\n" > > - "\ttest_fs\n" > > - "\t^test_fs\n")); > > + "\tstripe_width=\n")); > > free(buf); > > return 1; > > } > > diff --git a/tests/mke2fs.conf.in b/tests/mke2fs.conf.in > > index c06050d..ee246ba 100644 > > --- a/tests/mke2fs.conf.in > > +++ b/tests/mke2fs.conf.in > > @@ -17,11 +17,6 @@ > > features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize > > inode_size = 256 > > } > > - ext4dev = { > > - features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize > > - inode_size = 256 > > - options = test_fs=1 > > - } > > small = { > > blocksize = 1024 > > inode_size = 128 > > > >