1997-04-30 00:15:03 +08:00
|
|
|
/*
|
|
|
|
* problem.c --- report filesystem problems to the user
|
|
|
|
*
|
|
|
|
* Copyright 1996, 1997 by Theodore Ts'o
|
|
|
|
*
|
|
|
|
* %Begin-Header%
|
|
|
|
* This file may be redistributed under the terms of the GNU Public
|
|
|
|
* License.
|
|
|
|
* %End-Header%
|
|
|
|
*/
|
|
|
|
|
2011-09-19 05:34:37 +08:00
|
|
|
#include "config.h"
|
1997-04-30 00:15:03 +08:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <termios.h>
|
|
|
|
|
|
|
|
#include "e2fsck.h"
|
|
|
|
|
|
|
|
#include "problem.h"
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
#include "problemP.h"
|
1997-04-30 00:15:03 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
#define PROMPT_NONE 0
|
|
|
|
#define PROMPT_FIX 1
|
|
|
|
#define PROMPT_CLEAR 2
|
|
|
|
#define PROMPT_RELOCATE 3
|
|
|
|
#define PROMPT_ALLOCATE 4
|
|
|
|
#define PROMPT_EXPAND 5
|
2009-04-29 02:59:07 +08:00
|
|
|
#define PROMPT_CONNECT 6
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
#define PROMPT_CREATE 7
|
|
|
|
#define PROMPT_SALVAGE 8
|
|
|
|
#define PROMPT_TRUNCATE 9
|
|
|
|
#define PROMPT_CLEAR_INODE 10
|
2009-04-29 02:59:07 +08:00
|
|
|
#define PROMPT_ABORT 11
|
|
|
|
#define PROMPT_SPLIT 12
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
#define PROMPT_CONTINUE 13
|
|
|
|
#define PROMPT_CLONE 14
|
2009-04-29 02:59:07 +08:00
|
|
|
#define PROMPT_DELETE 15
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
#define PROMPT_SUPPRESS 16
|
1999-03-17 03:32:52 +08:00
|
|
|
#define PROMPT_UNLINK 17
|
2002-06-27 04:52:10 +08:00
|
|
|
#define PROMPT_CLEAR_HTREE 18
|
2004-12-24 14:42:22 +08:00
|
|
|
#define PROMPT_RECREATE 19
|
2018-12-16 11:13:41 +08:00
|
|
|
#define PROMPT_OPTIMIZE 20
|
2019-09-03 08:49:09 +08:00
|
|
|
#define PROMPT_CLEAR_FLAG 21
|
|
|
|
#define PROMPT_NULL 22
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* These are the prompts which are used to ask the user if they want
|
|
|
|
* to fix a problem.
|
|
|
|
*/
|
|
|
|
static const char *prompt[] = {
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("(no prompt)"), /* 0 */
|
|
|
|
N_("Fix"), /* 1 */
|
|
|
|
N_("Clear"), /* 2 */
|
|
|
|
N_("Relocate"), /* 3 */
|
|
|
|
N_("Allocate"), /* 4 */
|
|
|
|
N_("Expand"), /* 5 */
|
|
|
|
N_("Connect to /lost+found"), /* 6 */
|
2008-04-01 00:16:51 +08:00
|
|
|
N_("Create"), /* 7 */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Salvage"), /* 8 */
|
|
|
|
N_("Truncate"), /* 9 */
|
|
|
|
N_("Clear inode"), /* 10 */
|
|
|
|
N_("Abort"), /* 11 */
|
|
|
|
N_("Split"), /* 12 */
|
|
|
|
N_("Continue"), /* 13 */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Clone multiply-claimed blocks"), /* 14 */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Delete file"), /* 15 */
|
|
|
|
N_("Suppress messages"),/* 16 */
|
|
|
|
N_("Unlink"), /* 17 */
|
2002-06-27 04:52:10 +08:00
|
|
|
N_("Clear HTree index"),/* 18 */
|
2004-12-24 14:42:22 +08:00
|
|
|
N_("Recreate"), /* 19 */
|
2018-12-16 11:13:41 +08:00
|
|
|
N_("Optimize"), /* 20 */
|
2019-09-03 08:49:09 +08:00
|
|
|
N_("Clear flag"), /* 21 */
|
|
|
|
"", /* 22 */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
};
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* These messages are printed when we are preen mode and we will be
|
|
|
|
* automatically fixing the problem.
|
|
|
|
*/
|
|
|
|
static const char *preen_msg[] = {
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("(NONE)"), /* 0 */
|
|
|
|
N_("FIXED"), /* 1 */
|
|
|
|
N_("CLEARED"), /* 2 */
|
|
|
|
N_("RELOCATED"), /* 3 */
|
|
|
|
N_("ALLOCATED"), /* 4 */
|
|
|
|
N_("EXPANDED"), /* 5 */
|
|
|
|
N_("RECONNECTED"), /* 6 */
|
|
|
|
N_("CREATED"), /* 7 */
|
|
|
|
N_("SALVAGED"), /* 8 */
|
|
|
|
N_("TRUNCATED"), /* 9 */
|
|
|
|
N_("INODE CLEARED"), /* 10 */
|
|
|
|
N_("ABORTED"), /* 11 */
|
|
|
|
N_("SPLIT"), /* 12 */
|
|
|
|
N_("CONTINUING"), /* 13 */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("MULTIPLY-CLAIMED BLOCKS CLONED"), /* 14 */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("FILE DELETED"), /* 15 */
|
|
|
|
N_("SUPPRESSED"), /* 16 */
|
|
|
|
N_("UNLINKED"), /* 17 */
|
2002-06-27 04:52:10 +08:00
|
|
|
N_("HTREE INDEX CLEARED"),/* 18 */
|
2004-12-24 14:42:22 +08:00
|
|
|
N_("WILL RECREATE"), /* 19 */
|
2018-12-16 11:13:41 +08:00
|
|
|
N_("WILL OPTIMIZE"), /* 20 */
|
2019-09-03 08:49:09 +08:00
|
|
|
N_("FLAG CLEARED"), /* 21 */
|
|
|
|
"", /* 22 */
|
1997-04-30 00:15:03 +08:00
|
|
|
};
|
|
|
|
|
2018-07-14 08:42:48 +08:00
|
|
|
#if __GNUC_PREREQ (4, 6)
|
2015-07-13 08:44:53 +08:00
|
|
|
#pragma GCC diagnostic push
|
|
|
|
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
|
2018-07-14 08:42:48 +08:00
|
|
|
#endif
|
2015-07-13 08:44:53 +08:00
|
|
|
|
2006-01-01 05:33:33 +08:00
|
|
|
static struct e2fsck_problem problem_table[] = {
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Pre-Pass 1 errors */
|
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Block bitmap for group is not in group */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
{ PR_0_BB_NOT_GROUP, N_("@b @B for @g %g is not in @g. (@b %b)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, PR_LATCH_RELOC, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode bitmap for group is not in group */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
{ PR_0_IB_NOT_GROUP, N_("@i @B for @g %g is not in @g. (@b %b)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, PR_LATCH_RELOC, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode table for group is not in group. (block nnnn) */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_0_ITABLE_NOT_GROUP,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i table for @g %g is not in @g. (@b %b)\n"
|
|
|
|
"WARNING: SEVERE DATA LOSS POSSIBLE.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, PR_LATCH_RELOC, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Superblock corrupt */
|
|
|
|
{ PR_0_SB_CORRUPT,
|
2014-01-01 12:02:44 +08:00
|
|
|
N_("\nThe @S could not be read or does not describe a valid ext2/ext3/ext4\n"
|
|
|
|
"@f. If the @v is valid and it really contains an ext2/ext3/ext4\n"
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
"@f (and not swap or ufs or something else), then the @S\n"
|
ChangeLog, e2fsck.h, journal.c, problem.c, problem.h, super.c:
super.c (check_super_block): Be more strict on checking
s_r_blocks_count superblock field.
problem.c, problem.h (PR_0_JOURNAL_UNSUPP_ROCOMPAT,
PR_0_JOURNAL_UNSUPP_INCOMPAT, PR_0_JOURNAL_RESET_COMPAT): New problem
codes.
journal.c (e2fsck_journal_load): Use a problem code to report
unsupported feature flags. There is code to clear unsupported flags,
but since this is dangerous, it's not allowed in the problem code
table.
journal.c (e2fsck_journal_reset_super): initialize the journal
sequence number to a random value to avoid recovering bad transactions
from a corrupt journal.
2001-05-14 12:06:56 +08:00
|
|
|
"is corrupt, and you might try running e2fsck with an alternate @S:\n"
|
2014-01-01 12:02:44 +08:00
|
|
|
" e2fsck -b 8193 <@v>\n"
|
|
|
|
" or\n"
|
|
|
|
" e2fsck -b 32768 <@v>\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Filesystem size is wrong */
|
|
|
|
{ PR_0_FS_SIZE_WRONG,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("The @f size (according to the @S) is %b @bs\n"
|
2001-01-04 03:38:04 +08:00
|
|
|
"The physical size of the @v is %c @bs\n"
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
"Either the @S or the partition table is likely to be corrupt!\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ABORT, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Fragments not supported */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_0_NO_FRAGMENTS,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@S @b_size = %b, fragsize = %c.\n"
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
"This version of e2fsck does not support fragment sizes different\n"
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
"from the @b size.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock blocks_per_group = bbbb, should have been cccc */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_0_BLOCKS_PER_GROUP,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@S @bs_per_group = %b, should have been %c\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock first_data_block = bbbb, should have been cccc */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_0_FIRST_DATA_BLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@S first_data_@b = %b, should have been %c\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Filesystem did not have a UUID; generating one */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_0_ADD_UUID,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@f did not have a UUID; generating one.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Relocate hint */
|
|
|
|
{ PR_0_RELOCATE_HINT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Note: if several inode or block bitmap blocks or part\n"
|
|
|
|
"of the inode table require relocation, you may wish to try\n"
|
|
|
|
"running e2fsck with the '-b %S' option first. The problem\n"
|
|
|
|
"may lie only with the primary block group descriptors, and\n"
|
|
|
|
"the backup block group descriptors may be OK.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_NOCOLLATE, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Miscellaneous superblock corruption */
|
|
|
|
{ PR_0_MISC_CORRUPT_SUPER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Corruption found in @S. (%s = %N).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-10-08 19:30:08 +08:00
|
|
|
/* Error determining physical device size of filesystem */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_0_GETSIZE_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2001-01-04 03:38:04 +08:00
|
|
|
N_("Error determining size of the physical @v: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
1999-06-18 09:09:29 +08:00
|
|
|
|
|
|
|
/* Inode count in superblock is incorrect */
|
|
|
|
{ PR_0_INODE_COUNT_WRONG,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@i count in @S is %i, @s %j.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
ChangeLog, problem.c, problem.h, super.c:
problem.c, problem.h (PR_0_HURD_CLEAR_FILETYPE): Add new problem code.
super.c (check_super_block): If the OS type in the superblock is the
Hurd, check to see if the filetype feature is set, and offer to clear
it if so. This needs to be done since the Hurd doesn't properly
support the filetype feature. (And since the hurd allows the
transmogrification of files to special files and vice versa --- for no
good reason that I can understand --- it can't support the filetype
feature for the forseeable future, either.)
ChangeLog, mke2fs.c:
mke2fs.c (main): We forcibly turn off the filetype feature if the OS
is the hurd, since the hurd doesn't support it. (And since the hurd
allows the transmogrification of files to special files and vice versa
--- for no good reason that I can understand --- it can't support the
filetype feature for the forseeable future, either.)
mke2fs.c (proceed_question): Fix reversed sense of proceed_question
that was busted due to the internationalization patch. Fixed bug
where if proceed_question was called twice, the input buffer wasn't
cleared of the previous question's newline.
ChangeLog, expect.1, expect.2, image.gz, name:
f_hurd: Add test for Hurd-specific features (right now, just checks to
make sure the filetype feature is cleared)
ChangeLog, ls.c:
ls.c (list_super): Change the string displayed for the Hurd to be
GNU/Hurd, instead of just "GNU".
2000-05-08 21:33:17 +08:00
|
|
|
|
|
|
|
{ PR_0_HURD_CLEAR_FILETYPE,
|
|
|
|
N_("The Hurd does not support the filetype feature.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock has an invalid journal (inode inum) */
|
2000-08-14 22:25:19 +08:00
|
|
|
{ PR_0_JOURNAL_BAD_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@S has an @n @j (@i %i).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* External journal has multiple filesystem users (unsupported) */
|
2001-07-23 12:17:49 +08:00
|
|
|
{ PR_0_JOURNAL_UNSUPP_MULTIFS,
|
|
|
|
N_("External @j has multiple @f users (unsupported).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2001-07-23 12:17:49 +08:00
|
|
|
/* Can't find external journal */
|
|
|
|
{ PR_0_CANT_FIND_JOURNAL,
|
|
|
|
N_("Can't find external @j\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2001-07-23 12:17:49 +08:00
|
|
|
|
|
|
|
/* External journal has bad superblock */
|
|
|
|
{ PR_0_EXT_JOURNAL_BAD_SUPER,
|
|
|
|
N_("External @j has bad @S\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
|
|
|
/* Superblock has a bad journal UUID */
|
|
|
|
{ PR_0_JOURNAL_BAD_UUID,
|
2001-07-23 12:17:49 +08:00
|
|
|
N_("External @j does not support this @f\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Filesystem journal superblock is an unknown type */
|
2001-06-14 14:58:33 +08:00
|
|
|
{ PR_0_JOURNAL_UNSUPP_SUPER,
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@f @j @S is unknown type %N (unsupported).\n"
|
2001-06-14 14:58:33 +08:00
|
|
|
"It is likely that your copy of e2fsck is old and/or doesn't "
|
|
|
|
"support this @j format.\n"
|
|
|
|
"It is also possible the @j @S is corrupt.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ABORT, PR_NO_OK | PR_AFTER_CODE, PR_0_JOURNAL_BAD_SUPER,
|
|
|
|
0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
|
|
|
/* Journal superblock is corrupt */
|
|
|
|
{ PR_0_JOURNAL_BAD_SUPER,
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@j @S is corrupt.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2009-01-02 12:10:40 +08:00
|
|
|
/* Superblock has_journal flag is clear but has a journal */
|
2000-08-14 22:25:19 +08:00
|
|
|
{ PR_0_JOURNAL_HAS_JOURNAL,
|
2014-06-04 09:59:31 +08:00
|
|
|
N_("@S has_@j flag is clear, but a @j is present.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock needs_recovery flag is set but no journal is present */
|
2000-08-14 22:25:19 +08:00
|
|
|
{ PR_0_JOURNAL_RECOVER_SET,
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@S needs_recovery flag is set, but no @j is present.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2009-01-02 12:10:40 +08:00
|
|
|
/* Superblock needs_recovery flag is set, but journal has data */
|
2001-12-22 12:28:54 +08:00
|
|
|
{ PR_0_JOURNAL_RECOVERY_CLEAR,
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@S needs_recovery flag is clear, but @j has data.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2001-12-22 12:28:54 +08:00
|
|
|
|
|
|
|
/* Ask if we should clear the journal */
|
2000-08-14 22:25:19 +08:00
|
|
|
{ PR_0_JOURNAL_RESET_JOURNAL,
|
2001-12-22 12:28:54 +08:00
|
|
|
N_("Clear @j"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_PREEN_NOMSG, 0, 0, 0 },
|
2000-08-14 22:25:19 +08:00
|
|
|
|
2009-04-28 06:59:24 +08:00
|
|
|
/* Filesystem revision is 0, but feature flags are set */
|
|
|
|
{ PR_0_FS_REV_LEVEL,
|
|
|
|
N_("@f has feature flag(s) set, but is a revision 0 @f. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
ChangeLog, problem.c, problem.h, super.c:
problem.c, problem.h (PR_0_HURD_CLEAR_FILETYPE): Add new problem code.
super.c (check_super_block): If the OS type in the superblock is the
Hurd, check to see if the filetype feature is set, and offer to clear
it if so. This needs to be done since the Hurd doesn't properly
support the filetype feature. (And since the hurd allows the
transmogrification of files to special files and vice versa --- for no
good reason that I can understand --- it can't support the filetype
feature for the forseeable future, either.)
ChangeLog, mke2fs.c:
mke2fs.c (main): We forcibly turn off the filetype feature if the OS
is the hurd, since the hurd doesn't support it. (And since the hurd
allows the transmogrification of files to special files and vice versa
--- for no good reason that I can understand --- it can't support the
filetype feature for the forseeable future, either.)
mke2fs.c (proceed_question): Fix reversed sense of proceed_question
that was busted due to the internationalization patch. Fixed bug
where if proceed_question was called twice, the input buffer wasn't
cleared of the previous question's newline.
ChangeLog, expect.1, expect.2, image.gz, name:
f_hurd: Add test for Hurd-specific features (right now, just checks to
make sure the filetype feature is cleared)
ChangeLog, ls.c:
ls.c (list_super): Change the string displayed for the Hurd to be
GNU/Hurd, instead of just "GNU".
2000-05-08 21:33:17 +08:00
|
|
|
|
ChangeLog, journal.c, message.c, problem.c, problem.h, super.c:
journal.c (e2fsck_journal_load): Fix **nasty** bug which caused
e2fsck_check_ext3_journal to smash the journal because
journal->j_transaction_sequence wasn't getting initialized.
journal.c: (recover_ext3_journal, e2fsck_run_ext3_journal): Move call
to e2fsck_clear_recover from recover_ext3_journal to after the
filesystem has been closed and reopened. Otherwise, the superblock in
the filesystem handle will probably be stale, and will overwrite the
newer version of the superblock written by the log recovery.
message.c (expand_inode_expression): Add support for %Iu and %Ig
problem.h (PR_0_CLEAR_ORPHAN_INODE): Add new problem code.
super.c (release_orphan_inodes, release_inode_block,
release_inode_blocks): Update the block group descriptor counts when
freeing the orphan inode. Use PR_0_CLEAR_ORPHAN_INODE to report when
we clear an orphan.
journal.c (e2fsck_run_ext3_journal): Fix a bug where we attempted to
reopen the filesystem using the device name instead of the filesystem
name.
2000-08-21 06:06:31 +08:00
|
|
|
/* Clearing orphan inode */
|
2000-10-25 09:38:50 +08:00
|
|
|
{ PR_0_ORPHAN_CLEAR_INODE,
|
|
|
|
N_("%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
ChangeLog, journal.c, message.c, problem.c, problem.h, super.c:
journal.c (e2fsck_journal_load): Fix **nasty** bug which caused
e2fsck_check_ext3_journal to smash the journal because
journal->j_transaction_sequence wasn't getting initialized.
journal.c: (recover_ext3_journal, e2fsck_run_ext3_journal): Move call
to e2fsck_clear_recover from recover_ext3_journal to after the
filesystem has been closed and reopened. Otherwise, the superblock in
the filesystem handle will probably be stale, and will overwrite the
newer version of the superblock written by the log recovery.
message.c (expand_inode_expression): Add support for %Iu and %Ig
problem.h (PR_0_CLEAR_ORPHAN_INODE): Add new problem code.
super.c (release_orphan_inodes, release_inode_block,
release_inode_blocks): Update the block group descriptor counts when
freeing the orphan inode. Use PR_0_CLEAR_ORPHAN_INODE to report when
we clear an orphan.
journal.c (e2fsck_run_ext3_journal): Fix a bug where we attempted to
reopen the filesystem using the device name instead of the filesystem
name.
2000-08-21 06:06:31 +08:00
|
|
|
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
/* Illegal block found in orphaned inode */
|
|
|
|
{ PR_0_ORPHAN_ILLEGAL_BLOCK_NUM,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@I %B (%b) found in @o @i %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
/* Already cleared block found in orphaned inode */
|
|
|
|
{ PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("Already cleared %B (%b) found in @o @i %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
/* Illegal orphan inode in superblock */
|
|
|
|
{ PR_0_ORPHAN_ILLEGAL_HEAD_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
N_("@I @o @i %i in @S.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
|
|
|
|
/* Illegal inode in orphaned inode list */
|
|
|
|
{ PR_0_ORPHAN_ILLEGAL_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
N_("@I @i %i in @o @i list.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
Makefile.in: Update the make dependencies
problem.c, problem.h: Add the problem codes:
PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK,
PR_0_ORPHAN_ILLEGAL_HEAD_INODE, PR_0_ORPHAN_ILLEGAL_INODE,
PR_0_ORPHAN_INODE_INUSE
super.c (release_inode_blocks, release_orphan_inodes,
check_super_block): Add support for clearing orphaned inodes from the
unmounted filesystem.
journal.c (e2fsck_recover_ext3_journal): Remove the last orphan check;
this is now handled in check_super_block --- non-journaled filesystems
can use the orphan list in the future. Also, move the the re-opening
of the filesystem to e2fsck_run_ext3_journal().
debugfs.c:
debugfs.c (finish_range): Make sure the pager FILE pointer to use.
configure, configure.in, ChangeLog:
configure.in (JFS_DEBUG): Add support for --enable-jfs-debug
2000-08-18 23:08:37 +08:00
|
|
|
|
ChangeLog, e2fsck.h, journal.c, problem.c, problem.h, super.c:
super.c (check_super_block): Be more strict on checking
s_r_blocks_count superblock field.
problem.c, problem.h (PR_0_JOURNAL_UNSUPP_ROCOMPAT,
PR_0_JOURNAL_UNSUPP_INCOMPAT, PR_0_JOURNAL_RESET_COMPAT): New problem
codes.
journal.c (e2fsck_journal_load): Use a problem code to report
unsupported feature flags. There is code to clear unsupported flags,
but since this is dangerous, it's not allowed in the problem code
table.
journal.c (e2fsck_journal_reset_super): initialize the journal
sequence number to a random value to avoid recovering bad transactions
from a corrupt journal.
2001-05-14 12:06:56 +08:00
|
|
|
/* Journal superblock has an unknown read-only feature flag set */
|
|
|
|
{ PR_0_JOURNAL_UNSUPP_ROCOMPAT,
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@j @S has an unknown read-only feature flag set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ABORT, 0, 0, 0, 0 },
|
ChangeLog, e2fsck.h, journal.c, problem.c, problem.h, super.c:
super.c (check_super_block): Be more strict on checking
s_r_blocks_count superblock field.
problem.c, problem.h (PR_0_JOURNAL_UNSUPP_ROCOMPAT,
PR_0_JOURNAL_UNSUPP_INCOMPAT, PR_0_JOURNAL_RESET_COMPAT): New problem
codes.
journal.c (e2fsck_journal_load): Use a problem code to report
unsupported feature flags. There is code to clear unsupported flags,
but since this is dangerous, it's not allowed in the problem code
table.
journal.c (e2fsck_journal_reset_super): initialize the journal
sequence number to a random value to avoid recovering bad transactions
from a corrupt journal.
2001-05-14 12:06:56 +08:00
|
|
|
|
|
|
|
/* Journal superblock has an unknown incompatible feature flag set */
|
|
|
|
{ PR_0_JOURNAL_UNSUPP_INCOMPAT,
|
2009-01-02 12:10:40 +08:00
|
|
|
N_("@j @S has an unknown incompatible feature flag set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ABORT, 0, 0, 0, 0 },
|
2001-05-24 06:19:47 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Journal version not supported by this e2fsck */
|
2001-05-24 06:19:47 +08:00
|
|
|
{ PR_0_JOURNAL_UNSUPP_VERSION,
|
|
|
|
N_("@j version not supported by this e2fsck.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ABORT, 0, 0, 0, 0 },
|
2001-10-07 09:26:27 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Moving journal from /file to hidden inode */
|
2001-10-07 09:26:27 +08:00
|
|
|
{ PR_0_MOVE_JOURNAL,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Moving @j from /%s to hidden @i.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2001-10-07 09:26:27 +08:00
|
|
|
|
|
|
|
/* Error moving journal to hidden file */
|
|
|
|
{ PR_0_ERR_MOVE_JOURNAL,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2001-10-07 09:26:27 +08:00
|
|
|
N_("Error moving @j: %m\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2001-10-07 09:26:27 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Found invalid V2 journal superblock fields */
|
2001-10-07 14:13:30 +08:00
|
|
|
{ PR_0_CLEAR_V2_JOURNAL,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Found @n V2 @j @S fields (from V1 @j).\n"
|
2001-10-07 14:13:30 +08:00
|
|
|
"Clearing fields beyond the V1 @j @S...\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2001-10-07 14:13:30 +08:00
|
|
|
|
2009-04-28 06:59:24 +08:00
|
|
|
/* Ask if we should run the journal anyway */
|
|
|
|
{ PR_0_JOURNAL_RUN,
|
|
|
|
N_("Run @j anyway"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, 0, 0, 0, 0 },
|
2009-04-28 06:59:24 +08:00
|
|
|
|
|
|
|
/* Run the journal by default */
|
|
|
|
{ PR_0_JOURNAL_RUN_DEFAULT,
|
|
|
|
N_("Recovery flag not set in backup @S, so running @j anyway.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2009-04-28 06:59:24 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Backing up journal inode block information */
|
2003-08-21 12:40:26 +08:00
|
|
|
{ PR_0_BACKUP_JNL,
|
|
|
|
N_("Backing up @j @i @b information.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2003-08-21 12:40:26 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Filesystem does not have resize_inode enabled, but
|
|
|
|
* s_reserved_gdt_blocks is nnnn; should be zero */
|
2004-12-17 09:13:45 +08:00
|
|
|
{ PR_0_NONZERO_RESERVED_GDT_BLOCKS,
|
|
|
|
N_("@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
|
|
|
|
"is %N; @s zero. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2004-12-17 09:13:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Resize_inode not enabled, but the resize inode is non-zero */
|
2004-12-17 09:13:45 +08:00
|
|
|
{ PR_0_CLEAR_RESIZE_INODE,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Resize_@i not enabled, but the resize @i is non-zero. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2004-12-17 09:13:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Resize inode not valid */
|
2004-12-24 14:42:22 +08:00
|
|
|
{ PR_0_RESIZE_INODE_INVALID,
|
|
|
|
N_("Resize @i not valid. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RECREATE, 0, 0, 0, 0 },
|
2004-12-24 14:42:22 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock last mount time is in the future */
|
2005-09-25 09:59:45 +08:00
|
|
|
{ PR_0_FUTURE_SB_LAST_MOUNT,
|
2009-08-08 22:14:48 +08:00
|
|
|
N_("@S last mount time (%t,\n\tnow = %T) is in the future.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2005-09-25 09:59:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock last write time is in the future */
|
2005-09-25 09:59:45 +08:00
|
|
|
{ PR_0_FUTURE_SB_LAST_WRITE,
|
2009-08-08 22:14:48 +08:00
|
|
|
N_("@S last write time (%t,\n\tnow = %T) is in the future.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2005-09-25 09:59:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock hint for external superblock should be xxxx */
|
2006-03-11 04:25:59 +08:00
|
|
|
{ PR_0_EXTERNAL_JOURNAL_HINT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2006-03-11 04:25:59 +08:00
|
|
|
N_("@S hint for external superblock @s %X. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2006-03-11 04:25:59 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Adding dirhash hint to filesystem */
|
2006-11-12 11:32:35 +08:00
|
|
|
{ PR_0_DIRHASH_HINT,
|
|
|
|
N_("Adding dirhash hint to @f.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2006-11-12 11:32:35 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* group descriptor N checksum is invalid, should be yyyy. */
|
2007-10-22 10:04:03 +08:00
|
|
|
{ PR_0_GDT_CSUM,
|
2012-03-16 07:29:19 +08:00
|
|
|
N_("@g descriptor %g checksum is %04x, should be %04y. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_LATCH_BG_CHECKSUM, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
|
|
|
/* group descriptor N marked uninitialized without feature set. */
|
|
|
|
{ PR_0_GDT_UNINIT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-10-22 10:04:03 +08:00
|
|
|
N_("@g descriptor %g marked uninitialized without feature set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
|
|
|
/* Group descriptor N has invalid unused inodes count. */
|
|
|
|
{ PR_0_GDT_ITABLE_UNUSED,
|
|
|
|
N_("@g descriptor %g has invalid unused inodes count %b. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
2008-04-01 00:14:22 +08:00
|
|
|
/* Last group block bitmap uninitialized. */
|
|
|
|
{ PR_0_BB_UNINIT_LAST,
|
|
|
|
N_("Last @g @b @B uninitialized. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:14:22 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Journal transaction was corrupt, replay was aborted */
|
2008-05-23 13:00:19 +08:00
|
|
|
{ PR_0_JNL_TXN_CORRUPT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2008-05-23 13:00:19 +08:00
|
|
|
N_("Journal transaction %i was corrupt, replay was aborted.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-05-23 13:00:19 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* The test_fs filesystem flag is set (and ext4 is available) */
|
2008-10-13 11:09:26 +08:00
|
|
|
{ PR_0_CLEAR_TESTFS_FLAG,
|
|
|
|
N_("The test_fs flag is set (and ext4 is available). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2008-10-13 11:09:26 +08:00
|
|
|
|
2009-07-17 11:44:50 +08:00
|
|
|
/* Last mount time is in the future (fudged) */
|
|
|
|
{ PR_0_FUTURE_SB_LAST_MOUNT_FUDGED,
|
|
|
|
N_("@S last mount time is in the future.\n\t(by less than a day, "
|
2015-03-29 09:39:54 +08:00
|
|
|
"probably due to the hardware clock being incorrectly set)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2009-07-17 11:44:50 +08:00
|
|
|
|
|
|
|
/* Last write time is in the future (fudged) */
|
|
|
|
{ PR_0_FUTURE_SB_LAST_WRITE_FUDGED,
|
|
|
|
N_("@S last write time is in the future.\n\t(by less than a day, "
|
2015-03-29 09:39:54 +08:00
|
|
|
"probably due to the hardware clock being incorrectly set)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2009-07-17 11:44:50 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* One or more block group descriptor checksums are invalid (latch) */
|
2009-08-19 13:06:50 +08:00
|
|
|
{ PR_0_GDT_CSUM_LATCH,
|
|
|
|
N_("One or more @b @g descriptor checksums are invalid. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2009-08-19 13:06:50 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Setting free inodes count to right (was wrong) */
|
2011-06-16 13:13:42 +08:00
|
|
|
{ PR_0_FREE_INODE_COUNT,
|
|
|
|
N_("Setting free @is count to %j (was %i)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_NOMSG, 0, 0, 0 },
|
2011-06-16 13:13:42 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Setting free blocks count to right (was wrong) */
|
2011-06-16 13:13:42 +08:00
|
|
|
{ PR_0_FREE_BLOCK_COUNT,
|
|
|
|
N_("Setting free @bs count to %c (was %b)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_NOMSG, 0, 0, 0 },
|
2011-06-16 13:13:42 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Making quota inode hidden */
|
2011-07-21 02:40:06 +08:00
|
|
|
{ PR_0_HIDE_QUOTA,
|
2017-07-23 02:51:28 +08:00
|
|
|
N_("Hiding %U @q @i %i (%Q).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
2011-07-21 02:40:06 +08:00
|
|
|
|
2011-09-25 01:48:55 +08:00
|
|
|
/* Superblock has invalid MMP block. */
|
|
|
|
{ PR_0_MMP_INVALID_BLK,
|
|
|
|
N_("@S has invalid MMP block. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2011-09-25 01:48:55 +08:00
|
|
|
|
|
|
|
/* Superblock has invalid MMP magic. */
|
|
|
|
{ PR_0_MMP_INVALID_MAGIC,
|
|
|
|
N_("@S has invalid MMP magic. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2011-09-25 01:48:55 +08:00
|
|
|
|
2012-03-22 11:40:24 +08:00
|
|
|
/* Opening file system failed */
|
|
|
|
{ PR_0_OPEN_FAILED,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2012-03-22 11:40:24 +08:00
|
|
|
N_("ext2fs_open2: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2012-03-22 11:40:24 +08:00
|
|
|
|
|
|
|
/* Checking group descriptor failed */
|
|
|
|
{ PR_0_CHECK_DESC_FAILED,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2012-03-22 11:40:24 +08:00
|
|
|
N_("ext2fs_check_desc: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2012-03-22 11:40:24 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock metadata_csum supersedes uninit_bg; both feature
|
|
|
|
* bits cannot be set simultaneously. */
|
2012-08-03 08:47:45 +08:00
|
|
|
{ PR_0_META_AND_GDT_CSUM_SET,
|
|
|
|
N_("@S metadata_csum supersedes uninit_bg; both feature "
|
|
|
|
"bits cannot be set simultaneously."),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2012-08-03 08:47:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock MMP block checksum does not match MMP block. */
|
2012-08-03 08:47:45 +08:00
|
|
|
{ PR_0_MMP_CSUM_INVALID,
|
misc: add e2mmpstatus utility via dumpe2fs
e2mmpstatus is a Multi-Mount Protection (MMP) helper utility to read
an MMP block to see if it is being updated. It can also output the
latest update time, nodename, and device from the MMP block.
This is useful for HA and other maintenance scripts to determine if
the filesystem is in use on another node, and which node it is.
Signed-off-by: Shuichi Ihara <sihara@ddn.com>
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Moved e2mmpstatus checking/dumping code to be part of dumpe2fs rather
than a standalone program, using the "-m" option to check MMP status,
and "-i" to dump info. If dumpe2fs is called as "e2mmpstatus" (and
also "mmpstatus" for compatibility reasons), assume "-m" is specified.
Re-use the existing MMP block handing routines (with some changes) to
check and dump the MMP block, rather than adding duplicate versions.
Modify dumpe2fs to exit with a non-zero error code if there is an
error while reading the filesystem metadata or MMP block, or if
"-m" is used with the "mmp" feature and is in use by another node.
Add a configure check for gethostname() rather than depending on
_BSD_SOURCE or _XOPEN_SOURCE to be set.
Update the f_mmp, m_mmp, m_mmp_bad_csum, and m_mmp_bad_magic tests
to use e2mmpstatus to check and dump the MMP state before and after
e2fsck is run to verify that the tool is working correctly.
Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2018-05-02 12:26:06 +08:00
|
|
|
N_("@S MMP @b checksum does not match. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2012-08-03 08:47:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock 64bit filesystem needs extents to access the whole disk */
|
2013-10-12 09:20:36 +08:00
|
|
|
{ PR_0_64BIT_WITHOUT_EXTENTS,
|
2017-02-18 01:57:29 +08:00
|
|
|
N_("@S 64bit @f needs extents to access the whole disk. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2013-10-12 09:20:36 +08:00
|
|
|
|
2014-08-10 00:31:04 +08:00
|
|
|
/* The first_meta_bg is too big */
|
|
|
|
{ PR_0_FIRST_META_BG_TOO_BIG,
|
|
|
|
N_("First_meta_bg is too big. (%N, max value %g). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2014-08-10 00:31:04 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* External journal superblock checksum does not match superblock */
|
2014-09-09 07:12:15 +08:00
|
|
|
{ PR_0_EXT_JOURNAL_SUPER_CSUM_INVALID,
|
|
|
|
N_("External @j @S checksum does not match @S. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2014-09-09 07:12:15 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Superblock metadata_csum_seed means nothing without metadata_csum */
|
2016-03-06 01:52:55 +08:00
|
|
|
{ PR_0_CSUM_SEED_WITHOUT_META_CSUM,
|
|
|
|
N_("@S metadata_csum_seed is not necessary without metadata_csum."),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2016-03-06 01:52:55 +08:00
|
|
|
|
2016-05-30 05:36:43 +08:00
|
|
|
/* Error initializing quota context */
|
|
|
|
{ PR_0_QUOTA_INIT_CTX,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2016-05-30 05:36:43 +08:00
|
|
|
N_("Error initializing quota context in support library: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_FATAL, 0, 0, 0 },
|
2016-05-30 05:36:43 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Bad required extra isize in superblock */
|
2016-09-05 05:31:07 +08:00
|
|
|
{ PR_0_BAD_MIN_EXTRA_ISIZE,
|
|
|
|
N_("Bad required extra isize in @S (%N). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2016-09-05 05:31:07 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Bad desired extra isize in superblock */
|
2016-09-05 05:31:07 +08:00
|
|
|
{ PR_0_BAD_WANT_EXTRA_ISIZE,
|
|
|
|
N_("Bad desired extra isize in @S (%N). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2016-09-05 05:31:07 +08:00
|
|
|
|
2017-07-23 04:08:25 +08:00
|
|
|
/* Invalid quota inode number */
|
|
|
|
{ PR_0_INVALID_QUOTA_INO,
|
|
|
|
N_("Invalid %U @q @i %i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2017-07-23 04:08:25 +08:00
|
|
|
|
2018-06-19 23:23:37 +08:00
|
|
|
/* Too many inodes in the filesystem */
|
|
|
|
{ PR_0_INODE_COUNT_BIG,
|
|
|
|
N_("@S would have too many inodes (%N).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT, 0, 0 },
|
2018-06-19 23:23:37 +08:00
|
|
|
|
2018-08-08 19:52:56 +08:00
|
|
|
/* 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. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2018-08-08 19:52:56 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Pass 1 errors */
|
2007-10-22 10:04:03 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 1: Checking inodes, blocks, and sizes */
|
|
|
|
{ PR_1_PASS_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Pass 1: Checking @is, @bs, and sizes\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2014-06-04 09:59:31 +08:00
|
|
|
/* Root inode is not a directory */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
{ PR_1_ROOT_NO_DIR, N_("@r is not a @d. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2014-06-04 09:59:31 +08:00
|
|
|
/* Root inode has dtime set */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_ROOT_DTIME,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@r has dtime set (probably due to old mke2fs). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Reserved inode has bad mode */
|
|
|
|
{ PR_1_RESERVED_BAD_MODE,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Reserved @i %i (%Q) has @n mode. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Deleted inode inum has zero dtime */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_ZERO_DTIME,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@D @i %i has zero dtime. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode inum is in use, but has dtime set */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_SET_DTIME,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i is in use, but has dtime set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode inum is a zero-length directory */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_ZERO_LENGTH_DIR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i is a @z @d. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Group block bitmap at block conflicts with some other fs block */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_BB_CONFLICT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@g %g's @b @B at %b @C.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Group inode bitmap at block conflicts with some other fs block */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_IB_CONFLICT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@g %g's @i @B at %b @C.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Group inode table at block conflicts with some other fs block */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_ITABLE_CONFLICT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@g %g's @i table at %b @C.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Group block bitmap (block) is bad */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_BB_BAD_BLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@g %g's @b @B (%b) is bad. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Group inode bitmap (block) is bad */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_IB_BAD_BLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@g %g's @i @B (%b) is bad. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_RELOCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode inum, i_size is small, should be larger */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_BAD_I_SIZE,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i, i_size is %Is, @s %N. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode inum, i_blocks is small, should be larger */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_BAD_I_BLOCKS,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i, i_@bs is %Ib, @s %N. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Illegal block number in inode */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_ILLEGAL_BLOCK_NUM,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@I %B (%b) in @i %i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_BLOCK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Block number overlaps filesystem metadata in inode */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_BLOCK_OVERLAPS_METADATA,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("%B (%b) overlaps @f metadata in @i %i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_BLOCK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Inode has illegal blocks (latch question) */
|
|
|
|
{ PR_1_INODE_BLOCK_LATCH,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i has illegal @b(s). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Too many illegal blocks in inode */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_1_TOO_MANY_BAD_BLOCKS,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Too many illegal @bs in @i %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_INODE, PR_NO_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Illegal block number in bad block inode */
|
|
|
|
{ PR_1_BB_ILLEGAL_BLOCK_NUM,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@I %B (%b) in bad @b @i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_BBLOCK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Bad block inode has illegal blocks (latch question) */
|
|
|
|
{ PR_1_INODE_BBLOCK_LATCH,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Bad @b @i has illegal @b(s). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Duplicate or bad blocks in use! */
|
|
|
|
{ PR_1_DUP_BLOCKS_PREENSTOP,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Duplicate or bad @b in use!\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Bad block number used as bad block inode indirect block */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_BBINODE_BAD_METABLOCK,
|
2003-11-21 23:41:58 +08:00
|
|
|
N_("Bad @b %b used as bad @b @i indirect @b. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_BBLOCK, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Inconsistency can't be fixed prompt */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_BBINODE_BAD_METABLOCK_PROMPT,
|
2003-11-21 23:41:58 +08:00
|
|
|
N_("\nThe bad @b @i has probably been corrupted. You probably\n"
|
|
|
|
"should stop now and run ""e2fsck -c"" to scan for bad blocks\n"
|
|
|
|
"in the @f.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CONTINUE, PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Bad primary block */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_1_BAD_PRIMARY_BLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("\nIf the @b is really bad, the @f can not be fixed.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_1_BAD_PRIMARY_BLOCK_PROMPT, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Bad primary block prompt */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_1_BAD_PRIMARY_BLOCK_PROMPT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("You can remove this @b from the bad @b list and hope\n"
|
|
|
|
"that the @b is really OK. But there are no guarantees.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* The primary superblock block is on the bad block list */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_BAD_PRIMARY_SUPERBLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("The primary @S (%b) is on the bad @b list.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_1_BAD_PRIMARY_BLOCK, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Bad primary block group descriptors */
|
|
|
|
{ PR_1_BAD_PRIMARY_GROUP_DESCRIPTOR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Block %b in the primary @g descriptors "
|
2017-02-18 01:57:29 +08:00
|
|
|
"is on the bad @b list\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_AFTER_CODE, PR_1_BAD_PRIMARY_BLOCK, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Warning: Group number's superblock (block) is bad */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_BAD_SUPERBLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Warning: Group %g's @S (%b) is bad.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Warning: Group number's copy of the group descriptors has a bad
|
|
|
|
* block */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_BAD_GROUP_DESCRIPTORS,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Warning: Group %g's copy of the @g descriptors has a bad "
|
|
|
|
"@b (%b).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Block number claimed for no reason in process_bad_blocks */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_PROGERR_CLAIMED_BLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Programming error? @b #%b claimed for no reason in "
|
|
|
|
"process_bad_@b.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Allocating number contiguous block(s) in block group number */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_RELOC_BLOCK_ALLOCATE,
|
2002-08-22 00:52:03 +08:00
|
|
|
N_("@A %N contiguous @b(s) in @b @g %g for %s: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Allocating block buffer for relocating process */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_RELOC_MEMORY_ALLOCATE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@A @b buffer for relocating %s\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Relocating group number's information from X to Y */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_RELOC_FROM_TO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Relocating @g %g's %s from %b to %c...\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Relocating group number's information to X */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_RELOC_TO,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2003-05-04 06:45:55 +08:00
|
|
|
N_("Relocating @g %g's %s to %c...\n"), /* xgettext:no-c-format */
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Warning: could not read block number of relocation process */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_RELOC_READ_ERR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Warning: could not read @b %b of %s: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Warning: could not write block number of relocation process */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_RELOC_WRITE_ERR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Warning: could not write @b %b for %s: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error allocating inode bitmap */
|
|
|
|
{ PR_1_ALLOCATE_IBITMAP_ERROR,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@A @i @B (%N): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error allocating block bitmap */
|
|
|
|
{ PR_1_ALLOCATE_BBITMAP_ERROR,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@A @b @B (%N): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-08-25 08:38:22 +08:00
|
|
|
/* Error allocating icount link information */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_ALLOCATE_ICOUNT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@A icount link information: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-08-25 08:38:22 +08:00
|
|
|
/* Error allocating directory block array */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_ALLOCATE_DBCOUNT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@A @d @b array: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error while scanning inodes */
|
|
|
|
{ PR_1_ISCAN_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error while scanning @is (%i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Error while iterating over blocks in inode */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_BLOCK_ITERATE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
ChangeLog, message.c, pass1b.c, pass2.c, pass3.c, problem.c, problem.h:
pass1b.c: Change routines to use PR_1B_BLOCK_ITERATE when reporting
problems rather than using com_err directly.
problem.c, problem.h (PR_1B_BLOCK_ITERATE): Add new problem code.
message.c (expand_percent_expression): Add safety check. If ctx->str
is NULL, print "NULL" instead of dereferencing the null pointer.
pass1b.c, pass2.c, pass3.c: Change calls to ext2fs_block_iterate to
ext2fs_block_iterate2, to support 64-bit filesizes and to speed things
up slightly by avoiding the use of the ext2fs_block_iterate's
compatibility shim layer.
version.h:
Update for WIP release.
2000-11-17 13:40:49 +08:00
|
|
|
N_("Error while iterating over @bs in @i %i: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Error storing inode count information */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_ICOUNT_STORE,
|
2001-01-04 00:57:24 +08:00
|
|
|
N_("Error storing @i count information (@i=%i, count=%N): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Error storing directory block information */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_ADD_DBLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error storing @d @b information "
|
2001-01-04 00:57:24 +08:00
|
|
|
"(@i=%i, @b=%b, num=%N): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Error reading inode (for clearing) */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1_READ_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error reading @i %i: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
|
|
|
|
/* Suppress messages prompt */
|
2018-10-11 22:25:31 +08:00
|
|
|
{ PR_1_SUPPRESS_MESSAGES, "", PROMPT_SUPPRESS, PR_NO_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Imagic number has imagic flag set when fs doesn't support it */
|
ChangeLog, e2fsck.h, pass1.c, pass2.c, pass3.c, problem.c, problem.h, util.c:
pass1.c (e2fsck_pass1): If the filesystem does not support imagic
inodes, if an inode has the imagic flag set, offer to clear the imagic
flag. If a valid device/fifo/socket has the immutable flag set, call
the new helper function check_immutable() to offerto clear the
immutable flag.
pass2.c (check_filetype): Use the new ext2_file_type() helper function
instead of calculating the file_type information manually.
pass3.c (e2fsck_reconnect_file): When adding a link to lost+found,
calculate the filetype information so that ext2fs_link() can use the
information if applicable. (get_lost_and_found): Create the
/lost+found directory with the correct filetype information if
applicable.
util.c (ext2_file_type), e2fsck.h: New function which returns the
directory entry file type information given the inode's mode bits.
problem.c, problem.h: Added new problem codes PR_1_SET_IMAGIC and
PR_1_SET_IMMUTABLE.
ChangeLog, mke2fs.8.in:
mke2fs.8.in: Update manual page so that the sparse_option filesystem
option is properly named.
1999-11-10 21:34:40 +08:00
|
|
|
{ PR_1_SET_IMAGIC,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i has imagic flag set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
ChangeLog, e2fsck.h, pass1.c, pass2.c, pass3.c, problem.c, problem.h, util.c:
pass1.c (e2fsck_pass1): If the filesystem does not support imagic
inodes, if an inode has the imagic flag set, offer to clear the imagic
flag. If a valid device/fifo/socket has the immutable flag set, call
the new helper function check_immutable() to offerto clear the
immutable flag.
pass2.c (check_filetype): Use the new ext2_file_type() helper function
instead of calculating the file_type information manually.
pass3.c (e2fsck_reconnect_file): When adding a link to lost+found,
calculate the filetype information so that ext2fs_link() can use the
information if applicable. (get_lost_and_found): Create the
/lost+found directory with the correct filetype information if
applicable.
util.c (ext2_file_type), e2fsck.h: New function which returns the
directory entry file type information given the inode's mode bits.
problem.c, problem.h: Added new problem codes PR_1_SET_IMAGIC and
PR_1_SET_IMMUTABLE.
ChangeLog, mke2fs.8.in:
mke2fs.8.in: Update manual page so that the sparse_option filesystem
option is properly named.
1999-11-10 21:34:40 +08:00
|
|
|
|
|
|
|
/* Immutable flag set on a device or socket inode */
|
|
|
|
{ PR_1_SET_IMMUTABLE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2002-05-21 21:14:17 +08:00
|
|
|
N_("Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
|
|
|
|
"or append-only flag set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK | PR_PREEN_NO | PR_NO_OK, 0, 0, 0 },
|
ChangeLog, e2fsck.h, pass1.c, pass2.c, pass3.c, problem.c, problem.h, util.c:
pass1.c (e2fsck_pass1): If the filesystem does not support imagic
inodes, if an inode has the imagic flag set, offer to clear the imagic
flag. If a valid device/fifo/socket has the immutable flag set, call
the new helper function check_immutable() to offerto clear the
immutable flag.
pass2.c (check_filetype): Use the new ext2_file_type() helper function
instead of calculating the file_type information manually.
pass3.c (e2fsck_reconnect_file): When adding a link to lost+found,
calculate the filetype information so that ext2fs_link() can use the
information if applicable. (get_lost_and_found): Create the
/lost+found directory with the correct filetype information if
applicable.
util.c (ext2_file_type), e2fsck.h: New function which returns the
directory entry file type information given the inode's mode bits.
problem.c, problem.h: Added new problem codes PR_1_SET_IMAGIC and
PR_1_SET_IMMUTABLE.
ChangeLog, mke2fs.8.in:
mke2fs.8.in: Update manual page so that the sparse_option filesystem
option is properly named.
1999-11-10 21:34:40 +08:00
|
|
|
|
2000-05-27 22:40:09 +08:00
|
|
|
/* Non-zero size for device, fifo or socket inode */
|
|
|
|
{ PR_1_SET_NONZSIZE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Special (@v/socket/fifo) @i %i has non-zero size. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2000-12-14 02:07:23 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Filesystem has feature flag(s) set, but is a revision 0 filesystem */
|
2000-12-14 02:07:23 +08:00
|
|
|
{ PR_1_FS_REV_LEVEL,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@f has feature flag(s) set, but is a revision 0 @f. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2000-12-14 02:07:23 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Journal inode is not in use, but contains data */
|
2001-01-13 05:53:25 +08:00
|
|
|
{ PR_1_JOURNAL_INODE_NOT_CLEAR,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@j @i is not in use, but contains data. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Journal is not a regular file */
|
2001-01-13 05:53:25 +08:00
|
|
|
{ PR_1_JOURNAL_BAD_MODE,
|
2001-02-08 10:34:50 +08:00
|
|
|
N_("@j is not regular file. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2001-01-13 05:53:25 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode that was part of the orphan list */
|
ChangeLog, pass1.c, problem.c, problem.h, problemP.h:
pass1.c: Treat inodes with a low dtime (that were from a corrupted
orphan list) specially.
problem.c, problem.h: Add new problem codes PR_1_LOW_DTIME and
PR_1_ORPHAN_LIST_REFUGEES, and a new latch group, PR_LATCH_LOW_DTIME.
problemP.h: Expand the size of the problem flag to be an int instead
of a short. Expand space in the flag word which is reserved for
problem latch flags from 3 bits to 8 bits.
ChangeLog, expect.1, expect.2, image.gz, name:
f_badorphan: New test which verifies corrupted orphan list handling.
2001-05-14 20:47:41 +08:00
|
|
|
{ PR_1_LOW_DTIME,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@i %i was part of the @o @i list. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_LATCH_LOW_DTIME, 0, 0, 0 },
|
ChangeLog, pass1.c, problem.c, problem.h, problemP.h:
pass1.c: Treat inodes with a low dtime (that were from a corrupted
orphan list) specially.
problem.c, problem.h: Add new problem codes PR_1_LOW_DTIME and
PR_1_ORPHAN_LIST_REFUGEES, and a new latch group, PR_LATCH_LOW_DTIME.
problemP.h: Expand the size of the problem flag to be an int instead
of a short. Expand space in the flag word which is reserved for
problem latch flags from 3 bits to 8 bits.
ChangeLog, expect.1, expect.2, image.gz, name:
f_badorphan: New test which verifies corrupted orphan list handling.
2001-05-14 20:47:41 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inodes that were part of a corrupted orphan linked list found
|
|
|
|
* (latch question) */
|
ChangeLog, pass1.c, problem.c, problem.h, problemP.h:
pass1.c: Treat inodes with a low dtime (that were from a corrupted
orphan list) specially.
problem.c, problem.h: Add new problem codes PR_1_LOW_DTIME and
PR_1_ORPHAN_LIST_REFUGEES, and a new latch group, PR_LATCH_LOW_DTIME.
problemP.h: Expand the size of the problem flag to be an int instead
of a short. Expand space in the flag word which is reserved for
problem latch flags from 3 bits to 8 bits.
ChangeLog, expect.1, expect.2, image.gz, name:
f_badorphan: New test which verifies corrupted orphan list handling.
2001-05-14 20:47:41 +08:00
|
|
|
{ PR_1_ORPHAN_LIST_REFUGEES,
|
|
|
|
N_("@is that were part of a corrupted orphan linked list found. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2001-07-02 23:54:09 +08:00
|
|
|
/* Error allocating refcount structure */
|
|
|
|
{ PR_1_ALLOCATE_REFCOUNT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@A refcount structure (%N): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2001-07-02 23:54:09 +08:00
|
|
|
|
|
|
|
/* Error reading extended attribute block */
|
|
|
|
{ PR_1_READ_EA_BLOCK,
|
|
|
|
N_("Error reading @a @b %b for @i %i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2001-07-02 23:54:09 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode number has a bad extended attribute block */
|
2001-07-02 23:54:09 +08:00
|
|
|
{ PR_1_BAD_EA_BLOCK,
|
|
|
|
N_("@i %i has a bad @a @b %b. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2001-07-02 23:54:09 +08:00
|
|
|
|
2001-07-07 23:12:50 +08:00
|
|
|
/* Error reading Extended Attribute block while fixing refcount */
|
|
|
|
{ PR_1_EXTATTR_READ_ABORT,
|
|
|
|
N_("Error reading @a @b %b (%m). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended attribute number has reference count incorrect */
|
2001-07-07 23:12:50 +08:00
|
|
|
{ PR_1_EXTATTR_REFCOUNT,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@a @b %b has reference count %r, @s %N. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
|
|
|
/* Error writing Extended Attribute block while fixing refcount */
|
2010-05-13 06:58:53 +08:00
|
|
|
{ PR_1_EXTATTR_WRITE_ABORT,
|
2001-07-07 23:12:50 +08:00
|
|
|
N_("Error writing @a @b %b (%m). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2001-07-20 04:31:25 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended attribute block has h_blocks > 1 */
|
2001-07-20 04:31:25 +08:00
|
|
|
{ PR_1_EA_MULTI_BLOCK,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a @b %b has h_@bs > 1. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2001-07-20 04:31:25 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Allocating extended attribute region allocation structure */
|
2010-05-13 06:58:53 +08:00
|
|
|
{ PR_1_EA_ALLOC_REGION_ABORT,
|
2014-09-19 09:29:19 +08:00
|
|
|
N_("@A @a region allocation structure. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended Attribute block number is corrupt (allocation collision) */
|
2001-07-20 04:31:25 +08:00
|
|
|
{ PR_1_EA_ALLOC_COLLISION,
|
|
|
|
N_("@a @b %b is corrupt (allocation collision). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended attribute block number is corrupt (invalid name) */
|
2001-07-20 04:31:25 +08:00
|
|
|
{ PR_1_EA_BAD_NAME,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a @b %b is corrupt (@n name). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2001-07-20 04:31:25 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended attribute block number is corrupt (invalid value) */
|
2001-07-20 04:31:25 +08:00
|
|
|
{ PR_1_EA_BAD_VALUE,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a @b %b is corrupt (@n value). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2002-05-19 03:16:30 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode number is too big (latch question) */
|
2002-05-22 09:19:14 +08:00
|
|
|
{ PR_1_INODE_TOOBIG,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2018-10-11 22:25:31 +08:00
|
|
|
N_("@i %i is too big. "), PROMPT_TRUNCATE, 0, 0, 0, 0 },
|
2002-05-22 09:19:14 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Problem causes directory to be too big */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_1_TOOBIG_DIR,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("%B (%b) causes @d to be too big. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_TOOBIG, 0, 0, 0 },
|
2002-05-22 09:19:14 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Problem causes file to be too big */
|
2002-05-22 09:19:14 +08:00
|
|
|
{ PR_1_TOOBIG_REG,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("%B (%b) causes file to be too big. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_TOOBIG, 0, 0, 0 },
|
2002-05-22 09:19:14 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Problem causes symlink to be too big */
|
2002-05-22 09:19:14 +08:00
|
|
|
{ PR_1_TOOBIG_SYMLINK,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("%B (%b) causes symlink to be too big. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_TOOBIG, 0, 0, 0 },
|
2002-05-22 09:19:14 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode has INDEX_FL flag set on filesystem without htree support */
|
2002-06-26 11:26:34 +08:00
|
|
|
{ PR_1_HTREE_SET,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2002-06-26 11:26:34 +08:00
|
|
|
N_("@i %i has INDEX_FL flag set on @f without htree support.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-06-27 04:52:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode number has INDEX_FL flag set but is on a directory */
|
2002-06-27 04:52:10 +08:00
|
|
|
{ PR_1_HTREE_NODIR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2002-06-27 04:52:10 +08:00
|
|
|
N_("@i %i has INDEX_FL flag set but is not a @d.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-06-27 04:52:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* htree directory has an invalid root node */
|
2002-06-27 04:52:10 +08:00
|
|
|
{ PR_1_HTREE_BADROOT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@h %i has an @n root node.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-06-27 04:52:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Htree directory has an unsupported hash version */
|
2002-06-27 04:52:10 +08:00
|
|
|
{ PR_1_HTREE_HASHV,
|
|
|
|
N_("@h %i has an unsupported hash version (%N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-06-27 04:52:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Htree directory uses an Incompatible htree root node flag */
|
2002-06-27 04:52:10 +08:00
|
|
|
{ PR_1_HTREE_INCOMPAT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2002-06-27 04:52:10 +08:00
|
|
|
N_("@h %i uses an incompatible htree root node flag.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-06-27 04:52:10 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Htree directory has a tree depth which is too big */
|
2002-06-27 04:52:10 +08:00
|
|
|
{ PR_1_HTREE_DEPTH,
|
|
|
|
N_("@h %i has a tree depth (%N) which is too big\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Bad block inode has an indirect block number that conflicts with
|
|
|
|
* filesystem metadata */
|
2003-11-21 23:41:58 +08:00
|
|
|
{ PR_1_BB_FS_BLOCK,
|
|
|
|
N_("Bad @b @i has an indirect @b (%b) that conflicts with\n"
|
|
|
|
"@f metadata. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_LATCH_BBLOCK, 0, 0, 0 },
|
2004-12-24 14:42:22 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Resize inode (re)creation failed */
|
2004-12-24 14:42:22 +08:00
|
|
|
{ PR_1_RESIZE_INODE_CREATE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2004-12-24 14:42:22 +08:00
|
|
|
N_("Resize @i (re)creation failed: %m."),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CONTINUE, 0, 0, 0, 0 },
|
2004-12-24 14:42:22 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* inode has a extra size i_extra_isize which is invalid */
|
2005-03-22 02:15:45 +08:00
|
|
|
{ PR_1_EXTRA_ISIZE,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@i %i has a extra size (%IS) which is @n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2005-03-22 02:15:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended attribute in inode has a namelen which is invalid */
|
2005-03-22 02:15:45 +08:00
|
|
|
{ PR_1_ATTR_NAME_LEN,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a in @i %i has a namelen (%N) which is @n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2005-03-22 02:15:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extended attribute in inode has a value offset which is invalid */
|
2005-03-22 02:15:45 +08:00
|
|
|
{ PR_1_ATTR_VALUE_OFFSET,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a in @i %i has a value offset (%N) which is @n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2005-03-22 02:15:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* extended attribute in inode has a value block which is invalid */
|
2005-03-22 02:15:45 +08:00
|
|
|
{ PR_1_ATTR_VALUE_BLOCK,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a in @i %i has a value @b (%N) which is @n (must be 0)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2005-03-22 02:15:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* extended attribute in inode has a value size which is invalid */
|
2009-04-28 06:59:24 +08:00
|
|
|
{ PR_1_ATTR_VALUE_SIZE,
|
|
|
|
N_("@a in @i %i has a value size (%N) which is @n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2009-04-28 06:59:24 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* extended attribute in inode has a hash which is invalid */
|
2005-03-22 02:15:45 +08:00
|
|
|
{ PR_1_ATTR_HASH,
|
2008-02-02 16:16:32 +08:00
|
|
|
N_("@a in @i %i has a hash (%N) which is @n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2005-03-22 02:15:45 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* inode is a type but it looks like it is really a directory */
|
2007-04-02 22:08:59 +08:00
|
|
|
{ PR_1_TREAT_AS_DIRECTORY,
|
|
|
|
N_("@i %i is a %It but it looks like it is really a directory.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2007-04-02 22:08:59 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Error while reading extent tree in inode */
|
2007-08-21 09:31:11 +08:00
|
|
|
{ PR_1_READ_EXTENT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-08-21 09:31:11 +08:00
|
|
|
N_("Error while reading over @x tree in @i %i: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_INODE, 0, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Failure to iterate extents in inode */
|
2008-12-26 11:42:38 +08:00
|
|
|
{ PR_1_EXTENT_ITERATE_FAILURE,
|
|
|
|
N_("Failed to iterate extents in @i %i\n"
|
|
|
|
"\t(op %s, blk %b, lblk %c): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_INODE, 0, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode has an invalid extent starting block */
|
2007-08-21 09:31:11 +08:00
|
|
|
{ PR_1_EXTENT_BAD_START_BLK,
|
|
|
|
N_("@i %i has an @n extent\n\t(logical @b %c, @n physical @b %b, len %N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode has an invalid extent that ends beyond filesystem */
|
2007-08-21 09:31:11 +08:00
|
|
|
{ PR_1_EXTENT_ENDS_BEYOND,
|
|
|
|
N_("@i %i has an @n extent\n\t(logical @b %c, physical @b %b, @n len %N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* inode has EXTENTS_FL flag set on filesystem without extents support*/
|
2007-08-21 09:31:11 +08:00
|
|
|
{ PR_1_EXTENTS_SET,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-08-21 09:31:11 +08:00
|
|
|
N_("@i %i has EXTENTS_FL flag set on @f without extents support.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* inode is in extents format, but superblock is missing EXTENTS feature */
|
2007-08-21 09:31:11 +08:00
|
|
|
{ PR_1_EXTENT_FEATURE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-08-21 09:31:11 +08:00
|
|
|
N_("@i %i is in extent format, but @S is missing EXTENTS feature\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
|
|
|
/* inode missing EXTENTS_FL, but is an extent inode */
|
|
|
|
{ PR_1_UNSET_EXTENT_FL,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-08-21 09:31:11 +08:00
|
|
|
N_("@i %i missing EXTENT_FL, but is in extents format\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-08-21 09:31:11 +08:00
|
|
|
|
2008-03-14 11:13:18 +08:00
|
|
|
/* Fast symlink has EXTENTS_FL set */
|
|
|
|
{ PR_1_FAST_SYMLINK_EXTENT_FL,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2008-03-14 11:13:18 +08:00
|
|
|
N_("Fast symlink %i has EXTENT_FL set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2008-03-14 11:13:18 +08:00
|
|
|
|
2008-06-03 08:12:34 +08:00
|
|
|
/* Extents are out of order */
|
|
|
|
{ PR_1_OUT_OF_ORDER_EXTENTS,
|
|
|
|
N_("@i %i has out of order extents\n\t(@n logical @b %c, physical @b %b, len %N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2008-06-03 08:12:34 +08:00
|
|
|
|
2008-12-26 11:42:38 +08:00
|
|
|
{ PR_1_EXTENT_HEADER_INVALID,
|
|
|
|
N_("@i %i has an invalid extent node (blk %b, lblk %c)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2008-12-26 11:42:38 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Failed to convert subcluster block bitmap */
|
2011-06-11 06:58:16 +08:00
|
|
|
{ PR_1_CONVERT_SUBCLUSTER,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2011-06-11 06:58:16 +08:00
|
|
|
N_("Error converting subcluster @b @B: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2011-06-11 06:58:16 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Quota inode is not a regular file */
|
2011-07-21 02:40:06 +08:00
|
|
|
{ PR_1_QUOTA_BAD_MODE,
|
2017-02-18 01:57:29 +08:00
|
|
|
N_("@q @i is not a regular file. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2011-07-21 02:40:06 +08:00
|
|
|
|
|
|
|
/* Quota inode is not in use, but contains data */
|
|
|
|
{ PR_1_QUOTA_INODE_NOT_CLEAR,
|
|
|
|
N_("@q @i is not in use, but contains data. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2011-07-21 02:40:06 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Quota inode is visible to the user */
|
2011-07-21 02:40:06 +08:00
|
|
|
{ PR_1_QUOTA_INODE_NOT_HIDDEN,
|
|
|
|
N_("@q @i is visible to the user. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2011-07-21 02:40:06 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* The bad block inode looks invalid */
|
2011-09-29 03:12:55 +08:00
|
|
|
{ PR_1_INVALID_BAD_INODE,
|
|
|
|
N_("The bad @b @i looks @n. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2011-09-29 03:12:55 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Extent has zero length extent */
|
2012-03-12 04:19:10 +08:00
|
|
|
{ PR_1_EXTENT_LENGTH_ZERO,
|
|
|
|
N_("@i %i has zero length extent\n\t(@n logical @b %c, physical @b %b)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2012-03-12 04:19:10 +08:00
|
|
|
|
2014-08-03 10:46:16 +08:00
|
|
|
/* inode seems to contain garbage */
|
|
|
|
{ PR_1_INODE_IS_GARBAGE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-03 10:46:16 +08:00
|
|
|
N_("@i %i seems to contain garbage. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2012-07-31 06:52:04 +08:00
|
|
|
|
|
|
|
/* inode passes checks, but checksum does not match inode */
|
|
|
|
{ PR_1_INODE_ONLY_CSUM_INVALID,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2012-07-31 06:52:04 +08:00
|
|
|
N_("@i %i passes checks, but checksum does not match @i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2012-07-31 06:52:04 +08:00
|
|
|
|
2014-08-11 06:34:43 +08:00
|
|
|
/* Inode extended attribute is corrupt (allocation collision) */
|
|
|
|
{ PR_1_INODE_EA_ALLOC_COLLISION,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:34:43 +08:00
|
|
|
N_("@i %i @a is corrupt (allocation collision). "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0},
|
2014-08-11 06:34:43 +08:00
|
|
|
|
2012-07-31 07:18:04 +08:00
|
|
|
/*
|
|
|
|
* Inode extent block passes checks, but checksum does not match
|
|
|
|
* extent
|
|
|
|
*/
|
|
|
|
{ PR_1_EXTENT_ONLY_CSUM_INVALID,
|
|
|
|
N_("@i %i extent block passes checks, but checksum does not match "
|
2014-12-03 13:01:44 +08:00
|
|
|
"extent\n\t(logical @b %c, physical @b %b, len %N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2012-07-31 07:18:04 +08:00
|
|
|
|
2012-08-03 08:47:44 +08:00
|
|
|
/*
|
2014-07-26 08:34:28 +08:00
|
|
|
* Inode extended attribute block passes checks, but checksum does not
|
|
|
|
* match block.
|
2012-08-03 08:47:44 +08:00
|
|
|
*/
|
|
|
|
{ PR_1_EA_BLOCK_ONLY_CSUM_INVALID,
|
2014-07-26 08:34:28 +08:00
|
|
|
N_("@i %i @a @b %b passes checks, but checksum does not match @b. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2012-08-03 08:47:44 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Interior extent node level number of inode doesn't first node down */
|
2012-12-21 03:05:01 +08:00
|
|
|
{ PR_1_EXTENT_INDEX_START_INVALID,
|
|
|
|
N_("Interior @x node level %N of @i %i:\n"
|
|
|
|
"Logical start %b does not match logical start %c at next level. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2012-12-21 03:05:01 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode end of extent exceeds allowed value */
|
2013-06-07 08:04:33 +08:00
|
|
|
{ PR_1_EXTENT_END_OUT_OF_BOUNDS,
|
|
|
|
N_("@i %i, end of extent exceeds allowed value\n\t(logical @b %c, physical @b %b, len %N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2013-06-07 08:04:33 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode has inline data, but superblock is missing INLINE_DATA feature */
|
2014-03-03 14:02:28 +08:00
|
|
|
{ PR_1_INLINE_DATA_FEATURE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-03-03 14:02:28 +08:00
|
|
|
N_("@i %i has inline data, but @S is missing INLINE_DATA feature\n"),
|
2018-11-13 12:46:03 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2014-03-03 14:02:28 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* inode has INLINE_DATA_FL flag on filesystem without inline data */
|
2014-03-03 14:02:28 +08:00
|
|
|
{ PR_1_INLINE_DATA_SET,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-03-03 14:02:28 +08:00
|
|
|
N_("@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2013-06-07 08:04:33 +08:00
|
|
|
|
e2fsck: don't clobber critical metadata during check_blocks
If we encounter an inode with IND/DIND/TIND blocks or internal extent
tree blocks that point into critical FS metadata such as the
superblock, the group descriptors, the bitmaps, or the inode table,
it's quite possible that the validation code for those blocks is not
going to like what it finds, and it'll ask to try to fix the block.
Unfortunately, this happens before duplicate block processing (pass
1b), which means that we can end up doing stupid things like writing
extent blocks into the inode table, which multiplies e2fsck'
destructive effect and can render a filesystem unfixable.
To solve this, create a bitmap of all the critical FS metadata. If
before pass1b runs (basically check_blocks) we find a metadata block
that points into these critical regions, continue processing that
block, but avoid making any modifications, because we could be
misinterpreting inodes as block maps. Pass 1b will find the
multiply-owned blocks and fix that situation, which means that we can
then restart e2fsck from the beginning and actually fix whatever
problems we find.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-07-24 00:11:23 +08:00
|
|
|
/*
|
2017-02-18 01:57:29 +08:00
|
|
|
* Inode block conflicts with critical metadata, skipping block checks
|
e2fsck: don't clobber critical metadata during check_blocks
If we encounter an inode with IND/DIND/TIND blocks or internal extent
tree blocks that point into critical FS metadata such as the
superblock, the group descriptors, the bitmaps, or the inode table,
it's quite possible that the validation code for those blocks is not
going to like what it finds, and it'll ask to try to fix the block.
Unfortunately, this happens before duplicate block processing (pass
1b), which means that we can end up doing stupid things like writing
extent blocks into the inode table, which multiplies e2fsck'
destructive effect and can render a filesystem unfixable.
To solve this, create a bitmap of all the critical FS metadata. If
before pass1b runs (basically check_blocks) we find a metadata block
that points into these critical regions, continue processing that
block, but avoid making any modifications, because we could be
misinterpreting inodes as block maps. Pass 1b will find the
multiply-owned blocks and fix that situation, which means that we can
then restart e2fsck from the beginning and actually fix whatever
problems we find.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-07-24 00:11:23 +08:00
|
|
|
*/
|
|
|
|
{ PR_1_CRITICAL_METADATA_COLLISION,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
e2fsck: don't clobber critical metadata during check_blocks
If we encounter an inode with IND/DIND/TIND blocks or internal extent
tree blocks that point into critical FS metadata such as the
superblock, the group descriptors, the bitmaps, or the inode table,
it's quite possible that the validation code for those blocks is not
going to like what it finds, and it'll ask to try to fix the block.
Unfortunately, this happens before duplicate block processing (pass
1b), which means that we can end up doing stupid things like writing
extent blocks into the inode table, which multiplies e2fsck'
destructive effect and can render a filesystem unfixable.
To solve this, create a bitmap of all the critical FS metadata. If
before pass1b runs (basically check_blocks) we find a metadata block
that points into these critical regions, continue processing that
block, but avoid making any modifications, because we could be
misinterpreting inodes as block maps. Pass 1b will find the
multiply-owned blocks and fix that situation, which means that we can
then restart e2fsck from the beginning and actually fix whatever
problems we find.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-07-24 00:11:23 +08:00
|
|
|
N_("@i %i block %b conflicts with critical metadata, skipping block checks.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
e2fsck: don't clobber critical metadata during check_blocks
If we encounter an inode with IND/DIND/TIND blocks or internal extent
tree blocks that point into critical FS metadata such as the
superblock, the group descriptors, the bitmaps, or the inode table,
it's quite possible that the validation code for those blocks is not
going to like what it finds, and it'll ask to try to fix the block.
Unfortunately, this happens before duplicate block processing (pass
1b), which means that we can end up doing stupid things like writing
extent blocks into the inode table, which multiplies e2fsck'
destructive effect and can render a filesystem unfixable.
To solve this, create a bitmap of all the critical FS metadata. If
before pass1b runs (basically check_blocks) we find a metadata block
that points into these critical regions, continue processing that
block, but avoid making any modifications, because we could be
misinterpreting inodes as block maps. Pass 1b will find the
multiply-owned blocks and fix that situation, which means that we can
then restart e2fsck from the beginning and actually fix whatever
problems we find.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2014-07-24 00:11:23 +08:00
|
|
|
|
2014-07-19 06:54:30 +08:00
|
|
|
/* Directory inode block <block> should be at block <otherblock> */
|
|
|
|
{ PR_1_COLLAPSE_DBLOCK,
|
|
|
|
N_("@d @i %i @b %b should be at @b %c. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2014-07-19 06:54:30 +08:00
|
|
|
|
2014-07-19 06:55:21 +08:00
|
|
|
/* Extents/inlinedata flag set on a device or socket inode */
|
|
|
|
{ PR_1_UNINIT_DBLOCK,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-07-19 06:55:21 +08:00
|
|
|
N_("@d @i %i has @x marked uninitialized at @b %c. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2014-07-19 06:55:21 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode logical block (physical block) violates cluster allocation */
|
2014-07-26 08:34:04 +08:00
|
|
|
{ PR_1_MISALIGNED_CLUSTER,
|
|
|
|
N_("@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\nWill fix in pass 1B.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2014-07-26 08:34:04 +08:00
|
|
|
|
2014-08-11 06:36:53 +08:00
|
|
|
/* Inode has INLINE_DATA_FL flag but extended attribute not found */
|
|
|
|
{ PR_1_INLINE_DATA_NO_ATTR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:36:53 +08:00
|
|
|
N_("@i %i has INLINE_DATA_FL flag but @a not found. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_TRUNCATE, 0, 0, 0, 0 },
|
2014-08-11 06:36:53 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Special (device/socket/fifo) file (inode num) has extents
|
|
|
|
* or inline-data flag set */
|
2014-08-11 06:41:07 +08:00
|
|
|
{ PR_1_SPECIAL_EXTENTS_IDATA,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:41:07 +08:00
|
|
|
N_("Special (@v/socket/fifo) file (@i %i) has extents\n"
|
|
|
|
"or inline-data flag set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK | PR_PREEN_NO | PR_NO_OK, 0, 0, 0 },
|
2014-08-11 06:41:07 +08:00
|
|
|
|
2014-08-11 06:42:59 +08:00
|
|
|
/* Inode has extent header but inline data flag is set */
|
|
|
|
{ PR_1_CLEAR_INLINE_DATA_FOR_EXTENT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:42:59 +08:00
|
|
|
N_("@i %i has @x header but inline data flag is set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2014-08-11 06:42:59 +08:00
|
|
|
|
|
|
|
/* Inode seems to have inline data but extent flag is set */
|
|
|
|
{ PR_1_CLEAR_EXTENT_FOR_INLINE_DATA,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:42:59 +08:00
|
|
|
N_("@i %i seems to have inline data but @x flag is set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2014-08-11 06:42:59 +08:00
|
|
|
|
|
|
|
/* Inode seems to have block map but inline data and extent flags set */
|
|
|
|
{ PR_1_CLEAR_EXTENT_INLINE_DATA_FLAGS,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:42:59 +08:00
|
|
|
N_("@i %i seems to have @b map but inline data and @x flags set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2014-08-11 06:42:59 +08:00
|
|
|
|
|
|
|
/* Inode has inline data and extent flags but i_block contains junk */
|
|
|
|
{ PR_1_CLEAR_EXTENT_INLINE_DATA_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:42:59 +08:00
|
|
|
N_("@i %i has inline data and @x flags set but i_block contains junk.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_INODE, 0, 0, 0, 0 },
|
2014-08-11 06:42:59 +08:00
|
|
|
|
2014-09-12 03:44:49 +08:00
|
|
|
/* Bad block list says the bad block list inode is bad */
|
|
|
|
{ PR_1_BADBLOCKS_IN_BADBLOCKS,
|
|
|
|
N_("Bad block list says the bad block list @i is bad. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_INODE, 0, 0, 0, 0 },
|
2014-09-12 03:44:49 +08:00
|
|
|
|
2014-09-19 09:29:19 +08:00
|
|
|
/* Error allocating extent region allocation structure */
|
|
|
|
{ PR_1_EXTENT_ALLOC_REGION_ABORT,
|
|
|
|
N_("@A @x region allocation structure. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2014-09-19 09:29:19 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* Inode leaf has a duplicate extent mapping */
|
2014-09-19 09:29:19 +08:00
|
|
|
{ PR_1_EXTENT_COLLISION,
|
|
|
|
N_("@i %i has a duplicate @x mapping\n\t(logical @b %c, @n physical @b %b, len %N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2014-09-19 09:29:19 +08:00
|
|
|
|
2015-02-24 06:44:23 +08:00
|
|
|
/* Error allocating memory for encrypted directory list */
|
|
|
|
{ PR_1_ALLOCATE_ENCRYPTED_DIRLIST,
|
|
|
|
N_("@A memory for encrypted @d list\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2015-02-24 06:44:23 +08:00
|
|
|
|
2015-04-02 10:34:40 +08:00
|
|
|
/* Inode extent tree could be more shallow */
|
|
|
|
{ PR_1_EXTENT_BAD_MAX_DEPTH,
|
|
|
|
N_("@i %i @x tree could be more shallow (%b; could be <= %c)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
2017-02-18 01:57:29 +08:00
|
|
|
/* inode num on bigalloc filesystem cannot be block mapped */
|
2015-05-17 08:51:40 +08:00
|
|
|
{ PR_1_NO_BIGALLOC_BLOCKMAP_FILES,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2015-05-17 08:51:40 +08:00
|
|
|
N_("@i %i on bigalloc @f cannot be @b mapped. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2015-05-17 08:51:40 +08:00
|
|
|
|
2015-12-01 04:22:07 +08:00
|
|
|
/* Inode has corrupt extent header */
|
|
|
|
{ PR_1_MISSING_EXTENT_HEADER,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2015-12-01 04:22:07 +08:00
|
|
|
N_("@i %i has corrupt @x header. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_INODE, 0, 0, 0, 0 },
|
2015-12-01 04:22:07 +08:00
|
|
|
|
2016-03-15 01:57:33 +08:00
|
|
|
/* Timestamp(s) on inode beyond 2310-04-04 are likely pre-1970. */
|
|
|
|
{ PR_1_EA_TIME_OUT_OF_RANGE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2016-03-15 01:57:33 +08:00
|
|
|
N_("Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2016-03-15 01:57:33 +08:00
|
|
|
|
2017-07-05 11:53:59 +08:00
|
|
|
/* Inode has illegal extended attribute value inode */
|
|
|
|
{ PR_1_ATTR_VALUE_EA_INODE,
|
|
|
|
N_("@i %i has @I @a value @i %N.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2017-07-05 11:53:59 +08:00
|
|
|
|
|
|
|
/* Inode has invalid extended attribute. EA inode missing
|
|
|
|
* EA_INODE flag. */
|
|
|
|
{ PR_1_ATTR_NO_EA_INODE_FL,
|
|
|
|
N_("@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2017-07-05 11:53:59 +08:00
|
|
|
|
|
|
|
/* EA inode for parent inode missing EA_INODE flag. */
|
|
|
|
{ PR_1_ATTR_SET_EA_INODE_FL,
|
|
|
|
N_("EA @i %N for parent @i %i missing EA_INODE flag.\n "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2017-07-05 11:53:59 +08:00
|
|
|
|
2019-09-03 08:49:09 +08:00
|
|
|
/* Casefold flag set on a non-directory */
|
|
|
|
{ PR_1_CASEFOLD_NONDIR,
|
|
|
|
N_("@i %i has the casefold flag set but is not a directory. "),
|
|
|
|
PROMPT_CLEAR_FLAG, 0, 0, 0, 0 },
|
|
|
|
|
|
|
|
/* Casefold flag set, but file system is missing the casefold feature */
|
|
|
|
{ PR_1_CASEFOLD_FEATURE,
|
|
|
|
N_("@d %p has the casefold flag, but the\ncasefold feature is not enabled. "),
|
|
|
|
PROMPT_CLEAR_FLAG, 0, 0, 0, 0 },
|
2017-07-05 11:53:59 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Pass 1b errors */
|
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 1B: Rescan for duplicate/bad blocks */
|
|
|
|
{ PR_1B_PASS_HEADER,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("\nRunning additional passes to resolve @bs claimed by more than one @i...\n"
|
|
|
|
"Pass 1B: Rescanning for @m @bs\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Duplicate/bad block(s) header */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_1B_DUP_BLOCK_HEADER,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@m @b(s) in @i %i:"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Duplicate/bad block(s) in inode */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_1B_DUP_BLOCK,
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
" %b",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_DBLOCK | PR_PREEN_NOHDR, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Duplicate/bad block(s) end */
|
|
|
|
{ PR_1B_DUP_BLOCK_END,
|
|
|
|
"\n",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_NOHDR, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Error while scanning inodes */
|
|
|
|
{ PR_1B_ISCAN_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error while scanning inodes (%i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error allocating inode bitmap */
|
|
|
|
{ PR_1B_ALLOCATE_IBITMAP_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@A @i @B (@i_dup_map): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
ChangeLog, message.c, pass1b.c, pass2.c, pass3.c, problem.c, problem.h:
pass1b.c: Change routines to use PR_1B_BLOCK_ITERATE when reporting
problems rather than using com_err directly.
problem.c, problem.h (PR_1B_BLOCK_ITERATE): Add new problem code.
message.c (expand_percent_expression): Add safety check. If ctx->str
is NULL, print "NULL" instead of dereferencing the null pointer.
pass1b.c, pass2.c, pass3.c: Change calls to ext2fs_block_iterate to
ext2fs_block_iterate2, to support 64-bit filesizes and to speed things
up slightly by avoiding the use of the ext2fs_block_iterate's
compatibility shim layer.
version.h:
Update for WIP release.
2000-11-17 13:40:49 +08:00
|
|
|
/* Error while iterating over blocks */
|
|
|
|
{ PR_1B_BLOCK_ITERATE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
ChangeLog, message.c, pass1b.c, pass2.c, pass3.c, problem.c, problem.h:
pass1b.c: Change routines to use PR_1B_BLOCK_ITERATE when reporting
problems rather than using com_err directly.
problem.c, problem.h (PR_1B_BLOCK_ITERATE): Add new problem code.
message.c (expand_percent_expression): Add safety check. If ctx->str
is NULL, print "NULL" instead of dereferencing the null pointer.
pass1b.c, pass2.c, pass3.c: Change calls to ext2fs_block_iterate to
ext2fs_block_iterate2, to support 64-bit filesizes and to speed things
up slightly by avoiding the use of the ext2fs_block_iterate's
compatibility shim layer.
version.h:
Update for WIP release.
2000-11-17 13:40:49 +08:00
|
|
|
N_("Error while iterating over @bs in @i %i (%s): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-08-17 22:19:44 +08:00
|
|
|
|
|
|
|
/* Error adjusting EA refcount */
|
|
|
|
{ PR_1B_ADJ_EA_REFCOUNT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Error adjusting refcount for @a @b %b (@i %i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-08-17 22:19:44 +08:00
|
|
|
|
2014-03-16 00:12:35 +08:00
|
|
|
/* Duplicate/bad block range in inode */
|
|
|
|
{ PR_1B_DUP_RANGE,
|
|
|
|
" %b--%c",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_DBLOCK | PR_PREEN_NOHDR, 0, 0, 0 },
|
2014-03-16 00:12:35 +08:00
|
|
|
|
2005-06-19 21:45:36 +08:00
|
|
|
/* Pass 1C: Scan directories for inodes with multiply-claimed blocks. */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1C_PASS_HEADER,
|
2005-07-05 02:08:37 +08:00
|
|
|
N_("Pass 1C: Scanning directories for @is with @m @bs\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2005-06-19 21:45:36 +08:00
|
|
|
/* Pass 1D: Reconciling multiply-claimed blocks */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1D_PASS_HEADER,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Pass 1D: Reconciling @m @bs\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* File has duplicate blocks */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1D_DUP_FILE,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("File %Q (@i #%i, mod time %IM) \n"
|
2009-10-05 06:02:24 +08:00
|
|
|
" has %r @m @b(s), shared with %N file(s):\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
|
|
|
/* List of files sharing duplicate blocks */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1D_DUP_FILE_LIST,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("\t%Q (@i #%i, mod time %IM)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
|
|
|
/* File sharing blocks with filesystem metadata */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1D_SHARE_METADATA,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("\t<@f metadata>\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Report of how many duplicate/bad inodes */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_1D_NUM_DUP_INODES,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("(There are %N @is containing @m @bs.)\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Duplicated blocks already reassigned or cloned. */
|
|
|
|
{ PR_1D_DUP_BLOCKS_DEALT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@m @bs already reassigned or cloned.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Clone duplicate/bad blocks? */
|
|
|
|
{ PR_1D_CLONE_QUESTION,
|
2018-10-11 22:25:31 +08:00
|
|
|
"", PROMPT_CLONE, PR_NO_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Delete file? */
|
|
|
|
{ PR_1D_DELETE_QUESTION,
|
2018-10-11 22:25:31 +08:00
|
|
|
"", PROMPT_DELETE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Couldn't clone file (error) */
|
|
|
|
{ PR_1D_CLONE_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2018-10-11 22:25:31 +08:00
|
|
|
N_("Couldn't clone file: %m\n"), PROMPT_NONE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2015-04-02 10:34:40 +08:00
|
|
|
/* Pass 1E Extent tree optimization */
|
|
|
|
|
|
|
|
/* Pass 1E: Optimizing extent trees */
|
|
|
|
{ PR_1E_PASS_HEADER,
|
|
|
|
N_("Pass 1E: Optimizing @x trees\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER | PR_PREEN_NOMSG, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Failed to optimize extent tree */
|
|
|
|
{ PR_1E_OPTIMIZE_EXT_ERR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2015-04-02 10:34:40 +08:00
|
|
|
N_("Failed to optimize @x tree %p (%i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Optimizing extent trees */
|
|
|
|
{ PR_1E_OPTIMIZE_EXT_HEADER,
|
|
|
|
N_("Optimizing @x trees: "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_MSG_ONLY, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Rebuilding extent tree %d */
|
|
|
|
{ PR_1E_OPTIMIZE_EXT,
|
|
|
|
" %i",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_OPTIMIZE_EXT | PR_PREEN_NOHDR, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Rebuilding extent tree end */
|
|
|
|
{ PR_1E_OPTIMIZE_EXT_END,
|
|
|
|
"\n",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_NOHDR, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Internal error: extent tree depth too large */
|
|
|
|
{ PR_1E_MAX_EXTENT_TREE_DEPTH,
|
|
|
|
N_("Internal error: max extent tree depth too large (%b; expected=%c).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Inode extent tree could be shorter */
|
|
|
|
{ PR_1E_CAN_COLLAPSE_EXTENT_TREE,
|
|
|
|
N_("@i %i @x tree (at level %b) could be shorter. "),
|
2018-12-16 11:13:41 +08:00
|
|
|
PROMPT_OPTIMIZE, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
|
|
|
/* Inode extent tree could be narrower */
|
|
|
|
{ PR_1E_CAN_NARROW_EXTENT_TREE,
|
2016-03-07 10:52:16 +08:00
|
|
|
N_("@i %i @x tree (at level %b) could be narrower. "),
|
2018-12-16 11:13:41 +08:00
|
|
|
PROMPT_OPTIMIZE, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX, 0, 0, 0 },
|
2015-04-02 10:34:40 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Pass 2 errors */
|
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 2: Checking directory structure */
|
|
|
|
{ PR_2_PASS_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Pass 2: Checking @d structure\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Bad inode number for '.' */
|
|
|
|
{ PR_2_BAD_INODE_DOT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@n @i number for '.' in @d @i %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2013-12-12 09:10:39 +08:00
|
|
|
/* Entry 'xxxx' in /a/b/c has bad inode number.*/
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_BAD_INO,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@E has @n @i #: %Di.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2013-12-12 09:10:39 +08:00
|
|
|
/* Entry 'xxxx' in /a/b/c has deleted/unused inode nnnnn.*/
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_UNUSED_INODE,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E has @D/unused @i %Di. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-10-08 19:30:08 +08:00
|
|
|
/* Directory entry is link to '.' */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_LINK_DOT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E @L to '.' "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Directory entry points to inode now located in a bad block */
|
|
|
|
{ PR_2_BB_INODE,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E points to @i (%Di) located in a bad @b.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Directory entry contains a link to a directory */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_LINK_DIR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E @L to @d %P (%Di).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-10-08 19:30:08 +08:00
|
|
|
/* Directory entry contains a link to the root directory */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_LINK_ROOT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E @L to the @r.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Directory entry has illegal characters in its name */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_BAD_NAME,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E has illegal characters in its name.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Missing '.' in directory inode */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_2_MISSING_DOT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Missing '.' in @d @i %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Missing '..' in directory inode */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_2_MISSING_DOT_DOT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Missing '..' in @d @i %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* First entry in directory inode doesn't contain '.' */
|
|
|
|
{ PR_2_1ST_NOT_DOT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Second entry in directory inode doesn't contain '..' */
|
|
|
|
{ PR_2_2ND_NOT_DOT_DOT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* i_faddr should be zero */
|
|
|
|
{ PR_2_FADDR_ZERO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("i_faddr @F %IF, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2009-04-29 02:59:07 +08:00
|
|
|
/* i_file_acl should be zero */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_2_FILE_ACL_ZERO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("i_file_acl @F %If, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2017-02-13 17:20:14 +08:00
|
|
|
/* i_size_high should be zero */
|
|
|
|
{ PR_2_DIR_SIZE_HIGH_ZERO,
|
|
|
|
N_("i_size_high @F %Id, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2009-04-29 02:59:07 +08:00
|
|
|
/* i_frag should be zero */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_2_FRAG_ZERO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("i_frag @F %N, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2009-04-29 02:59:07 +08:00
|
|
|
/* i_fsize should be zero */
|
1997-04-30 00:15:03 +08:00
|
|
|
{ PR_2_FSIZE_ZERO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("i_fsize @F %N, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* inode has bad mode */
|
|
|
|
{ PR_2_BAD_MODE,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@i %i (%Q) has @n mode (%Im).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* directory corrupted */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_DIR_CORRUPTED,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@d @i %i, %B, offset %N: @d corrupted\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_SALVAGE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* filename too long */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_FILENAME_LONG,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@d @i %i, %B, offset %N: filename too long\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_TRUNCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Directory inode has a missing block (hole) */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_2_DIRECTORY_HOLE,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@d @i %i has an unallocated %B. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ALLOCATE, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* '.' is not NULL terminated */
|
|
|
|
{ PR_2_DOT_NULL_TERM,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("'.' @d @e in @d @i %i is not NULL terminated\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* '..' is not NULL terminated */
|
|
|
|
{ PR_2_DOT_DOT_NULL_TERM,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("'..' @d @e in @d @i %i is not NULL terminated\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
1997-08-15 01:17:16 +08:00
|
|
|
/* Illegal character device inode */
|
|
|
|
{ PR_2_BAD_CHAR_DEV,
|
2001-01-04 03:38:04 +08:00
|
|
|
N_("@i %i (%Q) is an @I character @v.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-08-15 01:17:16 +08:00
|
|
|
|
|
|
|
/* Illegal block device inode */
|
|
|
|
{ PR_2_BAD_BLOCK_DEV,
|
2001-01-04 03:38:04 +08:00
|
|
|
N_("@i %i (%Q) is an @I @b @v.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1997-08-15 01:17:16 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Duplicate '.' entry */
|
|
|
|
{ PR_2_DUP_DOT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E is duplicate '.' @e.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Duplicate '..' entry */
|
|
|
|
{ PR_2_DUP_DOT_DOT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@E is duplicate '..' @e.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Internal error: couldn't find dir_info */
|
|
|
|
{ PR_2_NO_DIRINFO,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Internal error: couldn't find dir_info for %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Final rec_len is wrong */
|
|
|
|
{ PR_2_FINAL_RECLEN,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@E has rec_len of %Dr, @s %N.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Error allocating icount structure */
|
|
|
|
{ PR_2_ALLOCATE_ICOUNT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@A icount structure: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error iterating over directory blocks */
|
|
|
|
{ PR_2_DBLIST_ITERATE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2003-06-25 06:06:03 +08:00
|
|
|
N_("Error iterating over @d @bs: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error reading directory block */
|
|
|
|
{ PR_2_READ_DIRBLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error reading @d @b %b (@i %i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CONTINUE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error writing directory block */
|
|
|
|
{ PR_2_WRITE_DIRBLOCK,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error writing @d @b %b (@i %i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CONTINUE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error allocating new directory block */
|
|
|
|
{ PR_2_ALLOC_DIRBOCK,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@A new @d @b for @i %i (%s): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error deallocating inode */
|
|
|
|
{ PR_2_DEALLOC_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error deallocating @i %i: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
/* Directory entry for '.' is big. Split? */
|
|
|
|
{ PR_2_SPLIT_DOT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2008-08-26 09:08:19 +08:00
|
|
|
N_("@d @e for '.' in %p (%i) is big.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_SPLIT, PR_NO_OK, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
ChangeLog, mke2fs.c, tune2fs.8.in:
tune2fs.8.in: Fix minor display bug in the nroff.
mke2fs.c (show_stats, write_inode_tables): Use the log10 function to
calculate the display of block numbers so that things look nice on an
80 character display.
mke2fs.c (usage): Add the sparse-super-flag to the usage message.
ChangeLog, e2fsck.c, pass1.c, pass2.c, problem.c, problem.h, unix.c:
unix.c (main): Move ext2fs_close() after e2fsck_free_context() since
e2fsck_free_context may reference data in ctx->fs.
e2fsck.c (e2fsck_reset_context): Make sure ctx->fs is non-NULL before
checking ctx->fs->dblist.
pass1.c (e2fsck_pass1): Use the device check subroutine on FIFO's and
Socket's, so that we catch bogus immutable inodes.
pass2.c (process_bad_inode): Process bad socket and fifo's.
problem.h, problem.c: Define new problem codes PR_2_BAD_FIFO and
PR_2_BAD_SOCKET.
1998-11-14 12:18:28 +08:00
|
|
|
/* Illegal FIFO inode */
|
|
|
|
{ PR_2_BAD_FIFO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i (%Q) is an @I FIFO.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
ChangeLog, mke2fs.c, tune2fs.8.in:
tune2fs.8.in: Fix minor display bug in the nroff.
mke2fs.c (show_stats, write_inode_tables): Use the log10 function to
calculate the display of block numbers so that things look nice on an
80 character display.
mke2fs.c (usage): Add the sparse-super-flag to the usage message.
ChangeLog, e2fsck.c, pass1.c, pass2.c, problem.c, problem.h, unix.c:
unix.c (main): Move ext2fs_close() after e2fsck_free_context() since
e2fsck_free_context may reference data in ctx->fs.
e2fsck.c (e2fsck_reset_context): Make sure ctx->fs is non-NULL before
checking ctx->fs->dblist.
pass1.c (e2fsck_pass1): Use the device check subroutine on FIFO's and
Socket's, so that we catch bogus immutable inodes.
pass2.c (process_bad_inode): Process bad socket and fifo's.
problem.h, problem.c: Define new problem codes PR_2_BAD_FIFO and
PR_2_BAD_SOCKET.
1998-11-14 12:18:28 +08:00
|
|
|
|
|
|
|
/* Illegal socket inode */
|
|
|
|
{ PR_2_BAD_SOCKET,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i (%Q) is an @I socket.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
ChangeLog, mke2fs.c, tune2fs.8.in:
tune2fs.8.in: Fix minor display bug in the nroff.
mke2fs.c (show_stats, write_inode_tables): Use the log10 function to
calculate the display of block numbers so that things look nice on an
80 character display.
mke2fs.c (usage): Add the sparse-super-flag to the usage message.
ChangeLog, e2fsck.c, pass1.c, pass2.c, problem.c, problem.h, unix.c:
unix.c (main): Move ext2fs_close() after e2fsck_free_context() since
e2fsck_free_context may reference data in ctx->fs.
e2fsck.c (e2fsck_reset_context): Make sure ctx->fs is non-NULL before
checking ctx->fs->dblist.
pass1.c (e2fsck_pass1): Use the device check subroutine on FIFO's and
Socket's, so that we catch bogus immutable inodes.
pass2.c (process_bad_inode): Process bad socket and fifo's.
problem.h, problem.c: Define new problem codes PR_2_BAD_FIFO and
PR_2_BAD_SOCKET.
1998-11-14 12:18:28 +08:00
|
|
|
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
/* Directory filetype not set */
|
|
|
|
{ PR_2_SET_FILETYPE,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Setting filetype for @E to %N.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_NO_OK | PR_NO_NOMSG, 0, 0, 0 },
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
|
|
|
|
/* Directory filetype incorrect */
|
|
|
|
{ PR_2_BAD_FILETYPE,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@E has an incorrect filetype (was %Dt, @s %N).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
|
1999-10-22 23:11:42 +08:00
|
|
|
/* Directory filetype set on filesystem */
|
|
|
|
{ PR_2_CLEAR_FILETYPE,
|
2001-08-05 08:39:39 +08:00
|
|
|
N_("@E has filetype set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
1999-10-22 23:11:42 +08:00
|
|
|
|
1999-10-26 05:03:34 +08:00
|
|
|
/* Directory filename is null */
|
|
|
|
{ PR_2_NULL_NAME,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@E has a @z name.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
1999-10-26 05:03:34 +08:00
|
|
|
|
2002-05-21 21:14:17 +08:00
|
|
|
/* Invalid symlink */
|
|
|
|
{ PR_2_INVALID_SYMLINK,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Symlink %Q (@i #%i) is @n.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2001-07-02 23:54:09 +08:00
|
|
|
|
2009-04-29 02:59:07 +08:00
|
|
|
/* i_file_acl (extended attribute block) is bad */
|
2001-07-02 23:54:09 +08:00
|
|
|
{ PR_2_FILE_ACL_BAD,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@a @b @F @n (%If).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2001-06-02 12:26:26 +08:00
|
|
|
|
2001-08-09 16:14:04 +08:00
|
|
|
/* Filesystem contains large files, but has no such flag in sb */
|
|
|
|
{ PR_2_FEATURE_LARGE_FILES,
|
|
|
|
N_("@f contains large files, but lacks LARGE_FILE flag in @S.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2002-06-26 11:26:34 +08:00
|
|
|
/* Node in HTREE directory not referenced */
|
|
|
|
{ PR_2_HTREE_NOTREF,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B not referenced\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-06-26 11:26:34 +08:00
|
|
|
|
|
|
|
/* Node in HTREE directory referenced twice */
|
|
|
|
{ PR_2_HTREE_DUPREF,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B referenced twice\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-06-26 11:26:34 +08:00
|
|
|
|
|
|
|
/* Node in HTREE directory has bad min hash */
|
|
|
|
{ PR_2_HTREE_MIN_HASH,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B has bad min hash\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-06-26 11:26:34 +08:00
|
|
|
|
|
|
|
/* Node in HTREE directory has bad max hash */
|
|
|
|
{ PR_2_HTREE_MAX_HASH,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B has bad max hash\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-06-26 11:26:34 +08:00
|
|
|
|
|
|
|
/* Clear invalid HTREE directory */
|
|
|
|
{ PR_2_HTREE_CLEAR,
|
2018-10-11 22:25:31 +08:00
|
|
|
N_("@n @h %d (%q). "), PROMPT_CLEAR_HTREE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2002-06-26 11:26:34 +08:00
|
|
|
/* Bad block in htree interior node */
|
|
|
|
{ PR_2_HTREE_BADBLK,
|
2002-07-20 12:28:07 +08:00
|
|
|
N_("@p @h %d (%q): bad @b number %b.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, 0, 0, 0, 0 },
|
2002-06-26 11:26:34 +08:00
|
|
|
|
2002-08-17 22:19:44 +08:00
|
|
|
/* Error adjusting EA refcount */
|
|
|
|
{ PR_2_ADJ_EA_REFCOUNT,
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Error adjusting refcount for @a @b %b (@i %i): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2002-08-17 22:19:44 +08:00
|
|
|
|
2002-08-31 14:32:41 +08:00
|
|
|
/* Invalid HTREE root node */
|
|
|
|
{ PR_2_HTREE_BAD_ROOT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@p @h %d: root node is @n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-08-31 14:32:41 +08:00
|
|
|
|
2002-09-30 23:19:19 +08:00
|
|
|
/* Invalid HTREE limit */
|
|
|
|
{ PR_2_HTREE_BAD_LIMIT,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B has @n limit (%N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-09-30 23:19:19 +08:00
|
|
|
|
|
|
|
/* Invalid HTREE count */
|
|
|
|
{ PR_2_HTREE_BAD_COUNT,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B has @n count (%N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-09-30 23:19:19 +08:00
|
|
|
|
|
|
|
/* HTREE interior node has out-of-order hashes in table */
|
|
|
|
{ PR_2_HTREE_HASH_ORDER,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B has an unordered hash table\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2002-09-30 23:19:19 +08:00
|
|
|
|
2005-06-19 21:45:36 +08:00
|
|
|
/* Node in HTREE directory has invalid depth */
|
2002-09-30 23:19:19 +08:00
|
|
|
{ PR_2_HTREE_BAD_DEPTH,
|
2009-10-05 06:02:24 +08:00
|
|
|
N_("@p @h %d: %B has @n depth (%N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2003-03-14 14:43:56 +08:00
|
|
|
/* Duplicate directory entry found */
|
|
|
|
{ PR_2_DUPLICATE_DIRENT,
|
|
|
|
N_("Duplicate @E found. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2003-03-14 14:43:56 +08:00
|
|
|
/* Non-unique filename found */
|
2003-05-04 06:45:55 +08:00
|
|
|
{ PR_2_NON_UNIQUE_FILE, /* xgettext: no-c-format */
|
2003-03-14 14:43:56 +08:00
|
|
|
N_("@E has a non-unique filename.\nRename to %s"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2003-03-15 11:19:10 +08:00
|
|
|
/* Duplicate directory entry found */
|
|
|
|
{ PR_2_REPORT_DUP_DIRENT,
|
|
|
|
N_("Duplicate @e '%Dn' found.\n\tMarking %p (%i) to be rebuilt.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2009-04-29 02:59:07 +08:00
|
|
|
/* i_blocks_hi should be zero */
|
2006-11-11 19:32:03 +08:00
|
|
|
{ PR_2_BLOCKS_HI_ZERO,
|
|
|
|
N_("i_blocks_hi @F %N, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2006-11-11 19:32:03 +08:00
|
|
|
|
2008-03-13 04:10:48 +08:00
|
|
|
/* Unexpected HTREE block */
|
|
|
|
{ PR_2_UNEXPECTED_HTREE_BLOCK,
|
2018-10-11 22:25:31 +08:00
|
|
|
N_("Unexpected @b in @h %d (%q).\n"), PROMPT_CLEAR_HTREE, 0,
|
|
|
|
0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2007-10-22 10:04:03 +08:00
|
|
|
/* Inode found in group where _INODE_UNINIT is set */
|
|
|
|
{ PR_2_INOREF_BG_INO_UNINIT,
|
2008-10-11 23:22:15 +08:00
|
|
|
N_("@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
|
|
|
/* Inode found in group unused inodes area */
|
|
|
|
{ PR_2_INOREF_IN_UNUSED,
|
2008-10-11 23:22:15 +08:00
|
|
|
N_("@E references @i %Di found in @g %g's unused inodes area.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
2009-04-29 02:59:07 +08:00
|
|
|
/* i_blocks_hi should be zero */
|
2009-04-24 09:31:16 +08:00
|
|
|
{ PR_2_I_FILE_ACL_HI_ZERO,
|
|
|
|
N_("i_file_acl_hi @F %N, @s zero.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK, 0, 0, 0 },
|
2009-04-24 09:31:16 +08:00
|
|
|
|
2012-08-03 05:27:30 +08:00
|
|
|
/* htree root node fails checksum */
|
|
|
|
{ PR_2_HTREE_ROOT_CSUM_INVALID,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-07-26 08:34:28 +08:00
|
|
|
N_("@p @h %d: root node fails checksum.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2012-08-03 05:27:30 +08:00
|
|
|
|
|
|
|
/* htree internal node fails checksum */
|
|
|
|
{ PR_2_HTREE_NODE_CSUM_INVALID,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-07-26 08:34:28 +08:00
|
|
|
N_("@p @h %d: internal node fails checksum.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR_HTREE, PR_PREEN_OK, 0, 0, 0 },
|
2012-08-03 05:27:30 +08:00
|
|
|
|
2012-08-03 05:27:43 +08:00
|
|
|
/* leaf node has no checksum */
|
|
|
|
{ PR_2_LEAF_NODE_MISSING_CSUM,
|
2014-07-26 08:34:28 +08:00
|
|
|
N_("@d @i %i, %B, offset %N: @d has no checksum.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2012-08-03 05:27:43 +08:00
|
|
|
|
|
|
|
/* leaf node passes checks but fails checksum */
|
|
|
|
{ PR_2_LEAF_NODE_ONLY_CSUM_INVALID,
|
2015-07-22 12:06:43 +08:00
|
|
|
N_("@d @i %i, %B: @d passes checks but fails checksum.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2012-08-03 05:27:43 +08:00
|
|
|
|
2014-08-11 06:46:53 +08:00
|
|
|
/* inline directory inode size must be a multiple of 4 */
|
|
|
|
{ PR_2_BAD_INLINE_DIR_SIZE,
|
|
|
|
N_("Inline @d @i %i size (%N) must be a multiple of 4.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2014-08-11 06:46:53 +08:00
|
|
|
|
|
|
|
/* fixing size of inline directory inode failed */
|
|
|
|
{ PR_2_FIX_INLINE_DIR_FAILED,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 06:46:53 +08:00
|
|
|
N_("Fixing size of inline @d @i %i failed.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_TRUNCATE, 0, 0, 0, 0 },
|
2014-08-11 06:46:53 +08:00
|
|
|
|
2015-07-17 05:19:38 +08:00
|
|
|
/* Encrypted directory entry is too short */
|
|
|
|
{ PR_2_BAD_ENCRYPTED_NAME,
|
|
|
|
N_("Encrypted @E is too short.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2015-07-17 05:19:38 +08:00
|
|
|
|
2020-06-12 19:11:38 +08:00
|
|
|
/* Non-unique filename found, but can't rename */
|
|
|
|
{ PR_2_NON_UNIQUE_FILE_NO_RENAME,
|
|
|
|
N_("Duplicate filename @E found. "),
|
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 3 errors */
|
|
|
|
|
|
|
|
/* Pass 3: Checking directory connectivity */
|
|
|
|
{ PR_3_PASS_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Pass 3: Checking @d connectivity\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Root inode not allocated */
|
|
|
|
{ PR_3_NO_ROOT_INODE,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@r not allocated. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_ALLOCATE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* No room in lost+found */
|
|
|
|
{ PR_3_EXPAND_LF_DIR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("No room in @l @d. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_EXPAND, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Unconnected directory inode */
|
|
|
|
{ PR_3_UNCONNECTED_DIR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Unconnected @d @i %i (%p)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CONNECT, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* /lost+found not found */
|
|
|
|
{ PR_3_NO_LF_DIR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("/@l not found. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CREATE, PR_PREEN_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* .. entry is incorrect */
|
|
|
|
{ PR_3_BAD_DOT_DOT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("'..' in %Q (%i) is %P (%j), @s %q (%d).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Bad or non-existent /lost+found. Cannot reconnect */
|
|
|
|
{ PR_3_NO_LPF,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2001-08-05 08:39:39 +08:00
|
|
|
N_("Bad or non-existent /@l. Cannot reconnect.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Could not expand /lost+found */
|
|
|
|
{ PR_3_CANT_EXPAND_LPF,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Could not expand /@l: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Could not reconnect inode */
|
|
|
|
{ PR_3_CANT_RECONNECT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Could not reconnect %i: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error while trying to find /lost+found */
|
|
|
|
{ PR_3_ERR_FIND_LPF,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error while trying to find /@l: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error in ext2fs_new_block while creating /lost+found */
|
2008-04-01 00:16:51 +08:00
|
|
|
{ PR_3_ERR_LPF_NEW_BLOCK,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("ext2fs_new_@b: %m while trying to create /@l @d\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Error in ext2fs_new_inode while creating /lost+found */
|
|
|
|
{ PR_3_ERR_LPF_NEW_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("ext2fs_new_@i: %m while trying to create /@l @d\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Error in ext2fs_new_dir_block while creating /lost+found */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_3_ERR_LPF_NEW_DIR_BLOCK,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("ext2fs_new_dir_@b: %m while creating new @d @b\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Error while writing directory block for /lost+found */
|
|
|
|
{ PR_3_ERR_LPF_WRITE_BLOCK,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error while adjusting inode count */
|
|
|
|
{ PR_3_ADJUST_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error while adjusting @i count on @i %i\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Couldn't fix parent directory -- error */
|
|
|
|
{ PR_3_FIX_PARENT_ERR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Couldn't fix parent of @i %i: %m\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Couldn't fix parent directory -- couldn't find it */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_3_FIX_PARENT_NOFIND,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Couldn't fix parent of @i %i: Couldn't find parent @d @e\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error allocating inode bitmap */
|
|
|
|
{ PR_3_ALLOCATE_IBITMAP_ERROR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@A @i @B (%N): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error creating root directory */
|
|
|
|
{ PR_3_CREATE_ROOT_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error creating root @d (%s): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Error creating lost and found directory */
|
|
|
|
{ PR_3_CREATE_LPF_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Error creating /@l @d (%s): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
/* Root inode is not directory; aborting */
|
|
|
|
{ PR_3_ROOT_NOT_DIR_ABORT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@r is not a @d; aborting.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
|
|
|
|
/* Cannot proceed without a root inode. */
|
|
|
|
{ PR_3_NO_ROOT_INODE_ABORT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Cannot proceed without a @r.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
|
1998-09-03 09:26:03 +08:00
|
|
|
/* Internal error: couldn't find dir_info */
|
|
|
|
{ PR_3_NO_DIRINFO,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Internal error: couldn't find dir_info for %i.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
1998-09-03 09:26:03 +08:00
|
|
|
|
1999-03-17 03:32:52 +08:00
|
|
|
/* Lost+found not a directory */
|
|
|
|
{ PR_3_LPF_NOTDIR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("/@l is not a @d (ino=%i)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_UNLINK, 0, 0, 0, 0 },
|
2002-07-20 12:28:07 +08:00
|
|
|
|
2014-03-03 14:02:52 +08:00
|
|
|
/* Lost+found has inline data */
|
|
|
|
{ PR_3_LPF_INLINE_DATA,
|
|
|
|
N_("/@l has inline data\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2014-03-03 14:02:52 +08:00
|
|
|
|
2014-08-03 10:18:30 +08:00
|
|
|
/* Cannot allocate /lost+found. */
|
|
|
|
{ PR_3_LPF_NO_SPACE,
|
|
|
|
N_("Cannot allocate space for /@l.\nPlace lost files in root directory instead"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, 0, 0, 0, 0 },
|
2014-08-03 10:18:30 +08:00
|
|
|
|
2014-08-11 06:21:15 +08:00
|
|
|
/* Delete some files and re-run e2fsck. */
|
|
|
|
{ PR_3_NO_SPACE_TO_RECOVER,
|
|
|
|
N_("Insufficient space to recover lost files!\nMove data off the @f and re-run e2fsck.\n\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2014-08-11 06:21:15 +08:00
|
|
|
|
2015-07-17 02:21:22 +08:00
|
|
|
/* Lost+found is encrypted */
|
|
|
|
{ PR_3_LPF_ENCRYPTED,
|
|
|
|
N_("/@l is encrypted\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, 0, 0, 0, 0 },
|
2015-07-17 02:21:22 +08:00
|
|
|
|
2002-07-25 12:00:08 +08:00
|
|
|
/* Pass 3A Directory Optimization */
|
2002-07-20 12:28:07 +08:00
|
|
|
|
2002-07-25 12:00:08 +08:00
|
|
|
/* Pass 3A: Optimizing directories */
|
2002-07-20 12:28:07 +08:00
|
|
|
{ PR_3A_PASS_HEADER,
|
2002-07-25 12:00:08 +08:00
|
|
|
N_("Pass 3A: Optimizing directories\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER | PR_PREEN_NOMSG, 0, 0, 0 },
|
2002-07-20 12:28:07 +08:00
|
|
|
|
|
|
|
/* Error iterating over directories */
|
2002-07-25 12:00:08 +08:00
|
|
|
{ PR_3A_OPTIMIZE_ITER,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2009-01-27 05:41:46 +08:00
|
|
|
N_("Failed to create dirs_to_hash iterator: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-07-20 12:28:07 +08:00
|
|
|
|
|
|
|
/* Error rehash directory */
|
2002-07-25 12:00:08 +08:00
|
|
|
{ PR_3A_OPTIMIZE_DIR_ERR,
|
2009-01-27 05:41:46 +08:00
|
|
|
N_("Failed to optimize directory %q (%d): %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
2002-07-20 12:28:07 +08:00
|
|
|
|
|
|
|
/* Rehashing dir header */
|
2002-07-25 12:00:08 +08:00
|
|
|
{ PR_3A_OPTIMIZE_DIR_HEADER,
|
|
|
|
N_("Optimizing directories: "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_MSG_ONLY, 0, 0, 0 },
|
2002-07-20 12:28:07 +08:00
|
|
|
|
|
|
|
/* Rehashing directory %d */
|
2002-07-25 12:00:08 +08:00
|
|
|
{ PR_3A_OPTIMIZE_DIR,
|
2002-07-20 12:28:07 +08:00
|
|
|
" %d",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_OPTIMIZE_DIR | PR_PREEN_NOHDR, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
|
|
|
/* Rehashing dir end */
|
2002-07-25 12:00:08 +08:00
|
|
|
{ PR_3A_OPTIMIZE_DIR_END,
|
2002-07-20 12:28:07 +08:00
|
|
|
"\n",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_NOHDR, 0, 0, 0 },
|
1999-03-17 03:32:52 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Pass 4 errors */
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 4: Checking reference counts */
|
|
|
|
{ PR_4_PASS_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Pass 4: Checking reference counts\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
/* Unattached zero-length inode */
|
|
|
|
{ PR_4_ZERO_LEN_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@u @z @i %i. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CLEAR, PR_PREEN_OK|PR_NO_OK, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Unattached inode */
|
|
|
|
{ PR_4_UNATTACHED_INODE,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("@u @i %i\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_CONNECT, 0, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/* Inode ref count wrong */
|
|
|
|
{ PR_4_BAD_REF_COUNT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i %i ref count is %Il, @s %N. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
{ PR_4_INCONSISTENT_COUNT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("WARNING: PROGRAMMING BUG IN E2FSCK!\n"
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
"\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
|
|
|
|
"@i_link_info[%i] is %N, @i.i_links_count is %Il. "
|
2005-06-19 21:45:36 +08:00
|
|
|
"They @s the same!\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, 0, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2017-07-05 11:53:59 +08:00
|
|
|
{ PR_4_EA_INODE_REF_COUNT,
|
|
|
|
N_("@a @i %i ref count is %N, @s %n. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2017-07-05 11:53:59 +08:00
|
|
|
|
2018-06-23 06:08:54 +08:00
|
|
|
/* directory exceeds max links, but no DIR_NLINK feature in superblock*/
|
|
|
|
{ PR_4_DIR_NLINK_FEATURE,
|
|
|
|
N_("@d exceeds max links, but no DIR_NLINK feature in @S.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, 0, 0, 0, 0 },
|
2018-06-23 06:08:54 +08:00
|
|
|
|
2020-02-13 18:15:56 +08:00
|
|
|
/* Directory inode ref count set to overflow but could be exact value */
|
|
|
|
{ PR_4_DIR_OVERFLOW_REF_COUNT,
|
|
|
|
N_("@d @i %i ref count set to overflow but could be exact value %N. "),
|
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 5 errors */
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Pass 5: Checking group summary information */
|
|
|
|
{ PR_5_PASS_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Pass 5: Checking @g summary information\n"),
|
2019-05-06 13:10:53 +08:00
|
|
|
PROMPT_NONE, PR_HEADER, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Padding at end of inode bitmap is not set. */
|
|
|
|
{ PR_5_INODE_BMAP_PADDING,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Padding at end of @i @B is not set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Padding at end of block bitmap is not set. */
|
|
|
|
{ PR_5_BLOCK_BMAP_PADDING,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Padding at end of @b @B is not set. "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Block bitmap differences header */
|
|
|
|
{ PR_5_BLOCK_BITMAP_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@b @B differences: "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Block not used, but marked in bitmap */
|
2002-03-07 15:47:07 +08:00
|
|
|
{ PR_5_BLOCK_UNUSED,
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
" -%b",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_BBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Block used, but not marked used in bitmap */
|
|
|
|
{ PR_5_BLOCK_USED,
|
|
|
|
" +%b",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_BBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Block bitmap differences end */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_5_BLOCK_BITMAP_END,
|
|
|
|
"\n",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Inode bitmap differences header */
|
|
|
|
{ PR_5_INODE_BITMAP_HEADER,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("@i @B differences: "),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Inode not used, but marked in bitmap */
|
2002-03-07 15:47:07 +08:00
|
|
|
{ PR_5_INODE_UNUSED,
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
" -%i",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_IBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
/* Inode used, but not marked used in bitmap */
|
|
|
|
{ PR_5_INODE_USED,
|
|
|
|
" +%i",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_IBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
/* Inode bitmap differences end */
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
{ PR_5_INODE_BITMAP_END,
|
|
|
|
"\n",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Free inodes count for group wrong */
|
|
|
|
{ PR_5_FREE_INODE_COUNT_GROUP,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Free @is count wrong for @g #%g (%i, counted=%j).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Directories count for group wrong */
|
|
|
|
{ PR_5_FREE_DIR_COUNT_GROUP,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Directories count wrong for @g #%g (%i, counted=%j).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Free inodes count wrong */
|
|
|
|
{ PR_5_FREE_INODE_COUNT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Free @is count wrong (%i, counted=%j).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Free blocks count for group wrong */
|
|
|
|
{ PR_5_FREE_BLOCK_COUNT_GROUP,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Free @bs count wrong for @g #%g (%b, counted=%c).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Free blocks count wrong */
|
|
|
|
{ PR_5_FREE_BLOCK_COUNT,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Free @bs count wrong (%b, counted=%c).\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK | PR_NO_OK | PR_PREEN_NOMSG, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Programming error: bitmap endpoints don't match */
|
|
|
|
{ PR_5_BMAP_ENDPOINTS,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't "
|
|
|
|
"match calculated @B endpoints (%i, %j)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
/* Internal error: fudging end of bitmap */
|
|
|
|
{ PR_5_FUDGE_BITMAP_ERROR,
|
Many files:
badblocks.c, e2fsck.h, ehandler.c, emptydir.c, extend.c, flushb.c,
iscan.c, message.c, pass1.c, pass1b.c, pass3.c pass4.c, pass5.c,
problem.c, scantest.c, swapfs.c, unix.c, util.c: Add
Internationalization support as suggested by Marco d'Itri
<md@linux.it>.
2000-02-07 11:11:03 +08:00
|
|
|
N_("Internal error: fudging end of bitmap (%N)\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2000-06-11 03:21:33 +08:00
|
|
|
|
|
|
|
/* Error copying in replacement inode bitmap */
|
|
|
|
{ PR_5_COPY_IBITMAP_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Error copying in replacement @i @B: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2000-06-11 03:21:33 +08:00
|
|
|
|
|
|
|
/* Error copying in replacement block bitmap */
|
|
|
|
{ PR_5_COPY_BBITMAP_ERROR,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2005-06-19 21:45:36 +08:00
|
|
|
N_("Error copying in replacement @b @B: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_FATAL, 0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2002-03-07 15:47:07 +08:00
|
|
|
/* Block range not used, but marked in bitmap */
|
|
|
|
{ PR_5_BLOCK_RANGE_UNUSED,
|
|
|
|
" -(%b--%c)",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_BBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2002-03-07 15:47:07 +08:00
|
|
|
/* Block range used, but not marked used in bitmap */
|
|
|
|
{ PR_5_BLOCK_RANGE_USED,
|
|
|
|
" +(%b--%c)",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_BBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
2002-03-07 15:47:07 +08:00
|
|
|
|
|
|
|
/* Inode range not used, but marked in bitmap */
|
|
|
|
{ PR_5_INODE_RANGE_UNUSED,
|
|
|
|
" -(%i--%j)",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_IBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2002-03-07 15:47:07 +08:00
|
|
|
/* Inode range used, but not marked used in bitmap */
|
|
|
|
{ PR_5_INODE_RANGE_USED,
|
|
|
|
" +(%i--%j)",
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NONE, PR_LATCH_IBITMAP | PR_PREEN_OK | PR_PREEN_NOMSG,
|
|
|
|
0, 0, 0 },
|
2002-03-07 15:47:07 +08:00
|
|
|
|
2007-10-22 10:04:03 +08:00
|
|
|
/* Group N block(s) in use but group is marked BLOCK_UNINIT */
|
|
|
|
{ PR_5_BLOCK_UNINIT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-10-22 10:04:03 +08:00
|
|
|
N_("@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
|
|
|
/* Group N inode(s) in use but group is marked INODE_UNINIT */
|
|
|
|
{ PR_5_INODE_UNINIT,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2007-10-22 10:04:03 +08:00
|
|
|
N_("@g %g @i(s) in use but @g is marked INODE_UNINIT\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_PREEN_OK, 0, 0, 0 },
|
2007-10-22 10:04:03 +08:00
|
|
|
|
2012-07-31 07:02:04 +08:00
|
|
|
/* Group N inode bitmap does not match checksum */
|
|
|
|
{ PR_5_INODE_BITMAP_CSUM_INVALID,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-07-26 08:34:28 +08:00
|
|
|
N_("@g %g @i @B does not match checksum.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_LATCH_IBITMAP | PR_PREEN_OK, 0, 0, 0 },
|
2012-07-31 07:02:04 +08:00
|
|
|
|
2012-07-31 07:08:04 +08:00
|
|
|
/* Group N block bitmap does not match checksum */
|
|
|
|
{ PR_5_BLOCK_BITMAP_CSUM_INVALID,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-07-26 08:34:28 +08:00
|
|
|
N_("@g %g @b @B does not match checksum.\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_FIX, PR_LATCH_BBITMAP | PR_PREEN_OK, 0, 0, 0 },
|
2012-07-31 07:08:04 +08:00
|
|
|
|
2009-04-28 06:59:24 +08:00
|
|
|
/* Post-Pass 5 errors */
|
|
|
|
|
|
|
|
/* Recreate journal if E2F_FLAG_JOURNAL_INODE flag is set */
|
|
|
|
{ PR_6_RECREATE_JOURNAL,
|
|
|
|
N_("Recreate @j"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_PREEN_OK | PR_NO_OK, 0, 0, 0 },
|
2009-04-28 06:59:24 +08:00
|
|
|
|
2012-04-25 02:46:08 +08:00
|
|
|
/* Update quota information if it is inconsistent */
|
|
|
|
{ PR_6_UPDATE_QUOTAS,
|
|
|
|
N_("Update quota info for quota type %N"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_PREEN_OK, 0, 0, 0 },
|
2012-04-25 02:46:08 +08:00
|
|
|
|
2014-08-11 05:20:36 +08:00
|
|
|
/* Error setting block group checksum info */
|
|
|
|
{ PR_6_SET_BG_CHECKSUM,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 05:20:36 +08:00
|
|
|
N_("Error setting @b @g checksum info: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_FATAL, 0, 0, 0 },
|
2014-08-11 05:20:36 +08:00
|
|
|
|
|
|
|
/* Error writing file system info */
|
|
|
|
{ PR_6_FLUSH_FILESYSTEM,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-11 05:20:36 +08:00
|
|
|
N_("Error writing file system info: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_FATAL, 0, 0, 0 },
|
2014-08-11 05:20:36 +08:00
|
|
|
|
|
|
|
/* Error flushing writes to storage device */
|
|
|
|
{ PR_6_IO_FLUSH,
|
2019-07-14 01:49:34 +08:00
|
|
|
/* xgettext:no-c-format */
|
2014-08-26 21:40:06 +08:00
|
|
|
N_("Error flushing writes to storage device: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, PR_FATAL, 0, 0, 0 },
|
2014-08-11 05:20:36 +08:00
|
|
|
|
2016-05-30 05:36:43 +08:00
|
|
|
/* Error writing quota information */
|
|
|
|
{ PR_6_WRITE_QUOTAS,
|
|
|
|
N_("Error writing quota info for quota type %N: %m\n"),
|
2018-10-11 22:25:31 +08:00
|
|
|
PROMPT_NULL, 0, 0, 0, 0 },
|
2016-05-30 05:36:43 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
{ 0 }
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is the latch flags register. It allows several problems to be
|
|
|
|
* "latched" together. This means that the user has to answer but one
|
|
|
|
* question for the set of problems, and all of the associated
|
|
|
|
* problems will be either fixed or not fixed.
|
|
|
|
*/
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
static struct latch_descr pr_latch_info[] = {
|
2018-10-11 22:25:31 +08:00
|
|
|
{ PR_LATCH_BLOCK, PR_1_INODE_BLOCK_LATCH, 0, 0 },
|
|
|
|
{ PR_LATCH_BBLOCK, PR_1_INODE_BBLOCK_LATCH, 0, 0 },
|
|
|
|
{ PR_LATCH_IBITMAP, PR_5_INODE_BITMAP_HEADER, PR_5_INODE_BITMAP_END, 0 },
|
|
|
|
{ PR_LATCH_BBITMAP, PR_5_BLOCK_BITMAP_HEADER, PR_5_BLOCK_BITMAP_END, 0 },
|
|
|
|
{ PR_LATCH_RELOC, PR_0_RELOCATE_HINT, 0, 0 },
|
|
|
|
{ PR_LATCH_DBLOCK, PR_1B_DUP_BLOCK_HEADER, PR_1B_DUP_BLOCK_END, 0 },
|
|
|
|
{ PR_LATCH_LOW_DTIME, PR_1_ORPHAN_LIST_REFUGEES, 0, 0 },
|
|
|
|
{ PR_LATCH_TOOBIG, PR_1_INODE_TOOBIG, 0, 0 },
|
|
|
|
{ PR_LATCH_OPTIMIZE_DIR, PR_3A_OPTIMIZE_DIR_HEADER, PR_3A_OPTIMIZE_DIR_END, 0 },
|
|
|
|
{ PR_LATCH_BG_CHECKSUM, PR_0_GDT_CSUM_LATCH, 0, 0 },
|
|
|
|
{ PR_LATCH_OPTIMIZE_EXT, PR_1E_OPTIMIZE_EXT_HEADER, PR_1E_OPTIMIZE_EXT_END, 0 },
|
|
|
|
{ -1, 0, 0, 0 },
|
1997-04-30 00:15:03 +08:00
|
|
|
};
|
2018-07-14 08:42:48 +08:00
|
|
|
#if __GNUC_PREREQ (4, 6)
|
2015-07-13 08:44:53 +08:00
|
|
|
#pragma GCC diagnostic pop
|
2018-07-14 08:42:48 +08:00
|
|
|
#endif
|
1997-04-30 00:15:03 +08:00
|
|
|
|
2006-01-01 05:33:33 +08:00
|
|
|
static struct e2fsck_problem *find_problem(problem_t code)
|
1997-04-30 00:15:03 +08:00
|
|
|
{
|
2009-04-29 02:59:07 +08:00
|
|
|
int i;
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
for (i=0; problem_table[i].e2p_code; i++) {
|
|
|
|
if (problem_table[i].e2p_code == code)
|
|
|
|
return &problem_table[i];
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
static struct latch_descr *find_latch(int code)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for (i=0; pr_latch_info[i].latch_code >= 0; i++) {
|
|
|
|
if (pr_latch_info[i].latch_code == code)
|
|
|
|
return &pr_latch_info[i];
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int end_problem_latch(e2fsck_t ctx, int mask)
|
|
|
|
{
|
|
|
|
struct latch_descr *ldesc;
|
|
|
|
struct problem_context pctx;
|
|
|
|
int answer = -1;
|
2008-04-01 00:16:51 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
ldesc = find_latch(mask);
|
|
|
|
if (ldesc->end_message && (ldesc->flags & PRL_LATCHED)) {
|
|
|
|
clear_problem_context(&pctx);
|
|
|
|
answer = fix_problem(ctx, ldesc->end_message, &pctx);
|
|
|
|
}
|
|
|
|
ldesc->flags &= ~(PRL_VARIABLE);
|
|
|
|
return answer;
|
|
|
|
}
|
|
|
|
|
|
|
|
int set_latch_flags(int mask, int setflags, int clearflags)
|
1997-04-30 00:15:03 +08:00
|
|
|
{
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
struct latch_descr *ldesc;
|
|
|
|
|
|
|
|
ldesc = find_latch(mask);
|
|
|
|
if (!ldesc)
|
|
|
|
return -1;
|
|
|
|
ldesc->flags |= setflags;
|
|
|
|
ldesc->flags &= ~clearflags;
|
|
|
|
return 0;
|
1997-04-30 00:15:03 +08:00
|
|
|
}
|
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
int get_latch_flags(int mask, int *value)
|
1997-04-30 00:15:03 +08:00
|
|
|
{
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
struct latch_descr *ldesc;
|
|
|
|
|
|
|
|
ldesc = find_latch(mask);
|
|
|
|
if (!ldesc)
|
|
|
|
return -1;
|
|
|
|
*value = ldesc->flags;
|
|
|
|
return 0;
|
1997-04-30 00:15:03 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void clear_problem_context(struct problem_context *ctx)
|
|
|
|
{
|
|
|
|
memset(ctx, 0, sizeof(struct problem_context));
|
|
|
|
ctx->blkcount = -1;
|
|
|
|
ctx->group = -1;
|
|
|
|
}
|
|
|
|
|
2008-04-01 00:16:51 +08:00
|
|
|
static void reconfigure_bool(e2fsck_t ctx, struct e2fsck_problem *ptr,
|
2006-01-01 05:33:33 +08:00
|
|
|
const char *key, int mask, const char *name)
|
|
|
|
{
|
2012-07-06 09:44:20 +08:00
|
|
|
int val;
|
2006-01-01 05:33:33 +08:00
|
|
|
|
2012-07-06 09:44:20 +08:00
|
|
|
val = (ptr->flags & mask);
|
|
|
|
profile_get_boolean(ctx->profile, "problems", key, name, val, &val);
|
|
|
|
if (val)
|
2006-01-01 05:33:33 +08:00
|
|
|
ptr->flags |= mask;
|
|
|
|
else
|
|
|
|
ptr->flags &= ~mask;
|
|
|
|
}
|
|
|
|
|
2019-05-06 13:10:53 +08:00
|
|
|
static void print_problem(FILE *f, problem_t code, int answer, int fixed,
|
|
|
|
struct e2fsck_problem *ptr,
|
|
|
|
struct problem_context *pctx)
|
|
|
|
{
|
|
|
|
if (ptr->flags & PR_HEADER) {
|
2019-05-11 01:20:59 +08:00
|
|
|
fprintf(f, "<header code=\"0x%06x\"/>\n", code);
|
2019-05-06 13:10:53 +08:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
fprintf(f, "<problem code=\"0x%06x\" answer=\"%d\"", code, answer);
|
|
|
|
if (pctx->errcode)
|
|
|
|
fprintf(f, " errcode=\"%lu\"", pctx->errcode);
|
|
|
|
if (fixed)
|
|
|
|
fputs(" fixed=\"1\"", f);
|
|
|
|
if (pctx->ino)
|
2019-05-11 02:26:27 +08:00
|
|
|
fprintf(f, " ino=\"%u\"", pctx->ino);
|
2019-05-06 13:10:53 +08:00
|
|
|
if (pctx->ino2)
|
2019-05-11 02:26:27 +08:00
|
|
|
fprintf(f, " ino2=\"%u\"", pctx->ino2);
|
2019-05-06 13:10:53 +08:00
|
|
|
if (pctx->dir)
|
2019-05-11 02:26:27 +08:00
|
|
|
fprintf(f, " dir=\"%u\"", pctx->dir);
|
2019-05-06 13:10:53 +08:00
|
|
|
if (pctx->blk)
|
|
|
|
fprintf(f, " blk=\"%llu\"", pctx->blk);
|
|
|
|
if (pctx->blk2)
|
|
|
|
fprintf(f, " blk2=\"%llu\"", pctx->blk2);
|
|
|
|
if (pctx->blkcount != (e2_blkcnt_t) -1)
|
|
|
|
fprintf(f, " blkcount=\"%lld\"", pctx->blkcount);
|
|
|
|
if (pctx->group != (dgrp_t) -1)
|
2019-05-11 02:26:27 +08:00
|
|
|
fprintf(f, " group=\"%u\"", pctx->group);
|
2019-05-06 13:10:53 +08:00
|
|
|
if (pctx->csum1)
|
2019-05-11 02:26:27 +08:00
|
|
|
fprintf(f, " csum1=\"%u\"", pctx->csum1);
|
2019-05-06 13:10:53 +08:00
|
|
|
if (pctx->csum2)
|
2019-05-11 02:26:27 +08:00
|
|
|
fprintf(f, " csum2=\"%u\"", pctx->csum2);
|
2019-05-06 13:10:53 +08:00
|
|
|
if (pctx->num)
|
|
|
|
fprintf(f, " num=\"%llu\"", pctx->num);
|
|
|
|
if (pctx->num2)
|
|
|
|
fprintf(f, " num2=\"%llu\"", pctx->num2);
|
|
|
|
if (pctx->str)
|
|
|
|
fprintf(f, " str=\"%s\"", pctx->str);
|
|
|
|
fputs("/>\n", f);
|
|
|
|
}
|
2006-01-01 05:33:33 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx)
|
1997-04-30 00:15:03 +08:00
|
|
|
{
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
ext2_filsys fs = ctx->fs;
|
2006-01-01 05:33:33 +08:00
|
|
|
struct e2fsck_problem *ptr;
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
struct latch_descr *ldesc = 0;
|
|
|
|
const char *message;
|
2010-05-14 05:36:36 +08:00
|
|
|
int def_yn, answer, ans;
|
1997-04-30 00:15:03 +08:00
|
|
|
int print_answer = 0;
|
|
|
|
int suppress = 0;
|
2019-05-06 13:10:53 +08:00
|
|
|
int fixed = 0;
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
ptr = find_problem(code);
|
|
|
|
if (!ptr) {
|
2002-03-07 15:47:07 +08:00
|
|
|
printf(_("Unhandled error code (0x%x)!\n"), code);
|
1997-04-30 00:15:03 +08:00
|
|
|
return 0;
|
|
|
|
}
|
2006-01-01 05:33:33 +08:00
|
|
|
if (!(ptr->flags & PR_CONFIG)) {
|
2012-11-29 20:47:53 +08:00
|
|
|
char key[9], *new_desc = NULL;
|
2006-01-01 05:33:33 +08:00
|
|
|
|
|
|
|
sprintf(key, "0x%06x", code);
|
|
|
|
|
|
|
|
profile_get_string(ctx->profile, "problems", key,
|
|
|
|
"description", 0, &new_desc);
|
|
|
|
if (new_desc)
|
|
|
|
ptr->e2p_description = new_desc;
|
|
|
|
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_PREEN_OK, "preen_ok");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_NO_OK, "no_ok");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_NO_DEFAULT, "no_default");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_MSG_ONLY, "print_message_only");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_PREEN_NOMSG, "preen_nomessage");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_NOCOLLATE, "no_collate");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_NO_NOMSG, "no_nomsg");
|
|
|
|
reconfigure_bool(ctx, ptr, key, PR_PREEN_NOHDR, "preen_noheader");
|
2010-12-06 23:10:33 +08:00
|
|
|
reconfigure_bool(ctx, ptr, key, PR_FORCE_NO, "force_no");
|
2017-02-17 11:02:35 +08:00
|
|
|
reconfigure_bool(ctx, ptr, key, PR_NOT_A_FIX, "not_a_fix");
|
2012-03-17 00:13:31 +08:00
|
|
|
profile_get_integer(ctx->profile, "options",
|
|
|
|
"max_count_problems", 0, 0,
|
|
|
|
&ptr->max_count);
|
2012-03-15 05:44:54 +08:00
|
|
|
profile_get_integer(ctx->profile, "problems", key, "max_count",
|
|
|
|
ptr->max_count, &ptr->max_count);
|
2006-01-01 05:33:33 +08:00
|
|
|
|
|
|
|
ptr->flags |= PR_CONFIG;
|
|
|
|
}
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
def_yn = 1;
|
2012-03-15 05:44:54 +08:00
|
|
|
ptr->count++;
|
1999-11-10 23:50:24 +08:00
|
|
|
if ((ptr->flags & PR_NO_DEFAULT) ||
|
|
|
|
((ptr->flags & PR_PREEN_NO) && (ctx->options & E2F_OPT_PREEN)) ||
|
|
|
|
(ctx->options & E2F_OPT_NO))
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
def_yn= 0;
|
1997-04-30 00:15:03 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Do special latch processing. This is where we ask the
|
|
|
|
* latch question, if it exists
|
|
|
|
*/
|
|
|
|
if (ptr->flags & PR_LATCH_MASK) {
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
ldesc = find_latch(ptr->flags & PR_LATCH_MASK);
|
|
|
|
if (ldesc->question && !(ldesc->flags & PRL_LATCHED)) {
|
|
|
|
ans = fix_problem(ctx, ldesc->question, pctx);
|
|
|
|
if (ans == 1)
|
|
|
|
ldesc->flags |= PRL_YES;
|
|
|
|
if (ans == 0)
|
|
|
|
ldesc->flags |= PRL_NO;
|
|
|
|
ldesc->flags |= PRL_LATCHED;
|
|
|
|
}
|
|
|
|
if (ldesc->flags & PRL_SUPPRESS)
|
1997-04-30 00:15:03 +08:00
|
|
|
suppress++;
|
|
|
|
}
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
if ((ptr->flags & PR_PREEN_NOMSG) &&
|
|
|
|
(ctx->options & E2F_OPT_PREEN))
|
|
|
|
suppress++;
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
if ((ptr->flags & PR_NO_NOMSG) &&
|
2010-12-06 23:10:33 +08:00
|
|
|
((ctx->options & E2F_OPT_NO) || (ptr->flags & PR_FORCE_NO)))
|
Many files:
pass4.c (e2fsck_pass4): If an inode is set in the inode_imagic_map
bitmap, don't check to see if it is disconnected from the inode tree
(because it almost certainly will be). Free inode_imagic_map at the
end of pass 4.
pass2.c (check_dir_block, check_filetype): If the FILETYPE feature is
set, check the directory entry's filetype information field, and
fix/set it if necessary. (e2fsck_pass2): Free the inode_reg_map
bitmap at the end of pass 2.
pass1.c (e2fsck_pass1, alloc_imagic_map): Allocate and fill in
information for inode_reg_map and inode_imagic_map, which indicates
which inodes are regular files and AFS inodes, respectively.
Since only the master superblock is written during a restart, force
that superblock to be used after a restart; otherwise changes to the
block group descriptors end up getting ignored.
problem.c, problemP.h: If e2fsck is run -n, make def_yn variable be 0
for "no". Add support for a new flag, PR_NO_NOMSG, which supresses
the problem message if e2fsck is run with the -n option.
problem.c, problem.h (PR_2_SET_FILETYPE, PR_2_BAD_FILETYPE): Add new
problem codes.
message.c (expand_dirent_expression): Add support for %dt which prints
the dirent type information.
e2fsck.c (e2fsck_reset_context): Free new bitmaps (inode_reg_map and
inode_imagic_map).
e2fsck.h (e2fsck_t): Add new inode_reg_map and inode_magic_map to the
context structure.
ChangeLog, nt_io.c:
nt_io.c: New file which supports I/O under Windows NT.
ChangeLog, gen_uuid_nt.c:
gen_uuid_nt.c: New file which creates a UUID under Windows NT.
Many files:
Add support for non-Unix compiles
1999-10-22 03:33:18 +08:00
|
|
|
suppress++;
|
2012-03-15 05:44:54 +08:00
|
|
|
if (ptr->max_count && (ptr->count > ptr->max_count)) {
|
|
|
|
if (ctx->options & (E2F_OPT_NO | E2F_OPT_YES))
|
|
|
|
suppress++;
|
|
|
|
if ((ctx->options & E2F_OPT_PREEN) &&
|
|
|
|
(ptr->flags & PR_PREEN_OK))
|
|
|
|
suppress++;
|
|
|
|
if ((ptr->flags & PR_LATCH_MASK) &&
|
|
|
|
(ldesc->flags & (PRL_YES | PRL_NO)))
|
|
|
|
suppress++;
|
2012-03-16 23:55:24 +08:00
|
|
|
if (ptr->count == ptr->max_count + 1) {
|
2019-05-06 13:10:53 +08:00
|
|
|
if (ctx->problem_logf)
|
|
|
|
fprintf(ctx->problem_logf,
|
2019-05-11 01:20:59 +08:00
|
|
|
"<suppressed code=\"0x%06x\"/>\n",
|
|
|
|
code);
|
2012-03-16 23:55:24 +08:00
|
|
|
printf("...problem 0x%06x suppressed\n",
|
|
|
|
ptr->e2p_code);
|
|
|
|
fflush(stdout);
|
|
|
|
}
|
2012-03-15 05:44:54 +08:00
|
|
|
}
|
2012-03-18 11:21:00 +08:00
|
|
|
message = ptr->e2p_description;
|
|
|
|
if (*message)
|
|
|
|
message = _(message);
|
1997-04-30 00:15:03 +08:00
|
|
|
if (!suppress) {
|
2002-07-20 12:28:07 +08:00
|
|
|
if ((ctx->options & E2F_OPT_PREEN) &&
|
|
|
|
!(ptr->flags & PR_PREEN_NOHDR)) {
|
2001-12-22 12:29:35 +08:00
|
|
|
printf("%s: ", ctx->device_name ?
|
|
|
|
ctx->device_name : ctx->filesystem_name);
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
}
|
2004-02-01 10:24:51 +08:00
|
|
|
if (*message)
|
2012-03-18 11:21:00 +08:00
|
|
|
print_e2fsck_message(stdout, ctx, message, pctx, 1, 0);
|
1997-04-30 00:15:03 +08:00
|
|
|
}
|
2012-03-18 11:21:00 +08:00
|
|
|
if (ctx->logf && message)
|
|
|
|
print_e2fsck_message(ctx->logf, ctx, message, pctx, 1, 0);
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
if (!(ptr->flags & PR_PREEN_OK) && (ptr->prompt != PROMPT_NONE))
|
|
|
|
preenhalt(ctx);
|
1997-04-30 00:15:03 +08:00
|
|
|
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
if (ptr->flags & PR_FATAL)
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
fatal_error(ctx, 0);
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
|
|
|
if (ptr->prompt == PROMPT_NONE) {
|
|
|
|
if (ptr->flags & PR_NOCOLLATE)
|
|
|
|
answer = -1;
|
1997-04-30 00:15:03 +08:00
|
|
|
else
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
answer = def_yn;
|
|
|
|
} else {
|
2010-12-06 23:10:33 +08:00
|
|
|
if (ptr->flags & PR_FORCE_NO) {
|
|
|
|
answer = 0;
|
2012-03-18 11:21:00 +08:00
|
|
|
print_answer = 1;
|
2010-12-06 23:10:33 +08:00
|
|
|
} else if (ctx->options & E2F_OPT_PREEN) {
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
answer = def_yn;
|
|
|
|
if (!(ptr->flags & PR_PREEN_NOMSG))
|
|
|
|
print_answer = 1;
|
|
|
|
} else if ((ptr->flags & PR_LATCH_MASK) &&
|
|
|
|
(ldesc->flags & (PRL_YES | PRL_NO))) {
|
2012-03-18 11:21:00 +08:00
|
|
|
print_answer = 1;
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
if (ldesc->flags & PRL_YES)
|
|
|
|
answer = 1;
|
|
|
|
else
|
|
|
|
answer = 0;
|
|
|
|
} else
|
2008-09-07 13:35:15 +08:00
|
|
|
answer = ask(ctx, (ptr->prompt == PROMPT_NULL) ? "" :
|
|
|
|
_(prompt[(int) ptr->prompt]), def_yn);
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
if (!answer && !(ptr->flags & PR_NO_OK))
|
|
|
|
ext2fs_unmark_valid(fs);
|
2008-04-01 00:16:51 +08:00
|
|
|
|
2012-03-18 11:21:00 +08:00
|
|
|
if (print_answer) {
|
|
|
|
if (!suppress)
|
|
|
|
printf("%s.\n", answer ?
|
|
|
|
_(preen_msg[(int) ptr->prompt]) :
|
|
|
|
_("IGNORED"));
|
|
|
|
if (ctx->logf)
|
|
|
|
fprintf(ctx->logf, "%s.\n", answer ?
|
|
|
|
_(preen_msg[(int) ptr->prompt]) :
|
|
|
|
_("IGNORED"));
|
|
|
|
}
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
}
|
|
|
|
|
Many files:
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c: Add calls to the progress
indicator function.
pass1.c (scan_callback): Add call to the progress feedback function
(if it exists).
super.c (check_super_block): Skip the device size check if the
get_device_size returns EXT2_EXT_UNIMPLEMENTED.
iscan.c (main): Don't use fatal_error() anymore.
pass1b.c, swapfs.c, badblocks.c: Set E2F_FLAG_ABORT instead of calling
fatal_error(0).
problem.c, pass3.c (PR_3_ROOT_NOT_DIR_ABORT,
PR_3_NO_ROOT_INODE_ABORT): New problem codes.
problem.c, pass2.c (PR_2_SPLIT_DOT): New problem code.
problem.c, pass1.c (PR_1_SUPPRESS_MESSAGES): New problem code.
problemP.h: New file which separates out the private fix_problem data
structures.
util.c, dirinfo.c, pass1.c, pass1b.c, pass2.c, pass5.c, super.c,
swapfs.c util.c: allocate_memory() now takes a e2fsck context as its
first argument, and rename it to be e2fsck_allocate_memory().
problemP.h:
New file which contains the private problem abstraction definitions.
Makefile.pq:
Remove include of MAKEFILE.STD, which doesn't exist at this point.
1997-11-14 13:23:04 +08:00
|
|
|
if ((ptr->prompt == PROMPT_ABORT) && answer)
|
|
|
|
fatal_error(ctx, 0);
|
Many files:
pass*.c, super.c: Massive changes to avoid using printf and com_err
routines. All diagnostic messages are now routed through the
fix_problem interface.
pass2.c (check_dir_block): Check for duplicate '.' and '..' entries.
problem.c, problem.h: Add new problem codes PR_2_DUP_DOT and
PR_2_DUP_DOT_DOT.
problem.c: Added new problem codes for some of the superblock
corruption checks, and for the pass header messages. ("Pass
1: xxxxx")
util.c (print_resource_track): Now takes a description argument.
super.c, unix.c, e2fsck.c: New files to separate out the
operating-specific operations out from e2fsck.c. e2fsck.c now
contains the global e2fsck context management routines, and
super.c contains the "pass 0" initial validation of the
superblock and global block group descriptors.
pass1.c, pass2.c, pass3.c, pass4.c, pass5.c, util.c: Eliminate
(nearly) all global variables and moved them to the e2fsck
context structure.
problem.c, problem.h: Added new problem codes PR_0_SB_CORRUPT,
PR_0_FS_SIZE_WRONG, PR_0_NO_FRAGMENTS, PR_0_BLOCKS_PER_GROUP,
PR_0_FIRST_DATA_BLOCK
expect.1, expect.2:
Updated tests to align with e2fsck problem.c changes.
1997-10-04 01:48:10 +08:00
|
|
|
|
2000-08-14 22:25:19 +08:00
|
|
|
if (ptr->flags & PR_AFTER_CODE)
|
|
|
|
answer = fix_problem(ctx, ptr->second_code, pctx);
|
|
|
|
|
2017-02-17 11:02:35 +08:00
|
|
|
if (answer && (ptr->prompt != PROMPT_NONE) &&
|
2019-05-06 13:10:53 +08:00
|
|
|
!(ptr->flags & PR_NOT_A_FIX)) {
|
|
|
|
fixed = 1;
|
2014-04-27 11:14:47 +08:00
|
|
|
ctx->flags |= E2F_FLAG_PROBLEMS_FIXED;
|
2019-05-06 13:10:53 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
if (ctx->problem_logf)
|
|
|
|
print_problem(ctx->problem_logf, code, answer, fixed,
|
|
|
|
ptr, pctx);
|
2014-04-27 11:14:47 +08:00
|
|
|
|
1997-04-30 00:15:03 +08:00
|
|
|
return answer;
|
|
|
|
}
|
2009-04-28 06:59:24 +08:00
|
|
|
|
|
|
|
#ifdef UNITTEST
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
errcode_t
|
|
|
|
profile_get_boolean(profile_t profile, const char *name, const char *subname,
|
|
|
|
const char *subsubname, int def_val, int *ret_boolean)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2012-03-15 05:44:54 +08:00
|
|
|
errcode_t
|
|
|
|
profile_get_integer(profile_t profile, const char *name, const char *subname,
|
|
|
|
const char *subsubname, int def_val, int *ret_int)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2012-03-18 11:21:00 +08:00
|
|
|
void print_e2fsck_message(FILE *f, e2fsck_t ctx, const char *msg,
|
2009-04-28 06:59:24 +08:00
|
|
|
struct problem_context *pctx, int first,
|
|
|
|
int recurse)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
void fatal_error(e2fsck_t ctx, const char *msg)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
void preenhalt(e2fsck_t ctx)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
errcode_t
|
|
|
|
profile_get_string(profile_t profile, const char *name, const char *subname,
|
|
|
|
const char *subsubname, const char *def_val,
|
|
|
|
char **ret_string)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int ask (e2fsck_t ctx, const char * string, int def)
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int verify_problem_table(e2fsck_t ctx)
|
|
|
|
{
|
|
|
|
struct e2fsck_problem *curr, *prev = NULL;
|
|
|
|
int rc = 0;
|
|
|
|
|
|
|
|
for (prev = NULL, curr = problem_table; curr->e2p_code; prev = curr++) {
|
|
|
|
if (prev == NULL)
|
|
|
|
continue;
|
|
|
|
|
|
|
|
if (curr->e2p_code > prev->e2p_code)
|
|
|
|
continue;
|
|
|
|
|
|
|
|
if (curr->e2p_code == prev->e2p_code)
|
|
|
|
fprintf(stderr, "*** Duplicate in problem table:\n");
|
|
|
|
else
|
|
|
|
fprintf(stderr, "*** Unordered problem table:\n");
|
|
|
|
|
|
|
|
fprintf(stderr, "curr code = 0x%08x: %s\n",
|
|
|
|
curr->e2p_code, curr->e2p_description);
|
|
|
|
fprintf(stderr, "*** prev code = 0x%08x: %s\n",
|
|
|
|
prev->e2p_code, prev->e2p_description);
|
|
|
|
|
|
|
|
fprintf(stderr, "*** This is a %sprogramming error in e2fsck\n",
|
|
|
|
(curr->e2p_code == prev->e2p_code) ? "fatal " : "");
|
|
|
|
|
|
|
|
rc = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
{
|
|
|
|
e2fsck_t ctx;
|
|
|
|
int rc;
|
|
|
|
|
2011-09-25 00:59:31 +08:00
|
|
|
memset(&ctx, 0, sizeof(ctx)); /* just to quiet compiler */
|
2009-04-28 06:59:24 +08:00
|
|
|
rc = verify_problem_table(ctx);
|
|
|
|
if (rc == 0)
|
|
|
|
printf("e2fsck problem table verified\n");
|
|
|
|
|
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
#endif /* UNITTEST */
|