summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch')
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch255
1 files changed, 0 insertions, 255 deletions
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch
deleted file mode 100644
index 1d17520252..0000000000
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch
+++ /dev/null
@@ -1,255 +0,0 @@
-From bf9f3b6d5b10d19218b4ed904c12b22e36ec57dd Mon Sep 17 00:00:00 2001
-From: Theodore Ts'o <tytso@mit.edu>
-Date: Thu, 16 Feb 2017 22:02:35 -0500
-Subject: [PATCH] e2fsck: exit with exit status 0 if no errors were fixed
-
-Previously, e2fsck would exit with a status code of 1 even though the
-only changes that it made to the file system were various
-optimziations and not fixing file system corruption. Since the man
-page states that an exit status of 1 means "file system errors
-corrupted", fix e2fsck to return an exit status of 0.
-
-Upstream-Status: Backport
-
-Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
----
- e2fsck/e2fsck.conf.5.in | 7 +++++++
- e2fsck/journal.c | 1 +
- e2fsck/problem.c | 8 +++++---
- e2fsck/problemP.h | 1 +
- e2fsck/unix.c | 20 ++++++++++++++++----
- tests/f_collapse_extent_tree/expect.1 | 2 +-
- tests/f_compress_extent_tree_level/expect.1 | 2 +-
- tests/f_convert_bmap/expect.1 | 2 +-
- tests/f_convert_bmap_and_extent/expect.1 | 2 +-
- tests/f_extent_htree/expect.1 | 2 +-
- tests/f_jnl_errno/expect.1 | 2 +-
- tests/f_journal/expect.1 | 2 +-
- tests/f_orphan/expect.1 | 2 +-
- tests/f_orphan_extents_inode/expect.1 | 2 +-
- tests/f_rehash_dir/expect.1 | 2 +-
- tests/f_unsorted_EAs/expect.1 | 2 +-
- 16 files changed, 41 insertions(+), 18 deletions(-)
-
-diff --git a/e2fsck/e2fsck.conf.5.in b/e2fsck/e2fsck.conf.5.in
-index 1848bdb..0bfc76a 100644
---- a/e2fsck/e2fsck.conf.5.in
-+++ b/e2fsck/e2fsck.conf.5.in
-@@ -303,6 +303,13 @@ of 'should this problem be fixed?'. The
- option even overrides the
- .B -y
- option given on the command-line (just for the specific problem, of course).
-+.TP
-+.I not_a_fix
-+This boolean option, it set to true, marks the problem as
-+one where if the user gives permission to make the requested change,
-+it does not mean that the file system had a problem which has since
-+been fixed. This is used for requests to optimize the file system's
-+data structure, such as pruning an extent tree.
- @TDB_MAN_COMMENT@.SH THE [scratch_files] STANZA
- @TDB_MAN_COMMENT@The following relations are defined in the
- @TDB_MAN_COMMENT@.I [scratch_files]
-diff --git a/e2fsck/journal.c b/e2fsck/journal.c
-index 46fe7b4..c4f58f1 100644
---- a/e2fsck/journal.c
-+++ b/e2fsck/journal.c
-@@ -572,6 +572,7 @@ static void clear_v2_journal_fields(journal_t *journal)
- if (!fix_problem(ctx, PR_0_CLEAR_V2_JOURNAL, &pctx))
- return;
-
-+ ctx->flags |= E2F_FLAG_PROBLEMS_FIXED;
- memset(((char *) journal->j_superblock) + V1_SB_SIZE, 0,
- ctx->fs->blocksize-V1_SB_SIZE);
- mark_buffer_dirty(journal->j_sb_buffer);
-diff --git a/e2fsck/problem.c b/e2fsck/problem.c
-index 34a671e..4b25069 100644
---- a/e2fsck/problem.c
-+++ b/e2fsck/problem.c
-@@ -1276,12 +1276,12 @@ static struct e2fsck_problem problem_table[] = {
- /* Inode extent tree could be shorter */
- { PR_1E_CAN_COLLAPSE_EXTENT_TREE,
- N_("@i %i @x tree (at level %b) could be shorter. "),
-- PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK },
-+ PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX },
-
- /* Inode extent tree could be narrower */
- { PR_1E_CAN_NARROW_EXTENT_TREE,
- N_("@i %i @x tree (at level %b) could be narrower. "),
-- PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK },
-+ PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX },
-
- /* Pass 2 errors */
-
-@@ -2166,6 +2166,7 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx)
- reconfigure_bool(ctx, ptr, key, PR_NO_NOMSG, "no_nomsg");
- reconfigure_bool(ctx, ptr, key, PR_PREEN_NOHDR, "preen_noheader");
- reconfigure_bool(ctx, ptr, key, PR_FORCE_NO, "force_no");
-+ reconfigure_bool(ctx, ptr, key, PR_NOT_A_FIX, "not_a_fix");
- profile_get_integer(ctx->profile, "options",
- "max_count_problems", 0, 0,
- &ptr->max_count);
-@@ -2283,7 +2284,8 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx)
- if (ptr->flags & PR_AFTER_CODE)
- answer = fix_problem(ctx, ptr->second_code, pctx);
-
-- if (answer && (ptr->prompt != PROMPT_NONE))
-+ if (answer && (ptr->prompt != PROMPT_NONE) &&
-+ !(ptr->flags & PR_NOT_A_FIX))
- ctx->flags |= E2F_FLAG_PROBLEMS_FIXED;
-
- return answer;
-diff --git a/e2fsck/problemP.h b/e2fsck/problemP.h
-index 7944cd6..63bb8df 100644
---- a/e2fsck/problemP.h
-+++ b/e2fsck/problemP.h
-@@ -44,3 +44,4 @@ struct latch_descr {
- #define PR_CONFIG 0x080000 /* This problem has been customized
- from the config file */
- #define PR_FORCE_NO 0x100000 /* Force the answer to be no */
-+#define PR_NOT_A_FIX 0x200000 /* Yes doesn't mean a problem was fixed */
-diff --git a/e2fsck/unix.c b/e2fsck/unix.c
-index eb9f311..9e4d31a 100644
---- a/e2fsck/unix.c
-+++ b/e2fsck/unix.c
-@@ -1901,11 +1901,23 @@ no_journal:
- fix_problem(ctx, PR_6_IO_FLUSH, &pctx);
-
- if (was_changed) {
-- exit_value |= FSCK_NONDESTRUCT;
-- if (!(ctx->options & E2F_OPT_PREEN))
-- log_out(ctx, _("\n%s: ***** FILE SYSTEM WAS "
-- "MODIFIED *****\n"),
-+ int fs_fixed = (ctx->flags & E2F_FLAG_PROBLEMS_FIXED);
-+
-+ if (fs_fixed)
-+ exit_value |= FSCK_NONDESTRUCT;
-+ if (!(ctx->options & E2F_OPT_PREEN)) {
-+#if 0 /* Do this later; it breaks too many tests' golden outputs */
-+ log_out(ctx, fs_fixed ?
-+ _("\n%s: ***** FILE SYSTEM ERRORS "
-+ "CORRECTED *****\n") :
-+ _("%s: File system was modified.\n"),
- ctx->device_name);
-+#else
-+ log_out(ctx,
-+ _("\n%s: ***** FILE SYSTEM WAS MODIFIED *****\n"),
-+ ctx->device_name);
-+#endif
-+ }
- if (ctx->mount_flags & EXT2_MF_ISROOT) {
- log_out(ctx, _("%s: ***** REBOOT SYSTEM *****\n"),
- ctx->device_name);
-diff --git a/tests/f_collapse_extent_tree/expect.1 b/tests/f_collapse_extent_tree/expect.1
-index e2eb65e..8165a58 100644
---- a/tests/f_collapse_extent_tree/expect.1
-+++ b/tests/f_collapse_extent_tree/expect.1
-@@ -13,4 +13,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 12/128 files (0.0% non-contiguous), 19/512 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_compress_extent_tree_level/expect.1 b/tests/f_compress_extent_tree_level/expect.1
-index a359c99..dd33f63 100644
---- a/tests/f_compress_extent_tree_level/expect.1
-+++ b/tests/f_compress_extent_tree_level/expect.1
-@@ -20,4 +20,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 12/128 files (8.3% non-contiguous), 26/512 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_convert_bmap/expect.1 b/tests/f_convert_bmap/expect.1
-index 7d2ca86..c387962 100644
---- a/tests/f_convert_bmap/expect.1
-+++ b/tests/f_convert_bmap/expect.1
-@@ -23,4 +23,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 12/128 files (8.3% non-contiguous), 570/2048 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_convert_bmap_and_extent/expect.1 b/tests/f_convert_bmap_and_extent/expect.1
-index 7af91aa..c86c571 100644
---- a/tests/f_convert_bmap_and_extent/expect.1
-+++ b/tests/f_convert_bmap_and_extent/expect.1
-@@ -30,4 +30,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 13/128 files (15.4% non-contiguous), 574/2048 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_extent_htree/expect.1 b/tests/f_extent_htree/expect.1
-index 223ca69..ea48405 100644
---- a/tests/f_extent_htree/expect.1
-+++ b/tests/f_extent_htree/expect.1
-@@ -26,4 +26,4 @@ test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- 0 sockets
- ------------
- 343 files
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_jnl_errno/expect.1 b/tests/f_jnl_errno/expect.1
-index c572951..4134234 100644
---- a/tests/f_jnl_errno/expect.1
-+++ b/tests/f_jnl_errno/expect.1
-@@ -6,4 +6,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 11/2048 files (9.1% non-contiguous), 1330/8192 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_journal/expect.1 b/tests/f_journal/expect.1
-index a202c80..0a18654 100644
---- a/tests/f_journal/expect.1
-+++ b/tests/f_journal/expect.1
-@@ -59,4 +59,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 53/2048 files (1.9% non-contiguous), 1409/8192 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_orphan/expect.1 b/tests/f_orphan/expect.1
-index eddc1f8..087ebee 100644
---- a/tests/f_orphan/expect.1
-+++ b/tests/f_orphan/expect.1
-@@ -11,4 +11,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 12/2048 files (0.0% non-contiguous), 1303/8192 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_orphan_extents_inode/expect.1 b/tests/f_orphan_extents_inode/expect.1
-index 2eaab78..5d713b3 100644
---- a/tests/f_orphan_extents_inode/expect.1
-+++ b/tests/f_orphan_extents_inode/expect.1
-@@ -7,4 +7,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_rehash_dir/expect.1 b/tests/f_rehash_dir/expect.1
-index 6076765..c1449ba 100644
---- a/tests/f_rehash_dir/expect.1
-+++ b/tests/f_rehash_dir/expect.1
-@@ -7,4 +7,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 105/2048 files (2.9% non-contiguous), 336/512 blocks
--Exit status is 1
-+Exit status is 0
-diff --git a/tests/f_unsorted_EAs/expect.1 b/tests/f_unsorted_EAs/expect.1
-index 7d588d7..64b9045 100644
---- a/tests/f_unsorted_EAs/expect.1
-+++ b/tests/f_unsorted_EAs/expect.1
-@@ -8,4 +8,4 @@ Pass 5: Checking group summary information
-
- test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
- test_filesys: 12/2048 files (0.0% non-contiguous), 1294/2048 blocks
--Exit status is 1
-+Exit status is 0
---
-1.9.1
-