forked from rpms/e2fsprogs
import e2fsprogs-1.44.3-2.el8
This commit is contained in:
commit
97bda23e8f
2
.e2fsprogs.metadata
Normal file
2
.e2fsprogs.metadata
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
106e3ed9881c28fb01e11a51c86fe87cee6d6a2a SOURCES/e2fsprogs-1.44.3.tar.xz
|
||||||
|
08f13fea79a589439a09fa5815e3dd34ceda9b2e SOURCES/tests-f_resize_inode_meta_bg-image.gz
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
SOURCES/e2fsprogs-1.44.3.tar.xz
|
||||||
|
SOURCES/tests-f_resize_inode_meta_bg-image.gz
|
@ -0,0 +1,78 @@
|
|||||||
|
From 9a504be9857c0c4e3b56cfbe4257ff88284469c7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaco Kroon <jaco@uls.co.za>
|
||||||
|
Date: Thu, 2 Aug 2018 20:06:46 +0200
|
||||||
|
Subject: [PATCH 02/10] debugfs: fix ncheck so it handles hard links correctly
|
||||||
|
|
||||||
|
Due to hard links inodes can have multiple names (except for folders),
|
||||||
|
ncheck should find all of the names (equal to the number of links to the
|
||||||
|
inodes, directories excepted), not names to the count of the provided
|
||||||
|
inodes.
|
||||||
|
|
||||||
|
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
debugfs/ncheck.c | 17 ++++++++++++-----
|
||||||
|
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c
|
||||||
|
index dc4ab56d..158e8658 100644
|
||||||
|
--- a/debugfs/ncheck.c
|
||||||
|
+++ b/debugfs/ncheck.c
|
||||||
|
@@ -28,7 +28,7 @@ extern char *optarg;
|
||||||
|
struct inode_walk_struct {
|
||||||
|
ext2_ino_t dir;
|
||||||
|
ext2_ino_t *iarray;
|
||||||
|
- int inodes_left;
|
||||||
|
+ int names_left;
|
||||||
|
int num_inodes;
|
||||||
|
int position;
|
||||||
|
char *parent;
|
||||||
|
@@ -81,10 +81,10 @@ static int ncheck_proc(struct ext2_dir_entry *dirent,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
putc('\n', stdout);
|
||||||
|
- iw->inodes_left--;
|
||||||
|
+ iw->names_left--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- if (!iw->inodes_left)
|
||||||
|
+ if (!iw->names_left)
|
||||||
|
return DIRENT_ABORT;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
@@ -131,15 +131,22 @@ void do_ncheck(int argc, char **argv)
|
||||||
|
}
|
||||||
|
memset(iw.iarray, 0, sizeof(ext2_ino_t) * argc);
|
||||||
|
|
||||||
|
+ iw.names_left = 0;
|
||||||
|
for (i=0; i < argc; i++) {
|
||||||
|
iw.iarray[i] = strtol(argv[i], &tmp, 0);
|
||||||
|
if (*tmp) {
|
||||||
|
com_err("ncheck", 0, "Bad inode - %s", argv[i]);
|
||||||
|
goto error_out;
|
||||||
|
}
|
||||||
|
+ if (debugfs_read_inode(iw.iarray[i], &inode, *argv))
|
||||||
|
+ goto error_out;
|
||||||
|
+ if (LINUX_S_ISDIR(inode.i_mode))
|
||||||
|
+ iw.names_left += 1;
|
||||||
|
+ else
|
||||||
|
+ iw.names_left += inode.i_links_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
- iw.num_inodes = iw.inodes_left = argc;
|
||||||
|
+ iw.num_inodes = argc;
|
||||||
|
|
||||||
|
retval = ext2fs_open_inode_scan(current_fs, 0, &scan);
|
||||||
|
if (retval) {
|
||||||
|
@@ -183,7 +190,7 @@ void do_ncheck(int argc, char **argv)
|
||||||
|
goto next;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (iw.inodes_left == 0)
|
||||||
|
+ if (iw.names_left == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
next:
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
From 15daa63112e49f309d61083247bedd8f0b557b0c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
Date: Sat, 11 Aug 2018 20:47:08 -0400
|
||||||
|
Subject: [PATCH 05/10] e2fsck: fix fd leak in reserve_stdio_fds
|
||||||
|
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
---
|
||||||
|
e2fsck/unix.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
|
||||||
|
index 90065b39..2df22b17 100644
|
||||||
|
--- a/e2fsck/unix.c
|
||||||
|
+++ b/e2fsck/unix.c
|
||||||
|
@@ -617,9 +617,10 @@ static void reserve_stdio_fds(void)
|
||||||
|
fprintf(stderr, _("ERROR: Couldn't open "
|
||||||
|
"/dev/null (%s)\n"),
|
||||||
|
strerror(errno));
|
||||||
|
- break;
|
||||||
|
+ return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ (void) close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_SIGNAL_H
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
@ -0,0 +1,79 @@
|
|||||||
|
From b3105cb666a7a8447e08cf3ab49b8e60426b21cc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Date: Wed, 8 Aug 2018 13:52:56 +0200
|
||||||
|
Subject: [PATCH 03/10] e2fsck: remove resize inode if both resize_inode and
|
||||||
|
meta_bg are enabled
|
||||||
|
|
||||||
|
Previous e2fsprogs versions allowed to create a file system with both
|
||||||
|
resize_inode and meta_bg enabled. This was fixed by upstream commit
|
||||||
|
42e77d5d ("libext2fs: don't create filesystems with meta_bg and resize_inode")
|
||||||
|
|
||||||
|
However e2fsck still does not recognize the conflict and will attempt to
|
||||||
|
clear and recreate resize_inode if it's corrupted due to this incompatible
|
||||||
|
feature combination, though it will create it in the same wrong layout.
|
||||||
|
|
||||||
|
Fix it by teaching e2fsck to recognize resize_inode and meta_bg
|
||||||
|
conflict and fixing it by disabling and clearing resize inode.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
e2fsck/problem.c | 6 ++++++
|
||||||
|
e2fsck/problem.h | 3 +++
|
||||||
|
e2fsck/super.c | 8 ++++++++
|
||||||
|
3 files changed, 17 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/e2fsck/problem.c b/e2fsck/problem.c
|
||||||
|
index a0a3cfec..ddd8c1c4 100644
|
||||||
|
--- a/e2fsck/problem.c
|
||||||
|
+++ b/e2fsck/problem.c
|
||||||
|
@@ -498,6 +498,12 @@ static struct e2fsck_problem problem_table[] = {
|
||||||
|
N_("@S would have too many inodes (%N).\n"),
|
||||||
|
PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT },
|
||||||
|
|
||||||
|
+ /* Meta_bg and resize_inode are not compatible, disable resize_inode*/
|
||||||
|
+ { PR_0_DISABLE_RESIZE_INODE,
|
||||||
|
+ N_("Resize_@i and meta_bg features are enabled. Those features are\n"
|
||||||
|
+ "not compatible. Resize @i should be disabled. "),
|
||||||
|
+ PROMPT_FIX, 0 },
|
||||||
|
+
|
||||||
|
/* Pass 1 errors */
|
||||||
|
|
||||||
|
/* Pass 1: Checking inodes, blocks, and sizes */
|
||||||
|
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
|
||||||
|
index 7db122ab..2c79169e 100644
|
||||||
|
--- a/e2fsck/problem.h
|
||||||
|
+++ b/e2fsck/problem.h
|
||||||
|
@@ -285,6 +285,9 @@ struct problem_context {
|
||||||
|
/* Inode count in the superblock incorrect */
|
||||||
|
#define PR_0_INODE_COUNT_BIG 0x000050
|
||||||
|
|
||||||
|
+/* Meta_bg and resize_inode are not compatible, remove resize_inode*/
|
||||||
|
+#define PR_0_DISABLE_RESIZE_INODE 0x000051
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Pass 1 errors
|
||||||
|
*/
|
||||||
|
diff --git a/e2fsck/super.c b/e2fsck/super.c
|
||||||
|
index eb7ab0d1..e5932be6 100644
|
||||||
|
--- a/e2fsck/super.c
|
||||||
|
+++ b/e2fsck/super.c
|
||||||
|
@@ -436,6 +436,14 @@ void check_resize_inode(e2fsck_t ctx)
|
||||||
|
|
||||||
|
clear_problem_context(&pctx);
|
||||||
|
|
||||||
|
+ if (ext2fs_has_feature_resize_inode(fs->super) &&
|
||||||
|
+ ext2fs_has_feature_meta_bg(fs->super) &&
|
||||||
|
+ fix_problem(ctx, PR_0_DISABLE_RESIZE_INODE, &pctx)) {
|
||||||
|
+ ext2fs_clear_feature_resize_inode(fs->super);
|
||||||
|
+ fs->super->s_reserved_gdt_blocks = 0;
|
||||||
|
+ ext2fs_mark_super_dirty(fs);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* If the resize inode feature isn't set, then
|
||||||
|
* s_reserved_gdt_blocks must be zero.
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,53 @@
|
|||||||
|
From 0b9577c7d8d40eaaa152f1aadec82f251b9486c2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?G=C3=B6ran=20Uddeborg?= <goeran@uddeborg.se>
|
||||||
|
Date: Sat, 18 Aug 2018 14:28:35 -0400
|
||||||
|
Subject: [PATCH 10/10] po: update sv.po (from translationproject.org)
|
||||||
|
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
po/sv.po | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/po/sv.po b/po/sv.po
|
||||||
|
index fae0a347..c09ada6d 100644
|
||||||
|
--- a/po/sv.po
|
||||||
|
+++ b/po/sv.po
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
#
|
||||||
|
# Göran Uddeborg <goeran@uddeborg.se>, 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012, 2014, 2016, 2017, 2018.
|
||||||
|
#
|
||||||
|
-# $Revision: 1.98 $
|
||||||
|
+# $Revision: 1.99 $
|
||||||
|
#
|
||||||
|
#. The strings in e2fsck's problem.c can be very hard to translate,
|
||||||
|
#. since the strings are expanded in two different ways. First of all,
|
||||||
|
@@ -73,7 +73,7 @@ msgstr ""
|
||||||
|
"Project-Id-Version: e2fsprogs 1.44.3-rc1\n"
|
||||||
|
"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
|
||||||
|
"POT-Creation-Date: 2018-06-25 10:12-0400\n"
|
||||||
|
-"PO-Revision-Date: 2018-06-26 22:56+0200\n"
|
||||||
|
+"PO-Revision-Date: 2018-07-19 19:22+0200\n"
|
||||||
|
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
|
||||||
|
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||||
|
"Language: sv\n"
|
||||||
|
@@ -3441,7 +3441,7 @@ msgid ""
|
||||||
|
"'tune2fs -f -E clear_mmp %s'\n"
|
||||||
|
msgstr ""
|
||||||
|
"Om du är säker på att filsystemet inte används på någon nod, kör:\n"
|
||||||
|
-"”tune2fs-f-E clear_mmp %s”\n"
|
||||||
|
+"”tune2fs -f -E clear_mmp %s”\n"
|
||||||
|
|
||||||
|
#: e2fsck/unix.c:1274
|
||||||
|
msgid "while reading MMP block"
|
||||||
|
@@ -6646,7 +6646,7 @@ msgid ""
|
||||||
|
"'tune2fs -f -E clear_mmp {device}'\n"
|
||||||
|
msgstr ""
|
||||||
|
"Om du är säker på att filsystemet inte används på någon nod, kör:\n"
|
||||||
|
-"”tune2fs-f-E clear_mmp {enhet}”\n"
|
||||||
|
+"”tune2fs -f -E clear_mmp {enhet}”\n"
|
||||||
|
|
||||||
|
#: misc/tune2fs.c:2942
|
||||||
|
#, c-format
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
41
SOURCES/e2fsprogs-1.44.4-remove-unused-datarootdir.patch
Normal file
41
SOURCES/e2fsprogs-1.44.4-remove-unused-datarootdir.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 0377ae0cbf2fe9174580aeaa78d8db1479796352 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Date: Thu, 9 Aug 2018 10:35:45 +0200
|
||||||
|
Subject: [PATCH 04/10] remove unused datarootdir
|
||||||
|
|
||||||
|
Remove unused datarootdir variable from compile_et and mk_cmds.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
lib/et/compile_et.sh.in | 1 -
|
||||||
|
lib/ss/mk_cmds.sh.in | 1 -
|
||||||
|
2 files changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/et/compile_et.sh.in b/lib/et/compile_et.sh.in
|
||||||
|
index 4c4ba17c..3cba7c7d 100644
|
||||||
|
--- a/lib/et/compile_et.sh.in
|
||||||
|
+++ b/lib/et/compile_et.sh.in
|
||||||
|
@@ -2,7 +2,6 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
-datarootdir=@datarootdir@
|
||||||
|
AWK=@AWK@
|
||||||
|
DIR=@datadir@/et
|
||||||
|
|
||||||
|
diff --git a/lib/ss/mk_cmds.sh.in b/lib/ss/mk_cmds.sh.in
|
||||||
|
index 0abc19d7..6d487358 100644
|
||||||
|
--- a/lib/ss/mk_cmds.sh.in
|
||||||
|
+++ b/lib/ss/mk_cmds.sh.in
|
||||||
|
@@ -2,7 +2,6 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
-datarootdir=@datarootdir@
|
||||||
|
DIR=@datadir@/ss
|
||||||
|
AWK=@AWK@
|
||||||
|
SED=@SED@
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
@ -0,0 +1,51 @@
|
|||||||
|
From 7d802cb9cbcaccb178c7695024e53804a807cda1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Date: Thu, 19 Jul 2018 10:39:38 +0200
|
||||||
|
Subject: [PATCH 01/10] resize2fs: Remove the real kilobytes rant from man page
|
||||||
|
|
||||||
|
Remove the rant about the "real" kilobytes from the man page and just
|
||||||
|
make it more clear that the suffixed units are representing power-of-two
|
||||||
|
units as we do in mke2fs man page. Also add terabytes to the list.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
resize/resize2fs.8.in | 16 ++++------------
|
||||||
|
1 file changed, 4 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/resize/resize2fs.8.in b/resize/resize2fs.8.in
|
||||||
|
index 3f0674ce..ae365770 100644
|
||||||
|
--- a/resize/resize2fs.8.in
|
||||||
|
+++ b/resize/resize2fs.8.in
|
||||||
|
@@ -46,24 +46,16 @@ If no units are specified, the units of the
|
||||||
|
parameter shall be the filesystem blocksize of the filesystem.
|
||||||
|
Optionally, the
|
||||||
|
.I size
|
||||||
|
-parameter may be suffixed by one of the following the units
|
||||||
|
-designators: 's', 'K', 'M', or 'G',
|
||||||
|
-for 512 byte sectors, kilobytes, megabytes, or gigabytes, respectively.
|
||||||
|
-The
|
||||||
|
+parameter may be suffixed by one of the following units
|
||||||
|
+designators: 'K', 'M', 'G', 'T' (either upper-case or lower-case) or 's'
|
||||||
|
+for power-of-two kilobytes, megabytes, gigabytes, terabytes or 512 byte
|
||||||
|
+sectors respectively. The
|
||||||
|
.I size
|
||||||
|
of the filesystem may never be larger than the size of the partition.
|
||||||
|
If
|
||||||
|
.I size
|
||||||
|
parameter is not specified, it will default to the size of the partition.
|
||||||
|
.PP
|
||||||
|
-Note: when kilobytes is used above, I mean
|
||||||
|
-.IR real ,
|
||||||
|
-power-of-2 kilobytes, (i.e., 1024 bytes), which some politically correct
|
||||||
|
-folks insist should be the stupid-sounding ``kibibytes''. The same
|
||||||
|
-holds true for megabytes, also sometimes known as ``mebibytes'', or
|
||||||
|
-gigabytes, as the amazingly silly ``gibibytes''. Makes you want to
|
||||||
|
-gibber, doesn't it?
|
||||||
|
-.PP
|
||||||
|
The
|
||||||
|
.B resize2fs
|
||||||
|
program does not manipulate the size of partitions. If you wish to enlarge
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
@ -0,0 +1,120 @@
|
|||||||
|
From 0c1b709edb72f100965045627f17365dbeeedb9e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Date: Mon, 13 Aug 2018 15:17:05 +0200
|
||||||
|
Subject: [PATCH] tests: e2fsck must be able fix fs with resize_inode and
|
||||||
|
meta_bg
|
||||||
|
|
||||||
|
Test if the e2fsck can fix file system with resize_inode and meta_bg
|
||||||
|
features enabled simultaneously.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
tests/f_resize_inode_meta_bg/expect.1 | 71 +++++++++++++++++++++++++++
|
||||||
|
tests/f_resize_inode_meta_bg/expect.2 | 7 +++
|
||||||
|
tests/f_resize_inode_meta_bg/name | 1 +
|
||||||
|
3 files changed, 79 insertions(+)
|
||||||
|
create mode 100644 tests/f_resize_inode_meta_bg/expect.1
|
||||||
|
create mode 100644 tests/f_resize_inode_meta_bg/expect.2
|
||||||
|
create mode 100644 tests/f_resize_inode_meta_bg/name
|
||||||
|
|
||||||
|
diff --git a/tests/f_resize_inode_meta_bg/expect.1 b/tests/f_resize_inode_meta_bg/expect.1
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..12055fc7
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/f_resize_inode_meta_bg/expect.1
|
||||||
|
@@ -0,0 +1,71 @@
|
||||||
|
+Resize_inode and meta_bg features are enabled. Those features are
|
||||||
|
+not compatible. Resize inode should be disabled. Fix? yes
|
||||||
|
+
|
||||||
|
+Resize_inode not enabled, but the resize inode is non-zero. Clear? yes
|
||||||
|
+
|
||||||
|
+Pass 1: Checking inodes, blocks, and sizes
|
||||||
|
+Pass 2: Checking directory structure
|
||||||
|
+Directory inode 2, block #0, offset 0: directory has no checksum.
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+First entry '' (inode=348) in directory inode 2 (???) should be '.'
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Setting filetype for entry '.' in ??? (2) to 2.
|
||||||
|
+Missing '..' in directory inode 2.
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Setting filetype for entry '..' in ??? (2) to 2.
|
||||||
|
+Directory inode 2, block #0, offset 860: directory corrupted
|
||||||
|
+Salvage? yes
|
||||||
|
+
|
||||||
|
+Directory inode 11, block #0, offset 0: directory corrupted
|
||||||
|
+Salvage? yes
|
||||||
|
+
|
||||||
|
+Missing '.' in directory inode 11.
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Setting filetype for entry '.' in ??? (11) to 2.
|
||||||
|
+Missing '..' in directory inode 11.
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Setting filetype for entry '..' in ??? (11) to 2.
|
||||||
|
+Directory inode 11, block #1, offset 0: directory corrupted
|
||||||
|
+Salvage? yes
|
||||||
|
+
|
||||||
|
+Directory inode 11, block #2, offset 0: directory corrupted
|
||||||
|
+Salvage? yes
|
||||||
|
+
|
||||||
|
+Entry '' in ??? (11) has a zero-length name.
|
||||||
|
+Clear? yes
|
||||||
|
+
|
||||||
|
+Directory inode 11, block #3, offset 864: directory corrupted
|
||||||
|
+Salvage? yes
|
||||||
|
+
|
||||||
|
+Pass 3: Checking directory connectivity
|
||||||
|
+'..' in / (2) is <The NULL inode> (0), should be / (2).
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Unconnected directory inode 11 (/???)
|
||||||
|
+Connect to /lost+found? yes
|
||||||
|
+
|
||||||
|
+/lost+found not found. Create? yes
|
||||||
|
+
|
||||||
|
+Pass 3A: Optimizing directories
|
||||||
|
+Pass 4: Checking reference counts
|
||||||
|
+Inode 11 ref count is 3, should be 2. Fix? yes
|
||||||
|
+
|
||||||
|
+Pass 5: Checking group summary information
|
||||||
|
+Block bitmap differences: -246
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Free blocks count wrong for group #0 (160, counted=161).
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+Free blocks count wrong (2714, counted=2715).
|
||||||
|
+Fix? yes
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
||||||
|
+test_filesys: 12/960 files (0.0% non-contiguous), 1125/3840 blocks
|
||||||
|
+Exit status is 1
|
||||||
|
diff --git a/tests/f_resize_inode_meta_bg/expect.2 b/tests/f_resize_inode_meta_bg/expect.2
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..0df9a40a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/f_resize_inode_meta_bg/expect.2
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+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: 12/960 files (0.0% non-contiguous), 1125/3840 blocks
|
||||||
|
+Exit status is 0
|
||||||
|
diff --git a/tests/f_resize_inode_meta_bg/name b/tests/f_resize_inode_meta_bg/name
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..94936549
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/f_resize_inode_meta_bg/name
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+conflicting features resize_inode and meta_bg
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
@ -0,0 +1,212 @@
|
|||||||
|
From f1c5aa0c1bf38d6cf606404686555e81cb24c458 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Date: Mon, 13 Aug 2018 15:17:06 +0200
|
||||||
|
Subject: [PATCH 07/10] tests: mke2fs must not create fs with resize_inode and
|
||||||
|
meta_bg
|
||||||
|
|
||||||
|
Test that mke2fs does not allow to create file system with both
|
||||||
|
resize_inode and meta_bg features enabled.
|
||||||
|
|
||||||
|
This was fixes with commit 42e77d5d ("libext2fs: don't create
|
||||||
|
filesystems with meta_bg and resize_inode").
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
tests/m_resize_inode_meta_bg/expect.1 | 169 ++++++++++++++++++++++++++
|
||||||
|
tests/m_resize_inode_meta_bg/script | 7 ++
|
||||||
|
2 files changed, 176 insertions(+)
|
||||||
|
create mode 100644 tests/m_resize_inode_meta_bg/expect.1
|
||||||
|
create mode 100644 tests/m_resize_inode_meta_bg/script
|
||||||
|
|
||||||
|
diff --git a/tests/m_resize_inode_meta_bg/expect.1 b/tests/m_resize_inode_meta_bg/expect.1
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..d36f9730
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/m_resize_inode_meta_bg/expect.1
|
||||||
|
@@ -0,0 +1,169 @@
|
||||||
|
+Creating filesystem with 3840 4k blocks and 960 inodes
|
||||||
|
+Superblock backups stored on blocks:
|
||||||
|
+ 256, 768, 1280, 1792, 2304
|
||||||
|
+
|
||||||
|
+Allocating group tables: done
|
||||||
|
+Writing inode tables: done
|
||||||
|
+Creating journal (1024 blocks): done
|
||||||
|
+Writing superblocks and filesystem accounting information: done
|
||||||
|
+
|
||||||
|
+Filesystem features: has_journal ext_attr dir_index filetype meta_bg extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
|
||||||
|
+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: 11/960 files (0.0% non-contiguous), 1127/3840 blocks
|
||||||
|
+Exit status is 0
|
||||||
|
+Filesystem volume name: <none>
|
||||||
|
+Last mounted on: <not available>
|
||||||
|
+Filesystem magic number: 0xEF53
|
||||||
|
+Filesystem revision #: 1 (dynamic)
|
||||||
|
+Filesystem features: has_journal ext_attr dir_index filetype meta_bg extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
|
||||||
|
+Default mount options: (none)
|
||||||
|
+Filesystem state: clean
|
||||||
|
+Errors behavior: Continue
|
||||||
|
+Filesystem OS type: Linux
|
||||||
|
+Inode count: 960
|
||||||
|
+Block count: 3840
|
||||||
|
+Reserved block count: 192
|
||||||
|
+Free blocks: 2713
|
||||||
|
+Free inodes: 949
|
||||||
|
+First block: 0
|
||||||
|
+Block size: 4096
|
||||||
|
+Fragment size: 4096
|
||||||
|
+Group descriptor size: 64
|
||||||
|
+Blocks per group: 256
|
||||||
|
+Fragments per group: 256
|
||||||
|
+Inodes per group: 64
|
||||||
|
+Inode blocks per group: 4
|
||||||
|
+Flex block group size: 16
|
||||||
|
+Mount count: 0
|
||||||
|
+Check interval: 15552000 (6 months)
|
||||||
|
+Reserved blocks uid: 0
|
||||||
|
+Reserved blocks gid: 0
|
||||||
|
+First inode: 11
|
||||||
|
+Inode size: 256
|
||||||
|
+Required extra isize: 32
|
||||||
|
+Desired extra isize: 32
|
||||||
|
+Journal inode: 8
|
||||||
|
+Default directory hash: half_md4
|
||||||
|
+Journal backup: inode blocks
|
||||||
|
+Journal features: (none)
|
||||||
|
+Journal size: 4096k
|
||||||
|
+Journal length: 1024
|
||||||
|
+Journal sequence: 0x00000001
|
||||||
|
+Journal start: 0
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+Group 0: (Blocks 0-255) [ITABLE_ZEROED]
|
||||||
|
+ Primary superblock at 0, Group descriptor at 1
|
||||||
|
+ Block bitmap at 2 (+2)
|
||||||
|
+ Inode bitmap at 17 (+17)
|
||||||
|
+ Inode table at 32-35 (+32)
|
||||||
|
+ 159 free blocks, 53 free inodes, 2 directories, 53 unused inodes
|
||||||
|
+ Free blocks: 97-255
|
||||||
|
+ Free inodes: 12-64
|
||||||
|
+Group 1: (Blocks 256-511) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Backup superblock at 256, Group descriptor at 257
|
||||||
|
+ Block bitmap at 3 (bg #0 + 3)
|
||||||
|
+ Inode bitmap at 18 (bg #0 + 18)
|
||||||
|
+ Inode table at 36-39 (bg #0 + 36)
|
||||||
|
+ 254 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 258-511
|
||||||
|
+ Free inodes: 65-128
|
||||||
|
+Group 2: (Blocks 512-767) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 4 (bg #0 + 4)
|
||||||
|
+ Inode bitmap at 19 (bg #0 + 19)
|
||||||
|
+ Inode table at 40-43 (bg #0 + 40)
|
||||||
|
+ 256 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 512-767
|
||||||
|
+ Free inodes: 129-192
|
||||||
|
+Group 3: (Blocks 768-1023) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Backup superblock at 768
|
||||||
|
+ Block bitmap at 5 (bg #0 + 5)
|
||||||
|
+ Inode bitmap at 20 (bg #0 + 20)
|
||||||
|
+ Inode table at 44-47 (bg #0 + 44)
|
||||||
|
+ 255 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 769-1023
|
||||||
|
+ Free inodes: 193-256
|
||||||
|
+Group 4: (Blocks 1024-1279) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 6 (bg #0 + 6)
|
||||||
|
+ Inode bitmap at 21 (bg #0 + 21)
|
||||||
|
+ Inode table at 48-51 (bg #0 + 48)
|
||||||
|
+ 256 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 1024-1279
|
||||||
|
+ Free inodes: 257-320
|
||||||
|
+Group 5: (Blocks 1280-1535) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Backup superblock at 1280
|
||||||
|
+ Block bitmap at 7 (bg #0 + 7)
|
||||||
|
+ Inode bitmap at 22 (bg #0 + 22)
|
||||||
|
+ Inode table at 52-55 (bg #0 + 52)
|
||||||
|
+ 255 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 1281-1535
|
||||||
|
+ Free inodes: 321-384
|
||||||
|
+Group 6: (Blocks 1536-1791) [INODE_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 8 (bg #0 + 8)
|
||||||
|
+ Inode bitmap at 23 (bg #0 + 23)
|
||||||
|
+ Inode table at 56-59 (bg #0 + 56)
|
||||||
|
+ 0 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks:
|
||||||
|
+ Free inodes: 385-448
|
||||||
|
+Group 7: (Blocks 1792-2047) [INODE_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Backup superblock at 1792
|
||||||
|
+ Block bitmap at 9 (bg #0 + 9)
|
||||||
|
+ Inode bitmap at 24 (bg #0 + 24)
|
||||||
|
+ Inode table at 60-63 (bg #0 + 60)
|
||||||
|
+ 0 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks:
|
||||||
|
+ Free inodes: 449-512
|
||||||
|
+Group 8: (Blocks 2048-2303) [INODE_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 10 (bg #0 + 10)
|
||||||
|
+ Inode bitmap at 25 (bg #0 + 25)
|
||||||
|
+ Inode table at 64-67 (bg #0 + 64)
|
||||||
|
+ 0 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks:
|
||||||
|
+ Free inodes: 513-576
|
||||||
|
+Group 9: (Blocks 2304-2559) [INODE_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Backup superblock at 2304
|
||||||
|
+ Block bitmap at 11 (bg #0 + 11)
|
||||||
|
+ Inode bitmap at 26 (bg #0 + 26)
|
||||||
|
+ Inode table at 68-71 (bg #0 + 68)
|
||||||
|
+ 0 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks:
|
||||||
|
+ Free inodes: 577-640
|
||||||
|
+Group 10: (Blocks 2560-2815) [INODE_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 12 (bg #0 + 12)
|
||||||
|
+ Inode bitmap at 27 (bg #0 + 27)
|
||||||
|
+ Inode table at 72-75 (bg #0 + 72)
|
||||||
|
+ 254 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 2562-2815
|
||||||
|
+ Free inodes: 641-704
|
||||||
|
+Group 11: (Blocks 2816-3071) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 13 (bg #0 + 13)
|
||||||
|
+ Inode bitmap at 28 (bg #0 + 28)
|
||||||
|
+ Inode table at 76-79 (bg #0 + 76)
|
||||||
|
+ 256 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 2816-3071
|
||||||
|
+ Free inodes: 705-768
|
||||||
|
+Group 12: (Blocks 3072-3327) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 14 (bg #0 + 14)
|
||||||
|
+ Inode bitmap at 29 (bg #0 + 29)
|
||||||
|
+ Inode table at 80-83 (bg #0 + 80)
|
||||||
|
+ 256 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 3072-3327
|
||||||
|
+ Free inodes: 769-832
|
||||||
|
+Group 13: (Blocks 3328-3583) [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 15 (bg #0 + 15)
|
||||||
|
+ Inode bitmap at 30 (bg #0 + 30)
|
||||||
|
+ Inode table at 84-87 (bg #0 + 84)
|
||||||
|
+ 256 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 3328-3583
|
||||||
|
+ Free inodes: 833-896
|
||||||
|
+Group 14: (Blocks 3584-3839) [INODE_UNINIT, ITABLE_ZEROED]
|
||||||
|
+ Block bitmap at 16 (bg #0 + 16)
|
||||||
|
+ Inode bitmap at 31 (bg #0 + 31)
|
||||||
|
+ Inode table at 88-91 (bg #0 + 88)
|
||||||
|
+ 256 free blocks, 64 free inodes, 0 directories, 64 unused inodes
|
||||||
|
+ Free blocks: 3584-3839
|
||||||
|
+ Free inodes: 897-960
|
||||||
|
diff --git a/tests/m_resize_inode_meta_bg/script b/tests/m_resize_inode_meta_bg/script
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000..41ffb32a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/m_resize_inode_meta_bg/script
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+DESCRIPTION="resize_inode and meta_bg enabled"
|
||||||
|
+FS_SIZE=15360
|
||||||
|
+MKE2FS_DEVICE_SECTSIZE=4096
|
||||||
|
+export MKE2FS_DEVICE_SECTSIZE
|
||||||
|
+MKE2FS_OPTS="-T ext4 -g256 -O 64bit"
|
||||||
|
+. $cmd_dir/run_mke2fs
|
||||||
|
+unset MKE2FS_DEVICE_SECTSIZE
|
||||||
|
--
|
||||||
|
2.17.2
|
||||||
|
|
1000
SPECS/e2fsprogs.spec
Normal file
1000
SPECS/e2fsprogs.spec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user