gfs2-utils: RHEL7 - fsck.gfs2: Fix memory leak in pass2
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=e2ee1e89...
Commit: e2ee1e897df004e2843be27f10af3a30ecb59d5d
Parent: e1af32506a4e616d09d075901abe47684b7d9719
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Thu Sep 18 13:50:58 2014 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Apr 1 16:51:34 2015 +0100
fsck.gfs2: Fix memory leak in pass2
Spotted by coverity: Variable "ip" going out of scope leaks the storage
it points to.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/pass2.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c
index 40c80b9..3c10fef 100644
--- a/gfs2/fsck/pass2.c
+++ b/gfs2/fsck/pass2.c
@@ -1990,6 +1990,7 @@ int pass2(struct gfs2_sbd *sdp)
if (error) {
log_err(_("Error adding directory %s: %s\n"), "'.'",
strerror(errno));
+ fsck_inode_put(&ip);
return -errno;
}
if (astate_changed(ip, &as)) {
9 years, 1 month
gfs2-utils: RHEL7 - gfs2-utils build: Add test coverage option
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=e1af3250...
Commit: e1af32506a4e616d09d075901abe47684b7d9719
Parent: f2d9e5d0830609bc0e89e6c7e6d201d5f2265c71
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Wed Sep 17 18:36:36 2014 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Apr 1 16:51:34 2015 +0100
gfs2-utils build: Add test coverage option
Add an --enable-gcov configure option to simplify building with the
required flags to generate test coverage reports.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
configure.ac | 15 ++++++++++++++-
doc/README.tests | 12 ++++++++++++
2 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index b93eec9..a978e52 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,7 +68,7 @@ test x"$YACC" = x && AC_MSG_ERROR([bison not found])
# args. Global CFLAGS are ignored during this test.
cc_supports_flag() {
local CFLAGS="$@"
- AC_MSG_CHECKING([whether $CC supports "$@"])
+ AC_MSG_CHECKING([whether $CC supports $CFLAGS])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(){return 0;}])],
[RC=0; AC_MSG_RESULT([yes])],
[RC=1; AC_MSG_RESULT([no])])
@@ -89,6 +89,9 @@ check_lib_no_libs() {
AC_ARG_ENABLE([debug],
[ --enable-debug enable debug build. ],
[ default="no" ])
+AC_ARG_ENABLE([gcov],
+ [ --enable-gcov enable coverage instrumentation.],
+ [ default="no" ])
# We use the Check framework for unit tests
PKG_CHECK_MODULES([check], [check >= 0.9.8],
@@ -166,6 +169,15 @@ else
GDB_FLAGS="-g"
fi
+# gcov works without optimization
+if test "x${enable_gcov}" = xyes; then
+ GCOV_CFLAGS="-fprofile-arcs -ftest-coverage"
+ if ! cc_supports_flag $GCOV_CFLAGS; then
+ AC_MSG_ERROR([your compiler does not support coverage instrumentation])
+ fi
+ OPT_CFLAGS="-O0 $GCOV_CFLAGS"
+fi
+
# extra warnings
EXTRA_WARNINGS=""
@@ -223,3 +235,4 @@ AC_CONFIG_FILES([Makefile
AC_OUTPUT
test x"$have_check" = "xyes" || AC_MSG_NOTICE([package 'check' not found; unit tests will not be built])
+test x"${enable_gcov}" = "xyes" && AC_MSG_NOTICE([code coverage enabled; optimization will be disabled])
diff --git a/doc/README.tests b/doc/README.tests
index fa35803..79f51f6 100644
--- a/doc/README.tests
+++ b/doc/README.tests
@@ -40,3 +40,15 @@ Documentation for Autotest, including the AT_* macros used to define tests, can
be found in the autoconf manual at:
http://www.gnu.org/software/autoconf/manual/index.html
+
+Test coverage instrumentation can be enabled using the --enable-gcov option at
+the configure stage. Once the tools have been built and run with this option
+enabled, coverage data will be written to files in the source directories for
+use by tools such as gcov or lcov. For example, to generate a HTML report of
+testsuite code coverage, using lcov, in a directory named 'coverage':
+
+ ./autogen.sh
+ ./configure --enable-gcov
+ make check
+ lcov --directory . -c -o gfs2-utils.info
+ genhtml -o coverage gfs2-utils.info
9 years, 1 month
gfs2-utils: RHEL7 - libgfs2: Move old rgrp layout functions into fsck.gfs2
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=f2d9e5d0...
Commit: f2d9e5d0830609bc0e89e6c7e6d201d5f2265c71
Parent: f2efdb703a9b6f4ec9c5382df16d47e058fc63c7
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Wed Sep 17 16:19:07 2014 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Apr 1 16:51:34 2015 +0100
libgfs2: Move old rgrp layout functions into fsck.gfs2
fsck.gfs2 is now the only user of compute_rgrp_layout and how_many_rgrps
and it requires them for discovery of resource groups when the rindex is
unreliable. Move them out of libgfs2 and into fsck.gfs2. New code should
use lgfs2_rgrps_plan() instead.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/rgrepair.c | 118 +++++++++++++++++++++++++++++++++++++++++
gfs2/libgfs2/fs_geometry.c | 126 --------------------------------------------
gfs2/libgfs2/libgfs2.h | 4 --
3 files changed, 118 insertions(+), 130 deletions(-)
diff --git a/gfs2/fsck/rgrepair.c b/gfs2/fsck/rgrepair.c
index dd197d6..12e474b 100644
--- a/gfs2/fsck/rgrepair.c
+++ b/gfs2/fsck/rgrepair.c
@@ -590,6 +590,124 @@ static int gfs2_rindex_rebuild(struct gfs2_sbd *sdp, int *num_rgs,
return 0;
}
+#define DIV_RU(x, y) (((x) + (y) - 1) / (y))
+
+/**
+ * how_many_rgrps - figure out how many RG to put in a subdevice
+ * @w: the command line
+ * @dev: the device
+ *
+ * Returns: the number of RGs
+ */
+static uint64_t how_many_rgrps(struct gfs2_sbd *sdp, struct device *dev, int rgsize_specified)
+{
+ uint64_t nrgrp;
+ uint32_t rgblocks1, rgblocksn, bitblocks1, bitblocksn;
+ int bitmap_overflow = 0;
+
+ while (1) {
+ nrgrp = DIV_RU(dev->length, (sdp->rgsize << 20) / sdp->bsize);
+
+ /* check to see if the rg length overflows max # bitblks */
+ bitblocksn = rgblocks2bitblocks(sdp->bsize, dev->length / nrgrp, &rgblocksn);
+ /* calculate size of the first rgrp */
+ bitblocks1 = rgblocks2bitblocks(sdp->bsize, dev->length - (nrgrp - 1) * (dev->length / nrgrp),
+ &rgblocks1);
+ if (bitblocks1 > 2149 || bitblocksn > 2149) {
+ bitmap_overflow = 1;
+ if (sdp->rgsize <= GFS2_DEFAULT_RGSIZE) {
+ fprintf(stderr, "error: It is not possible "
+ "to use the entire device with "
+ "block size %u bytes.\n",
+ sdp->bsize);
+ exit(-1);
+ }
+ sdp->rgsize -= GFS2_DEFAULT_RGSIZE; /* smaller rgs */
+ continue;
+ }
+ if (bitmap_overflow ||
+ rgsize_specified || /* If user specified an rg size or */
+ nrgrp <= GFS2_EXCESSIVE_RGS || /* not an excessive # or */
+ sdp->rgsize >= 2048) /* we reached the max rg size */
+ break;
+
+ sdp->rgsize += GFS2_DEFAULT_RGSIZE; /* bigger rgs */
+ }
+
+ log_debug(" rg sz = %"PRIu32"\n nrgrp = %"PRIu64"\n", sdp->rgsize, nrgrp);
+
+ return nrgrp;
+}
+
+/**
+ * compute_rgrp_layout - figure out where the RG in a FS are
+ */
+static void compute_rgrp_layout(struct gfs2_sbd *sdp, struct osi_root *rgtree, int rgsize_specified)
+{
+ struct device *dev;
+ struct rgrp_tree *rl, *rlast = NULL;
+ struct osi_node *n, *next = NULL;
+ unsigned int rgrp = 0, nrgrp, rglength;
+ uint64_t rgaddr;
+
+ sdp->new_rgrps = 0;
+ dev = &sdp->device;
+
+ /* If this is a new file system, compute the length and number */
+ /* of rgs based on the size of the device. */
+ /* If we have existing RGs (i.e. gfs2_grow) find the last one. */
+ if (!rgtree->osi_node) {
+ dev->length -= sdp->sb_addr + 1;
+ nrgrp = how_many_rgrps(sdp, dev, rgsize_specified);
+ rglength = dev->length / nrgrp;
+ sdp->new_rgrps = nrgrp;
+ } else {
+ uint64_t old_length, new_chunk;
+
+ printf("Existing resource groups:\n");
+ for (rgrp = 0, n = osi_first(rgtree); n; n = next, rgrp++) {
+ next = osi_next(n);
+ rl = (struct rgrp_tree *)n;
+
+ printf("%d: start: %" PRIu64 " (0x%"
+ PRIx64 "), length = %"PRIu64" (0x%"
+ PRIx64 ")\n", rgrp + 1, rl->start, rl->start,
+ rl->length, rl->length);
+ rlast = rl;
+ }
+ rlast->start = rlast->ri.ri_addr;
+ rglength = rgrp_size(rlast);
+ rlast->length = rglength;
+ old_length = rlast->ri.ri_addr + rglength;
+ new_chunk = dev->length - old_length;
+ sdp->new_rgrps = new_chunk / rglength;
+ nrgrp = rgrp + sdp->new_rgrps;
+ }
+
+ if (rgrp < nrgrp)
+ printf("\nNew resource groups:\n");
+ for (; rgrp < nrgrp; rgrp++) {
+ if (rgrp) {
+ rgaddr = rlast->start + rlast->length;
+ rl = rgrp_insert(rgtree, rgaddr);
+ rl->length = rglength;
+ } else {
+ rgaddr = sdp->sb_addr + 1;
+ rl = rgrp_insert(rgtree, rgaddr);
+ rl->length = dev->length -
+ (nrgrp - 1) * (dev->length / nrgrp);
+ }
+ rl->start = rgaddr;
+ printf("%d: start: %" PRIu64 " (0x%"
+ PRIx64 "), length = %"PRIu64" (0x%"
+ PRIx64 ")\n", rgrp + 1, rl->start, rl->start,
+ rl->length, rl->length);
+ rlast = rl;
+ }
+
+ sdp->rgrps = nrgrp;
+}
+
/*
* gfs2_rindex_calculate - calculate what the rindex should look like
* in a perfect world (trust_lvl == open_minded)
diff --git a/gfs2/libgfs2/fs_geometry.c b/gfs2/libgfs2/fs_geometry.c
index c378dba..59b5ef7 100644
--- a/gfs2/libgfs2/fs_geometry.c
+++ b/gfs2/libgfs2/fs_geometry.c
@@ -15,132 +15,6 @@
#include "libgfs2.h"
#include "config.h"
-#define DIV_RU(x, y) (((x) + (y) - 1) / (y))
-
-/**
- * how_many_rgrps - figure out how many RG to put in a subdevice
- * @w: the command line
- * @dev: the device
- *
- * Returns: the number of RGs
- */
-
-uint64_t how_many_rgrps(struct gfs2_sbd *sdp, struct device *dev, int rgsize_specified)
-{
- uint64_t nrgrp;
- uint32_t rgblocks1, rgblocksn, bitblocks1, bitblocksn;
- int bitmap_overflow = 0;
-
- while (TRUE) {
- nrgrp = DIV_RU(dev->length, (sdp->rgsize << 20) / sdp->bsize);
-
- /* check to see if the rg length overflows max # bitblks */
- bitblocksn = rgblocks2bitblocks(sdp->bsize, dev->length / nrgrp, &rgblocksn);
- /* calculate size of the first rgrp */
- bitblocks1 = rgblocks2bitblocks(sdp->bsize, dev->length - (nrgrp - 1) * (dev->length / nrgrp),
- &rgblocks1);
- if (bitblocks1 > 2149 || bitblocksn > 2149) {
- bitmap_overflow = 1;
- if (sdp->rgsize <= GFS2_DEFAULT_RGSIZE) {
- fprintf(stderr, "error: It is not possible "
- "to use the entire device with "
- "block size %u bytes.\n",
- sdp->bsize);
- exit(-1);
- }
- sdp->rgsize -= GFS2_DEFAULT_RGSIZE; /* smaller rgs */
- continue;
- }
- if (bitmap_overflow ||
- rgsize_specified || /* If user specified an rg size or */
- nrgrp <= GFS2_EXCESSIVE_RGS || /* not an excessive # or */
- sdp->rgsize >= 2048) /* we reached the max rg size */
- break;
-
- sdp->rgsize += GFS2_DEFAULT_RGSIZE; /* bigger rgs */
- }
-
- if (cfg_debug)
- printf(" rg sz = %"PRIu32"\n nrgrp = %"PRIu64"\n",
- sdp->rgsize, nrgrp);
-
- return nrgrp;
-}
-
-/**
- * compute_rgrp_layout - figure out where the RG in a FS are
- * @w: the command line
- *
- * Returns: a list of rgrp_list_t structures
- */
-
-void compute_rgrp_layout(struct gfs2_sbd *sdp, struct osi_root *rgtree,
- int rgsize_specified)
-{
- struct device *dev;
- struct rgrp_tree *rl, *rlast = NULL;
- struct osi_node *n, *next = NULL;
- unsigned int rgrp = 0, nrgrp, rglength;
- uint64_t rgaddr;
-
- sdp->new_rgrps = 0;
- dev = &sdp->device;
-
- /* If this is a new file system, compute the length and number */
- /* of rgs based on the size of the device. */
- /* If we have existing RGs (i.e. gfs2_grow) find the last one. */
- if (!rgtree->osi_node) {
- dev->length -= sdp->sb_addr + 1;
- nrgrp = how_many_rgrps(sdp, dev, rgsize_specified);
- rglength = dev->length / nrgrp;
- sdp->new_rgrps = nrgrp;
- } else {
- uint64_t old_length, new_chunk;
-
- printf("Existing resource groups:\n");
- for (rgrp = 0, n = osi_first(rgtree); n; n = next, rgrp++) {
- next = osi_next(n);
- rl = (struct rgrp_tree *)n;
-
- printf("%d: start: %" PRIu64 " (0x%"
- PRIx64 "), length = %"PRIu64" (0x%"
- PRIx64 ")\n", rgrp + 1, rl->start, rl->start,
- rl->length, rl->length);
- rlast = rl;
- }
- rlast->start = rlast->ri.ri_addr;
- rglength = rgrp_size(rlast);
- rlast->length = rglength;
- old_length = rlast->ri.ri_addr + rglength;
- new_chunk = dev->length - old_length;
- sdp->new_rgrps = new_chunk / rglength;
- nrgrp = rgrp + sdp->new_rgrps;
- }
-
- if (rgrp < nrgrp)
- printf("\nNew resource groups:\n");
- for (; rgrp < nrgrp; rgrp++) {
- if (rgrp) {
- rgaddr = rlast->start + rlast->length;
- rl = rgrp_insert(rgtree, rgaddr);
- rl->length = rglength;
- } else {
- rgaddr = sdp->sb_addr + 1;
- rl = rgrp_insert(rgtree, rgaddr);
- rl->length = dev->length -
- (nrgrp - 1) * (dev->length / nrgrp);
- }
- rl->start = rgaddr;
- printf("%d: start: %" PRIu64 " (0x%"
- PRIx64 "), length = %"PRIu64" (0x%"
- PRIx64 ")\n", rgrp + 1, rl->start, rl->start,
- rl->length, rl->length);
- rlast = rl;
- }
-
- sdp->rgrps = nrgrp;
-}
-
/**
* Given a number of blocks in a resource group, return the number of blocks
* needed for bitmaps. Also calculate the adjusted number of free data blocks
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index d024e56..23ab210 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -425,10 +425,6 @@ extern int gfs2_set_bitmap(lgfs2_rgrp_t rg, uint64_t blkno, int state);
/* fs_geometry.c */
extern uint32_t rgblocks2bitblocks(const unsigned int bsize, const uint32_t rgblocks,
uint32_t *ri_data) __attribute__((nonnull(3)));
-extern uint64_t how_many_rgrps(struct gfs2_sbd *sdp, struct device *dev,
- int rgsize_specified);
-extern void compute_rgrp_layout(struct gfs2_sbd *sdp, struct osi_root *rgtree,
- int rgsize_specified);
extern int build_rgrps(struct gfs2_sbd *sdp, int write);
/* fs_ops.c */
9 years, 1 month
gfs2-utils: RHEL7 - Revert "gfs2-utils tests: Fix unit tests for RHEL7"
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=f2efdb70...
Commit: f2efdb703a9b6f4ec9c5382df16d47e058fc63c7
Parent: 0ae4bfefaaa4915f267ef0533ebc53d44ea4369e
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Fri Feb 20 11:12:21 2015 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Wed Apr 1 16:51:34 2015 +0100
Revert "gfs2-utils tests: Fix unit tests for RHEL7"
This reverts commit 9142cd526adfb9739b92419fc1faa0b4730e936d which was
an intermediate, RHEL7-only solution for the check-devel API mismatch
and has been obsoleted by 77322cb8c8d4a87a52cfeb6db781ac30da0b2edb
("gfs2-utils/tests: Fix unit tests for older check libraries") in the
master branch.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
tests/check_rgrp.c | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/tests/check_rgrp.c b/tests/check_rgrp.c
index 36dffe4..e5fca8d 100644
--- a/tests/check_rgrp.c
+++ b/tests/check_rgrp.c
@@ -5,10 +5,6 @@
// TODO: Remove this when the extern is removed from libgfs2
void print_it(const char *label, const char *fmt, const char *fmt2, ...) {}
-/* Older check-devel doesn't have these functions */
-#define ck_assert_ptr_ne(ptr, val) fail_unless(ptr != val)
-#define ck_assert_uint_eq(u1, u2) fail_unless(u1 == u2)
-
static lgfs2_rgrps_t mockup_rgrp(void)
{
struct gfs2_sbd *sdp;
9 years, 1 month
gfs2-utils: 3.1.8 annotated tag has been created
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=52691ad6...
Commit: 52691ad622842b9bffbc038b78bd6900dffe0bc4
Parent: 0000000000000000000000000000000000000000
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: 2015-04-07 13:15 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: 2015-04-07 13:15 +0000
annotated tag: 3.1.8 has been created
at 52691ad622842b9bffbc038b78bd6900dffe0bc4 (tag)
tagging 68b368b8c3cc168926820be922016bf2e40d51f5 (commit)
replaces 3.1.7
Version 3.1.8
Abhi Das (6):
fsck.gfs2: fix broken i_goal values in inodes
gfs2_convert: use correct i_goal values instead of zeros for inodes
tests: test for incorrect inode i_goal values
mkfs.gfs2: addendum to fix broken i_goal values in inodes
gfs2_utils: more gfs2_convert i_goal fixes
gfs2-utils: more fsck.gfs2 i_goal fixes
Andrew Price (58):
gfs2-utils tests: Build unit tests with consistent cpp flags
libgfs2: Move old rgrp layout functions into fsck.gfs2
gfs2-utils build: Add test coverage option
fsck.gfs2: Fix memory leak in pass2
gfs2_convert: Fix potential memory leaks in adjust_inode
gfs2_edit: Fix signed value used as array index in print_ld_blks
gfs2_edit: Set umask before calling mkstemp in savemetaopen()
gfs2_edit: Fix use-after-free in find_wrap_pt
libgfs2: Clean up broken rgrp length check
libgfs2: Remove superfluous NULL check from gfs2_rgrp_free
libgfs2: Fail fd comparison if the fds are negative
libgfs2: Fix check for O_RDONLY
fsck.gfs2: Remove dead code from scan_inode_list
mkfs.gfs2: Terminate lockproto and locktable strings explicitly
libgfs2: Add generic field assignment and print functions
gfs2_edit: Use metadata description to print and assign fields
gfs2l: Switch to lgfs2_field_assign
libgfs2: Remove device_name from struct gfs2_sbd
libgfs2: Remove path_name from struct gfs2_sbd
libgfs2: metafs_path improvements
gfs2_grow: Don't use PATH_MAX in main_grow
gfs2_jadd: Don't use fixed size buffers for paths
libgfs2: Remove orig_journals from struct gfs2_sbd
gfs2l: Check unchecked returns in openfs
gfs2-utils configure: Fix exit with failure condition
gfs2-utils configure: Remove checks for non-existent -W flags
gfs2_convert: Don't use a fixed sized buffer for device path
gfs2_edit: Add bounds checking for the journalN keyword
libgfs2: Make find_good_lh and jhead_scan static
Build gfs2_grow, gfs2_jadd and mkfs.gfs2 separately
gfs2-utils: Honour --sbindir
gfs2-utils configure: Use AC_HELP_STRING in help messages
fsck.gfs2: Improve reporting of pass timings
mkfs.gfs2: Revert default resource group size
gfs2-utils tests: Add keywords to tests
gfs2-utils tests: Shorten TESTSUITEFLAGS to TOPTS
gfs2-utils tests: Improve docs
gfs2-utils tests: Skip unit tests if check is not found
gfs2-utils tests: Document usage of convenience macros
fsck.gfs2: Fix 'initializer element is not constant' build error
fsck.gfs2: Simplify bad_journalname
gfs2-utils build: Add a configure script summary
mkfs.gfs2: Remove unused declarations
gfs2-utils/tests: Fix unit tests for older check libraries
fsck.gfs2: Fix memory leaks in pass1_process_rgrp
libgfs2: Use the correct parent for rgrp tree insertion
libgfs2: Remove some obsolete function declarations
gfs2-utils: Move metafs handling into gfs2/mkfs/
gfs2_grow/jadd: Use a matching context mount option in mount_gfs2_meta
gfs2_edit savemeta: Don't read rgrps twice
fsck.gfs2: Fetch directory inodes early in pass2()
libgfs2: Remove some unused data structures
gfs2-utils: Tidy up Makefile.am files
gfs2-utils build: Remove superfluous passive header checks
gfs2-utils: Consolidate some "bad constants" strings
gfs2-utils: Update translation template
libgfs2: Fix potential NULL deref in linked_leaf_search()
gfs2_grow: Put back the definition of FALLOC_FL_KEEP_SIZE
Bob Peterson (15):
fsck.gfs2: Detect and correct corrupt journals
fsck.gfs2: Change basic dentry checks for too long of file names
fsck.gfs2: Print out block number when pass3 finds a bad directory
fsck.gfs2: Adjust when hash table is doubled
fsck.gfs2: Revise "undo" processing
fsck.gfs2: remove duplicate designation during undo
fsck.gfs2: Fix a use-after-free in pass2
fsck.gfs2: fix double-free bug
fsck.gfs2: Reprocess nodes if anything changed
fsck.gfs2: Rebuild system files if they don't have the SYS bit set
fsck.gfs2: Check the integrity of the journal index
fsck.gfs2: rgrp block count reform
fsck.gfs2: Change block_map to match bitmap
fsck.gfs2: Fix journal sequence number reporting problem
fsck.gfs2: Fix coverity error in pass4.c
9 years, 1 month
gfs2-utils: master - gfs2_grow: Put back the definition of FALLOC_FL_KEEP_SIZE
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=68b368b8...
Commit: 68b368b8c3cc168926820be922016bf2e40d51f5
Parent: b663012772ab7d19dcb8e456e48263806e034549
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Apr 7 12:00:08 2015 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Tue Apr 7 12:10:01 2015 +0100
gfs2_grow: Put back the definition of FALLOC_FL_KEEP_SIZE
An #include <linux/falloc.h> was removed in commit 14193bb. Although
fallocate(2) support was added to glibc 2.10, the FALLOC_FL_*
definitions were not added until 2.18. This means that gfs2-utils failed
to build on RHEL7 which has glibc 2.17. Add back the FALLOC_FL_KEEP_SIZE
definition in main_grow.c to fix that.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/mkfs/main_grow.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
index cc32585..4757ac7 100644
--- a/gfs2/mkfs/main_grow.c
+++ b/gfs2/mkfs/main_grow.c
@@ -38,6 +38,9 @@ int print_level = MSG_NOTICE;
extern int create_new_inode(struct gfs2_sbd *sdp);
extern int rename2system(struct gfs2_sbd *sdp, char *new_dir, char *new_name);
+#ifndef FALLOC_FL_KEEP_SIZE
+#define FALLOC_FL_KEEP_SIZE 0x01
+#endif
#ifndef BLKDISCARD
#define BLKDISCARD _IO(0x12,119)
#endif
9 years, 1 month
gfs2-utils: master - libgfs2: Fix potential NULL deref in linked_leaf_search()
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=b6630127...
Commit: b663012772ab7d19dcb8e456e48263806e034549
Parent: a34a8c49dbc0a710ca67e83fbc00bd54db3b41c8
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Fri Apr 3 00:35:01 2015 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Fri Apr 3 00:35:01 2015 +0100
libgfs2: Fix potential NULL deref in linked_leaf_search()
Spotted by coverity: "Null-checking "bh" suggests that it may be null,
but it has already been dereferenced on all paths leading to the check."
Also remove some dangling whitespace from that function.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/libgfs2/fs_ops.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
index b84b7f4..2ae27d1 100644
--- a/gfs2/libgfs2/fs_ops.c
+++ b/gfs2/libgfs2/fs_ops.c
@@ -1669,22 +1669,22 @@ static int linked_leaf_search(struct gfs2_inode *dip, const char *filename,
case 0:
*bh_out = bh;
return 0;
-
+
case -ENOENT:
break;
-
+
default:
if (bh && bh != dip->i_bh)
brelse(bh);
return error;
}
-
+
error = get_next_leaf(dip, bh, &bh_next);
- } while (!error);
-
+ } while (!error && bh_next != NULL);
+
if (bh && bh != dip->i_bh)
brelse(bh);
-
+
return error;
}
9 years, 1 month
gfs2-utils: master - gfs2-utils: Update translation template
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=a34a8c49...
Commit: a34a8c49dbc0a710ca67e83fbc00bd54db3b41c8
Parent: 743cbccc29855e69f0eefa741032a2684ea42bb1
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Thu Apr 2 16:29:49 2015 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Thu Apr 2 16:29:49 2015 +0100
gfs2-utils: Update translation template
Also add metafs.c to the list of translated files.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
po/POTFILES.in | 1 +
po/gfs2-utils.pot | 2175 ++++++++++++++++++++++++++++-------------------------
2 files changed, 1166 insertions(+), 1010 deletions(-)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 0e5f57e..b6cc15b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -2,6 +2,7 @@ gfs2/mkfs/main_mkfs.c
gfs2/mkfs/gfs2_mkfs.h
gfs2/mkfs/main_grow.c
gfs2/mkfs/main_jadd.c
+gfs2/mkfs/metafs.c
gfs2/tune/main.c
gfs2/tune/super.c
gfs2/tune/tunegfs2.h
diff --git a/po/gfs2-utils.pot b/po/gfs2-utils.pot
index edecdea..4bf21bf 100644
--- a/po/gfs2-utils.pot
+++ b/po/gfs2-utils.pot
@@ -1,13 +1,14 @@
-# Translation template for gfs2-utils.
+# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Red Hat, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: gfs2-utils master\n"
"Report-Msgid-Bugs-To: linux-cluster(a)redhat.com\n"
-"POT-Creation-Date: 2014-09-05 12:22+0100\n"
+"POT-Creation-Date: 2015-04-02 16:28+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -17,231 +18,231 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. Translators: This is a usage string printed with --help.
-#. <size> and <number> here are to commandline parameters,
+#. <size> and <number> here are the commandline parameters,
#. e.g. mkfs.gfs2 -b <size> -j <number> /dev/sda
-#: gfs2/mkfs/main_mkfs.c:52 gfs2/mkfs/main_mkfs.c:53 gfs2/mkfs/main_mkfs.c:56
-#: gfs2/mkfs/main_mkfs.c:63
+#: gfs2/mkfs/main_mkfs.c:40 gfs2/mkfs/main_mkfs.c:41 gfs2/mkfs/main_mkfs.c:44
+#: gfs2/mkfs/main_mkfs.c:51
msgid "<size>"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:52
+#: gfs2/mkfs/main_mkfs.c:40
msgid "File system block size, in bytes"
msgstr ""
#. Translators: This is a usage string printed with --help.
-#. <size> and <number> here are to commandline parameters,
+#. <size> and <number> here are the commandline parameters,
#. e.g. gfs2_jadd -j <number> /dev/sda
-#: gfs2/mkfs/main_mkfs.c:53 gfs2/mkfs/main_jadd.c:88
+#: gfs2/mkfs/main_mkfs.c:41 gfs2/mkfs/main_jadd.c:120
msgid "Size of quota change file, in megabytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:54 gfs2/mkfs/main_jadd.c:89
+#: gfs2/mkfs/main_mkfs.c:42 gfs2/mkfs/main_jadd.c:121
msgid "Enable debugging code"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:55 gfs2/mkfs/main_mkfs.c:87 gfs2/mkfs/main_jadd.c:90
+#: gfs2/mkfs/main_mkfs.c:43 gfs2/mkfs/main_mkfs.c:75 gfs2/mkfs/main_jadd.c:122
msgid "Display this help, then exit"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:56 gfs2/mkfs/main_jadd.c:91
+#: gfs2/mkfs/main_mkfs.c:44 gfs2/mkfs/main_jadd.c:123
msgid "Size of journals, in megabytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:57
+#: gfs2/mkfs/main_mkfs.c:45
msgid "<number>"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:57 gfs2/mkfs/main_jadd.c:92
+#: gfs2/mkfs/main_mkfs.c:45 gfs2/mkfs/main_jadd.c:124
msgid "Number of journals"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:58
+#: gfs2/mkfs/main_mkfs.c:46
msgid "Don't try to discard unused blocks"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:59
+#: gfs2/mkfs/main_mkfs.c:47
msgid "Don't ask for confirmation"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:60
+#: gfs2/mkfs/main_mkfs.c:48
msgid "<key>[=<value>][,...]"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:60
+#: gfs2/mkfs/main_mkfs.c:48
msgid "Specify extended options. See '-o help'."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:61 gfs2/mkfs/main_mkfs.c:64
+#: gfs2/mkfs/main_mkfs.c:49 gfs2/mkfs/main_mkfs.c:52
msgid "<name>"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:61
+#: gfs2/mkfs/main_mkfs.c:49
msgid "Name of the locking protocol"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:62 gfs2/mkfs/main_jadd.c:93
+#: gfs2/mkfs/main_mkfs.c:50 gfs2/mkfs/main_jadd.c:125
msgid "Don't print anything"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:63
+#: gfs2/mkfs/main_mkfs.c:51
msgid "Size of resource groups, in megabytes"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:64
+#: gfs2/mkfs/main_mkfs.c:52
msgid "Name of the lock table"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:65
+#: gfs2/mkfs/main_mkfs.c:53
msgid "Display program version information, then exit"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:69 gfs2/mkfs/main_grow.c:78 gfs2/mkfs/main_jadd.c:98
+#: gfs2/mkfs/main_mkfs.c:57 gfs2/mkfs/main_grow.c:77 gfs2/mkfs/main_jadd.c:130
#: gfs2/tune/main.c:56
msgid "Usage:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:70 gfs2/mkfs/main_grow.c:79 gfs2/mkfs/main_jadd.c:99
+#: gfs2/mkfs/main_mkfs.c:58 gfs2/mkfs/main_grow.c:78 gfs2/mkfs/main_jadd.c:131
msgid "options"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:70 gfs2/mkfs/main_grow.c:79 gfs2/mkfs/main_jadd.c:99
+#: gfs2/mkfs/main_mkfs.c:58 gfs2/mkfs/main_grow.c:78 gfs2/mkfs/main_jadd.c:131
#: gfs2/tune/main.c:57
msgid "device"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:70
+#: gfs2/mkfs/main_mkfs.c:58
msgid "size"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:71
+#: gfs2/mkfs/main_mkfs.c:59
#, c-format
msgid ""
"Create a gfs2 file system on a device. If a size, in blocks, is not "
"specified, the whole device will be used."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:73 gfs2/mkfs/main_grow.c:81 gfs2/mkfs/main_jadd.c:101
+#: gfs2/mkfs/main_mkfs.c:61 gfs2/mkfs/main_grow.c:80 gfs2/mkfs/main_jadd.c:133
msgid "Options:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:88
+#: gfs2/mkfs/main_mkfs.c:76
msgid "Specify the stripe width of the device, overriding probed values"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:89
+#: gfs2/mkfs/main_mkfs.c:77
msgid "Specify the stripe unit of the device, overriding probed values"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:90
+#: gfs2/mkfs/main_mkfs.c:78
msgid "Disable or enable alignment of resource groups"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:93
+#: gfs2/mkfs/main_mkfs.c:81
#, c-format
msgid "Extended options:\n"
msgstr ""
#. Translators: "discard" is a request sent to a storage device to
#. * discard a range of blocks.
-#: gfs2/mkfs/main_mkfs.c:184
+#: gfs2/mkfs/main_mkfs.c:172
#, c-format
msgid "Issuing discard request: range: %llu - %llu..."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:189
+#: gfs2/mkfs/main_mkfs.c:177
msgid "error"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:193
+#: gfs2/mkfs/main_mkfs.c:181
#, c-format
msgid "Successful.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:216
+#: gfs2/mkfs/main_mkfs.c:204
#, c-format
msgid "Block size not available yet.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:243
+#: gfs2/mkfs/main_mkfs.c:231
#, c-format
msgid "Missing argument to '%s'\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:248
+#: gfs2/mkfs/main_mkfs.c:236
#, c-format
msgid "Value of '%s' is invalid\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:262
+#: gfs2/mkfs/main_mkfs.c:250
#, c-format
msgid "Option '%s' must be either 1 or 0\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:273
+#: gfs2/mkfs/main_mkfs.c:261
#, c-format
msgid "Missing argument to '-o' option\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:288
+#: gfs2/mkfs/main_mkfs.c:276
#, c-format
msgid "Invalid option '%s'\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:358 gfs2/mkfs/main_grow.c:123
-#: gfs2/mkfs/main_jadd.c:156 gfs2/fsck/main.c:110 gfs2/fsck/main.c:121
+#: gfs2/mkfs/main_mkfs.c:346 gfs2/mkfs/main_grow.c:122
+#: gfs2/mkfs/main_jadd.c:188 gfs2/fsck/main.c:110 gfs2/fsck/main.c:121
#, c-format
msgid "Please use '-h' for help.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:371
+#: gfs2/mkfs/main_mkfs.c:359
msgid "More than one device specified (try -h for help)\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:374 gfs2/mkfs/main_jadd.c:163 gfs2/tune/main.c:93
+#: gfs2/mkfs/main_mkfs.c:362 gfs2/mkfs/main_jadd.c:195 gfs2/tune/main.c:93
#, c-format
msgid "Invalid option: %c\n"
msgstr ""
#. Translators: A lock table is a string identifying a gfs2 file system
#. * in a cluster, e.g. cluster_name:fs_name
-#: gfs2/mkfs/main_mkfs.c:392 gfs2/tune/super.c:184
+#: gfs2/mkfs/main_mkfs.c:380 gfs2/tune/super.c:184
msgid "Invalid lock table:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:399
+#: gfs2/mkfs/main_mkfs.c:387
#, c-format
msgid "No lock table specified.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:404
+#: gfs2/mkfs/main_mkfs.c:392
msgid "invalid character"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:409 gfs2/tune/super.c:194
+#: gfs2/mkfs/main_mkfs.c:397 gfs2/tune/super.c:194
msgid "missing colon"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:412
+#: gfs2/mkfs/main_mkfs.c:400
msgid "cluster name is missing"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:414
+#: gfs2/mkfs/main_mkfs.c:402
msgid "cluster name is too long"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:418 gfs2/tune/super.c:202
+#: gfs2/mkfs/main_mkfs.c:406 gfs2/tune/super.c:202
msgid "contains more than one colon"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:420
+#: gfs2/mkfs/main_mkfs.c:408
msgid "file system name is missing"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:422 gfs2/tune/super.c:198
+#: gfs2/mkfs/main_mkfs.c:410 gfs2/tune/super.c:198
msgid "file system name is too long"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:424 gfs2/tune/super.c:168 gfs2/tune/super.c:174
+#: gfs2/mkfs/main_mkfs.c:412 gfs2/tune/super.c:168 gfs2/tune/super.c:174
#, c-format
msgid "Invalid lock protocol: %s\n"
msgstr ""
@@ -251,443 +252,468 @@ msgstr ""
#. translated to match one of the letters in the pattern printed by
#. `locale -k yesexpr` and one of the letters in the pattern printed by
#. `locale -k noexpr`
-#: gfs2/mkfs/main_mkfs.c:441
+#: gfs2/mkfs/main_mkfs.c:429
#, c-format
msgid "Are you sure you want to proceed? [y/n]"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:451
+#: gfs2/mkfs/main_mkfs.c:439
msgid "Aborted.\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:489
+#: gfs2/mkfs/main_mkfs.c:477
#, c-format
msgid "Block size must be a power of two between 512 and %d\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:493
+#: gfs2/mkfs/main_mkfs.c:481
#, c-format
msgid "Error: Block size %d is less than minimum logical block size (%lu).\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:498
+#: gfs2/mkfs/main_mkfs.c:486
#, c-format
msgid ""
"Warning: Block size %d is inefficient because it is less than the physical "
"block size (%lu).\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:509
+#: gfs2/mkfs/main_mkfs.c:497
#, c-format
msgid "No device specified. Use -h for help\n"
msgstr ""
#. Translators: gfs2 file systems are split into equal sized chunks called
#. resource groups. We're checking that the user gave a valid size for them.
-#: gfs2/mkfs/main_mkfs.c:518
+#: gfs2/mkfs/main_mkfs.c:506
msgid "bad resource group size\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:521 gfs2/mkfs/main_jadd.c:190
+#: gfs2/mkfs/main_mkfs.c:509 gfs2/mkfs/main_jadd.c:222
msgid "no journals specified\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:524 gfs2/mkfs/main_jadd.c:192
+#: gfs2/mkfs/main_mkfs.c:512 gfs2/mkfs/main_jadd.c:224
msgid "bad journal size\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:527 gfs2/mkfs/main_jadd.c:194
+#: gfs2/mkfs/main_mkfs.c:515 gfs2/mkfs/main_jadd.c:226
msgid "bad quota change size\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:530
+#: gfs2/mkfs/main_mkfs.c:518
#, c-format
msgid "Stripe unit and stripe width must be specified together\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:537 gfs2/mkfs/main_grow.c:313
+#: gfs2/mkfs/main_mkfs.c:525 gfs2/mkfs/main_grow.c:311
msgid "Device:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:538
+#: gfs2/mkfs/main_mkfs.c:526
msgid "Block size:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:539 gfs2/mkfs/main_mkfs.c:783
+#: gfs2/mkfs/main_mkfs.c:527 gfs2/mkfs/main_mkfs.c:771
msgid "Device size:"
msgstr ""
#. Translators: "GB" here means "gigabytes"
-#: gfs2/mkfs/main_mkfs.c:541 gfs2/mkfs/main_mkfs.c:544
-#: gfs2/mkfs/main_mkfs.c:784
+#: gfs2/mkfs/main_mkfs.c:529 gfs2/mkfs/main_mkfs.c:532
+#: gfs2/mkfs/main_mkfs.c:772
msgid "GB"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:542 gfs2/mkfs/main_mkfs.c:544
-#: gfs2/mkfs/main_mkfs.c:785
+#: gfs2/mkfs/main_mkfs.c:530 gfs2/mkfs/main_mkfs.c:532
+#: gfs2/mkfs/main_mkfs.c:773
msgid "blocks"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:543
+#: gfs2/mkfs/main_mkfs.c:531
msgid "Filesystem size:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:545
+#: gfs2/mkfs/main_mkfs.c:533
msgid "Journals:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:546
+#: gfs2/mkfs/main_mkfs.c:534
msgid "Resource groups:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:547
+#: gfs2/mkfs/main_mkfs.c:535
msgid "Locking protocol:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:548
+#: gfs2/mkfs/main_mkfs.c:536
msgid "Lock table:"
msgstr ""
#. Translators: "UUID" = universally unique identifier.
-#: gfs2/mkfs/main_mkfs.c:551
+#: gfs2/mkfs/main_mkfs.c:539
msgid "UUID:"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:561
+#: gfs2/mkfs/main_mkfs.c:549
msgid "Failed to lstat the device"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:567
+#: gfs2/mkfs/main_mkfs.c:555
msgid "Could not find the absolute path of the device"
msgstr ""
#. Translators: Example: "/dev/vg/lv is a symbolic link to /dev/dm-2"
-#: gfs2/mkfs/main_mkfs.c:571
+#: gfs2/mkfs/main_mkfs.c:559
#, c-format
msgid "%s is a symbolic link to %s\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:574
+#: gfs2/mkfs/main_mkfs.c:562
#, c-format
msgid "This will destroy any data on %s\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:586
+#: gfs2/mkfs/main_mkfs.c:574
#, c-format
msgid "Stripe unit (%lu) must be a multiple of block size (%u)\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:590
+#: gfs2/mkfs/main_mkfs.c:578
#, c-format
msgid "Stripe width (%lu) must be a multiple of stripe unit (%lu)\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:607 gfs2/mkfs/main_grow.c:398
+#: gfs2/mkfs/main_mkfs.c:595 gfs2/mkfs/main_grow.c:414
msgid "Could not initialise resource groups"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:629 gfs2/mkfs/main_grow.c:224
+#: gfs2/mkfs/main_mkfs.c:617 gfs2/mkfs/main_grow.c:223
msgid "Failed to write resource group"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:651
+#: gfs2/mkfs/main_mkfs.c:639
msgid "Failed to create resource group index entry"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:660 gfs2/mkfs/main_grow.c:216
+#: gfs2/mkfs/main_mkfs.c:648 gfs2/mkfs/main_grow.c:215
msgid "Failed to create resource group"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:684
+#: gfs2/mkfs/main_mkfs.c:672
#, c-format
msgid "Placing resource group for journal%u\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:694
+#: gfs2/mkfs/main_mkfs.c:682
msgid "Failed to allocate space for bitmap buffer"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:704
+#: gfs2/mkfs/main_mkfs.c:692
#, c-format
msgid "Failed to allocate space for journal %u\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:719
+#: gfs2/mkfs/main_mkfs.c:707
#, c-format
msgid "Failed to write journal %u\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:725
+#: gfs2/mkfs/main_mkfs.c:713
#, c-format
msgid "Failed to write data blocks for journal %u\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:756 gfs2/mkfs/main_mkfs.c:920
-#: gfs2/fsck/rgrepair.c:636
+#: gfs2/mkfs/main_mkfs.c:744 gfs2/mkfs/main_mkfs.c:912
+#: gfs2/fsck/rgrepair.c:754
#, c-format
msgid "Failed to build resource groups\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:776
+#: gfs2/mkfs/main_mkfs.c:764 gfs2/mkfs/main_grow.c:384
+#: gfs2/mkfs/main_jadd.c:534 gfs2/convert/gfs2_convert.c:1580
+#: gfs2/convert/gfs2_convert.c:1602 gfs2/convert/gfs2_convert.c:1608
+#: gfs2/convert/gfs2_convert.c:1619 gfs2/convert/gfs2_convert.c:1625
+#: gfs2/convert/gfs2_convert.c:2257 gfs2/fsck/initialize.c:1304
msgid "Failed to compute file system constants"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:782
+#: gfs2/mkfs/main_mkfs.c:770
#, c-format
msgid "Specified size is bigger than the device."
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:800 gfs2/mkfs/main_mkfs.c:805
-#: gfs2/mkfs/main_grow.c:149 gfs2/mkfs/main_grow.c:160
+#: gfs2/mkfs/main_mkfs.c:788 gfs2/mkfs/main_mkfs.c:793
+#: gfs2/mkfs/main_grow.c:148 gfs2/mkfs/main_grow.c:159
#, c-format
msgid "Failed to create probe\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:811
+#: gfs2/mkfs/main_mkfs.c:799
#, c-format
msgid "Failed to probe device\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:819
+#: gfs2/mkfs/main_mkfs.c:807
#, c-format
msgid "It appears to contain an existing filesystem (%s)\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:821
+#: gfs2/mkfs/main_mkfs.c:809
#, c-format
msgid "It appears to contain a partition table (%s).\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:861
+#: gfs2/mkfs/main_mkfs.c:849
#, c-format
msgid "Device '%s' is too small\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:865
+#: gfs2/mkfs/main_mkfs.c:853
#, c-format
msgid "'%s' is not a block device or regular file\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:897
+#: gfs2/mkfs/main_mkfs.c:889
#, c-format
msgid "File system options:\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:927 gfs2/mkfs/main_mkfs.c:934
-#: gfs2/mkfs/main_mkfs.c:940 gfs2/mkfs/main_mkfs.c:945
-#: gfs2/mkfs/main_mkfs.c:951 gfs2/mkfs/main_mkfs.c:957
-#: gfs2/mkfs/main_mkfs.c:962
+#: gfs2/mkfs/main_mkfs.c:919 gfs2/mkfs/main_mkfs.c:926
+#: gfs2/mkfs/main_mkfs.c:932 gfs2/mkfs/main_mkfs.c:937
+#: gfs2/mkfs/main_mkfs.c:943 gfs2/mkfs/main_mkfs.c:949
+#: gfs2/mkfs/main_mkfs.c:954
#, c-format
msgid "Error building '%s': %s\n"
msgstr ""
-#: gfs2/mkfs/main_mkfs.c:984
+#: gfs2/mkfs/main_mkfs.c:978
msgid "Failed to write superblock\n"
msgstr ""
-#: gfs2/mkfs/main.c:51
-msgid "Unknown mode\n"
-msgstr ""
-
-#: gfs2/mkfs/main_grow.c:70
+#: gfs2/mkfs/main_grow.c:69
msgid "Display this usage information"
msgstr ""
-#: gfs2/mkfs/main_grow.c:71
+#: gfs2/mkfs/main_grow.c:70
msgid "Quiet, reduce verbosity"
msgstr ""
-#: gfs2/mkfs/main_grow.c:72
+#: gfs2/mkfs/main_grow.c:71
msgid "Do everything except update file system"
msgstr ""
-#: gfs2/mkfs/main_grow.c:73
+#: gfs2/mkfs/main_grow.c:72
msgid "Display version information"
msgstr ""
-#: gfs2/mkfs/main_grow.c:74
+#: gfs2/mkfs/main_grow.c:73
msgid "Increase verbosity"
msgstr ""
-#: gfs2/mkfs/main_grow.c:80
+#: gfs2/mkfs/main_grow.c:79
#, c-format
msgid ""
"Expands a GFS2 file system after the device containing the file system has "
"been expanded"
msgstr ""
-#: gfs2/mkfs/main_grow.c:102
+#: gfs2/mkfs/main_grow.c:101
#, c-format
msgid "%s %s (built %s %s)\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:113
+#: gfs2/mkfs/main_grow.c:112
#, c-format
msgid "(Test mode - file system will not be changed)\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:126
+#: gfs2/mkfs/main_grow.c:125
#, c-format
msgid "Invalid option '%c'\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:155
+#: gfs2/mkfs/main_grow.c:154
#, c-format
msgid "fstat failed\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:262
+#: gfs2/mkfs/main_grow.c:261
#, c-format
msgid "%d new rindex entries.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:269
+#: gfs2/mkfs/main_grow.c:268
#, c-format
msgid "Incorrect rindex size. Want %ld (%d resource groups), have %ld\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:277
+#: gfs2/mkfs/main_grow.c:276
msgid "Error writing first new rindex entry; aborted.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:285
+#: gfs2/mkfs/main_grow.c:284
msgid "Error writing new rindex entries; aborted.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:300
+#: gfs2/mkfs/main_grow.c:299
#, c-format
msgid "truncating rindex to %ld entries\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:312
+#: gfs2/mkfs/main_grow.c:310
msgid "Mount point:"
msgstr ""
-#: gfs2/mkfs/main_grow.c:314
+#: gfs2/mkfs/main_grow.c:312
msgid "Size:"
msgstr ""
-#: gfs2/mkfs/main_grow.c:316
+#: gfs2/mkfs/main_grow.c:314
msgid "New resource group size:"
msgstr ""
-#: gfs2/mkfs/main_grow.c:317
+#: gfs2/mkfs/main_grow.c:315
msgid "Length:"
msgstr ""
-#: gfs2/mkfs/main_grow.c:320
+#: gfs2/mkfs/main_grow.c:318
#, c-format
msgid "The file system will grow by %lluMB.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:349 gfs2/mkfs/main_jadd.c:502
+#: gfs2/mkfs/main_grow.c:328
+msgid "Failed to open rindex"
+msgstr ""
+
+#: gfs2/mkfs/main_grow.c:334
#, c-format
-msgid "Error looking up mount '%s': %s\n"
+msgid "Please run fsck.gfs2\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:353 gfs2/mkfs/main_jadd.c:506
+#: gfs2/mkfs/main_grow.c:369 gfs2/mkfs/main_jadd.c:514
#, c-format
-msgid "%s: not a mounted gfs2 file system\n"
+msgid "Error looking up mount '%s': %s\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:366 gfs2/mkfs/main_jadd.c:520
-msgid "Bad constants (1)"
+#: gfs2/mkfs/main_grow.c:373 gfs2/mkfs/main_jadd.c:518
+#, c-format
+msgid "%s: not a mounted gfs2 file system\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:370
+#: gfs2/mkfs/main_grow.c:388
#, c-format
msgid "Error reading superblock.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:374
+#: gfs2/mkfs/main_grow.c:392
#, c-format
msgid "cannot grow gfs1 filesystem\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:379
+#: gfs2/mkfs/main_grow.c:398
msgid "Failed to mount GFS2 meta file system"
msgstr ""
-#: gfs2/mkfs/main_grow.c:387
-msgid "GFS2 rindex not found. Please run fsck.gfs2.\n"
-msgstr ""
-
-#: gfs2/mkfs/main_grow.c:393
+#: gfs2/mkfs/main_grow.c:409
msgid "Could not read master directory"
msgstr ""
-#: gfs2/mkfs/main_grow.c:407
+#: gfs2/mkfs/main_grow.c:423
#, c-format
msgid "Gathering resource group information for %s\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:410
+#: gfs2/mkfs/main_grow.c:426
msgid "Failed to scan existing resource groups"
msgstr ""
-#: gfs2/mkfs/main_grow.c:422
+#: gfs2/mkfs/main_grow.c:438
msgid "Could not initialise new resource groups"
msgstr ""
-#: gfs2/mkfs/main_grow.c:429
+#: gfs2/mkfs/main_grow.c:445
msgid "The calculated resource group size is too small.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:430
+#: gfs2/mkfs/main_grow.c:446
#, c-format
msgid "%s has not grown.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:452
+#: gfs2/mkfs/main_grow.c:468
msgid "gfs2_grow interrupted.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:455
+#: gfs2/mkfs/main_grow.c:471
msgid "gfs2_grow complete.\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:94
+#: gfs2/mkfs/main_jadd.c:72
+msgid "Failed to allocate new path"
+msgstr ""
+
+#: gfs2/mkfs/main_jadd.c:126
msgid "Display version information, then exit"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:100
+#: gfs2/mkfs/main_jadd.c:132
#, c-format
msgid "Adds journals to a GFS2 file system."
msgstr ""
-#: gfs2/mkfs/main_jadd.c:172
+#: gfs2/mkfs/main_jadd.c:204
msgid "no path specified (try -h for help)\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:175
+#: gfs2/mkfs/main_jadd.c:207
#, c-format
msgid "Unrecognized argument: %s\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:178
+#: gfs2/mkfs/main_jadd.c:210
#, c-format
-msgid "Command Line Arguments:\n"
+msgid "Command line arguments:\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:210
+#: gfs2/mkfs/main_jadd.c:236
#, c-format
msgid "Filesystem: %s\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:211
+#: gfs2/mkfs/main_jadd.c:237
#, c-format
-msgid "Old Journals: %u\n"
+msgid "Old journals: %u\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:212
+#: gfs2/mkfs/main_jadd.c:238
#, c-format
-msgid "New Journals: %u\n"
+msgid "New journals: %u\n"
msgstr ""
-#: gfs2/mkfs/main_jadd.c:402
+#: gfs2/mkfs/main_jadd.c:416
msgid "No journals found. Did you run mkfs.gfs2 correctly?\n"
msgstr ""
+#: gfs2/mkfs/main_jadd.c:529
+msgid "Failed to build paths"
+msgstr ""
+
+#: gfs2/mkfs/metafs.c:26
+#, c-format
+msgid "Trying to get admin lock..."
+msgstr ""
+
+#: gfs2/mkfs/metafs.c:38
+#, c-format
+msgid "locked.\n"
+msgstr ""
+
+#. Translators: the first %s here is a path, the second is an error message
+#: gfs2/mkfs/metafs.c:86
+#, c-format
+msgid "Could not unmount %s: %s\n"
+msgstr ""
+
#: gfs2/tune/main.c:56
msgid "label"
msgstr ""
@@ -779,410 +805,404 @@ msgstr ""
msgid "too long"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:516
+#: gfs2/convert/gfs2_convert.c:517
msgid "Error: Can't allocate memory for indirect block fix\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:523 gfs2/convert/gfs2_convert.c:558
-#: gfs2/convert/gfs2_convert.c:658
+#: gfs2/convert/gfs2_convert.c:524 gfs2/convert/gfs2_convert.c:559
+#: gfs2/convert/gfs2_convert.c:661
msgid "Error: Can't allocate memory for file conversion.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:551 gfs2/convert/gfs2_convert.c:652
+#: gfs2/convert/gfs2_convert.c:552 gfs2/convert/gfs2_convert.c:655
msgid "Error: Can't allocate memory for indirect block fix.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:797 gfs2/convert/gfs2_convert.c:832
-#: gfs2/convert/gfs2_convert.c:879
+#: gfs2/convert/gfs2_convert.c:805 gfs2/convert/gfs2_convert.c:840
+#: gfs2/convert/gfs2_convert.c:887
msgid "Error: out of memory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:861 gfs2/fsck/initialize.c:899
-#: gfs2/fsck/initialize.c:1026
+#: gfs2/convert/gfs2_convert.c:869 gfs2/fsck/initialize.c:898
+#: gfs2/fsck/initialize.c:1025
#, c-format
msgid "Error reading inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1023
+#: gfs2/convert/gfs2_convert.c:1034
msgid "Converting inodes.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1042 gfs2/convert/gfs2_convert.c:1098
+#: gfs2/convert/gfs2_convert.c:1053 gfs2/convert/gfs2_convert.c:1109
#, c-format
msgid "\r%llu inodes from %d rgs converted."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1141
+#: gfs2/convert/gfs2_convert.c:1152
msgid "Error retrieving directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1166 gfs2/convert/gfs2_convert.c:2218
+#: gfs2/convert/gfs2_convert.c:1177 gfs2/convert/gfs2_convert.c:2221
#, c-format
msgid "\r%llu directories, %llu dirents fixed."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1177
+#: gfs2/convert/gfs2_convert.c:1188
#, c-format
msgid "Error retrieving inode 0x%llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1271
+#: gfs2/convert/gfs2_convert.c:1282
msgid "fix_one_directory_exhash: error reading directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1287
+#: gfs2/convert/gfs2_convert.c:1298
#, c-format
msgid "Error reading leaf %llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1317
+#: gfs2/convert/gfs2_convert.c:1328
msgid "Error fixing exhash directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1324
+#: gfs2/convert/gfs2_convert.c:1335
msgid "Error fixing linear directory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1351
+#: gfs2/convert/gfs2_convert.c:1362
msgid ""
"\n"
"Fixing file and directory information.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1366
+#: gfs2/convert/gfs2_convert.c:1377
msgid "Error processing directory\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1402 gfs2/convert/gfs2_convert.c:1408
+#: gfs2/convert/gfs2_convert.c:1413 gfs2/convert/gfs2_convert.c:1419
#, c-format
msgid "Error retrieving inode at block %llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1429
+#: gfs2/convert/gfs2_convert.c:1440
msgid "Error trying to fix cdpn dentry\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1463
+#: gfs2/convert/gfs2_convert.c:1474
msgid ""
"The size reported in the journal index inode is not a\n"
"\tmultiple of the size of a journal index.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1469 gfs2/fsck/fs_recovery.c:742
+#: gfs2/convert/gfs2_convert.c:1480 gfs2/fsck/fs_recovery.c:783
msgid "Unable to allocate journal index\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1473
+#: gfs2/convert/gfs2_convert.c:1484
msgid "Unable to zero journal index\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1492 gfs2/fsck/fs_recovery.c:754
+#: gfs2/convert/gfs2_convert.c:1503 gfs2/fsck/fs_recovery.c:795
msgid "An error occurred while reading the journal index file.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1502
+#: gfs2/convert/gfs2_convert.c:1513
msgid "journal inode size invalid\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1517
+#: gfs2/convert/gfs2_convert.c:1528
msgid "Error: Superblock Quota inode address is NULL\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1521
+#: gfs2/convert/gfs2_convert.c:1532
msgid "Error: Superblock Statfs inode address is NULL\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1525
+#: gfs2/convert/gfs2_convert.c:1536
msgid "Error: Superblock segment size is zero\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1569 gfs2/convert/gfs2_convert.c:1591
-#: gfs2/convert/gfs2_convert.c:1597 gfs2/convert/gfs2_convert.c:1608
-#: gfs2/convert/gfs2_convert.c:1614 gfs2/convert/gfs2_convert.c:2254
-msgid "Error: Bad constants (1)\n"
-msgstr ""
-
-#: gfs2/convert/gfs2_convert.c:1625
+#: gfs2/convert/gfs2_convert.c:1636
#, c-format
msgid "Error: %s does not look like a gfs1 filesystem.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1634
+#: gfs2/convert/gfs2_convert.c:1644
#, c-format
msgid "Could not read resource group index: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1641
+#: gfs2/convert/gfs2_convert.c:1651
#, c-format
msgid "Could not read journal index: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1655
+#: gfs2/convert/gfs2_convert.c:1665
#, c-format
msgid "Examining file system"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1657
+#: gfs2/convert/gfs2_convert.c:1667
msgid "Unable to fill in resource group information.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1664
+#: gfs2/convert/gfs2_convert.c:1674
#, c-format
msgid "%d rgs found.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1673
+#: gfs2/convert/gfs2_convert.c:1683
#, c-format
msgid "This program will convert a gfs1 filesystem to a gfs2 filesystem.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1675
+#: gfs2/convert/gfs2_convert.c:1685
#, c-format
msgid ""
"WARNING: This can't be undone. It is strongly advised that you:\n"
"\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1677
+#: gfs2/convert/gfs2_convert.c:1687
#, c-format
msgid " 1. Back up your entire filesystem first.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1678
+#: gfs2/convert/gfs2_convert.c:1688
#, c-format
msgid " 2. Run fsck.gfs2 first to ensure filesystem integrity.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1679
+#: gfs2/convert/gfs2_convert.c:1689
#, c-format
msgid " 3. Make sure the filesystem is NOT mounted from any node.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1680
+#: gfs2/convert/gfs2_convert.c:1690
#, c-format
msgid " 4. Make sure you have the latest software versions.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1688
+#: gfs2/convert/gfs2_convert.c:1698
#, c-format
msgid "gfs2_convert version %s (built %s %s)\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1699
+#: gfs2/convert/gfs2_convert.c:1709
#, c-format
msgid ""
"\n"
"Usage:\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1700
+#: gfs2/convert/gfs2_convert.c:1710
#, c-format
msgid ""
"%s [-hnqvVy] <device>\n"
"\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1702
+#: gfs2/convert/gfs2_convert.c:1712
#, c-format
msgid "\th - print this help message\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1703
+#: gfs2/convert/gfs2_convert.c:1713
#, c-format
msgid "\tn - assume 'no' to all questions\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1704
+#: gfs2/convert/gfs2_convert.c:1714
#, c-format
msgid "\tq - quieter output\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1705
+#: gfs2/convert/gfs2_convert.c:1715
#, c-format
msgid "\tv - more verbose output\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1706
+#: gfs2/convert/gfs2_convert.c:1716
#, c-format
msgid "\tV - print version information\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1707
+#: gfs2/convert/gfs2_convert.c:1717
#, c-format
msgid "\ty - assume 'yes' to all questions\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1747
+#: gfs2/convert/gfs2_convert.c:1756
#, c-format
msgid "Parameter not understood: %c\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1756 gfs2/convert/gfs2_convert.c:1760
+#: gfs2/convert/gfs2_convert.c:1764
#, c-format
msgid "No device specified. Please use '-h' for help\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1811
+#: gfs2/convert/gfs2_convert.c:1815
msgid "Converting journal space to rg space.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1833
+#: gfs2/convert/gfs2_convert.c:1837
msgid "Error: No suitable rg found for journal.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1836
+#: gfs2/convert/gfs2_convert.c:1840
#, c-format
msgid "Addr 0x%llx comes after rg at addr 0x%llx\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1864
+#: gfs2/convert/gfs2_convert.c:1868
msgid "gfs2_convert: Error converting bitmaps.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1898
+#: gfs2/convert/gfs2_convert.c:1902
#, c-format
msgid ""
"\n"
"Next Inum: %llu\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1930
+#: gfs2/convert/gfs2_convert.c:1934
msgid "Removing obsolete GFS1 file system structures.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1970
+#: gfs2/convert/gfs2_convert.c:1974
#, c-format
msgid "Writing journal #%d..."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1978
+#: gfs2/convert/gfs2_convert.c:1982
#, c-format
msgid "done.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2092
+#: gfs2/convert/gfs2_convert.c:2096
#, c-format
msgid "Couldn't lookup new quota file: %d\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2099
+#: gfs2/convert/gfs2_convert.c:2103
#, c-format
msgid "Couldn't lookup old quota file: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2132
+#: gfs2/convert/gfs2_convert.c:2136
#, c-format
msgid "Convert %s from GFS1 to GFS2? (y/n)"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2143
+#: gfs2/convert/gfs2_convert.c:2147
#, c-format
msgid "Bad response '%s', please type 'y' or 'n'.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2172
+#: gfs2/convert/gfs2_convert.c:2176
#, c-format
msgid ""
"%s is not a clean gfs filesytem. Please use the fsck.gfs2 utility to correct "
"these errors and try again.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2184
+#: gfs2/convert/gfs2_convert.c:2188
#, c-format
msgid "%s not converted.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2193
+#: gfs2/convert/gfs2_convert.c:2197
msgid "Converting resource groups."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2198
+#: gfs2/convert/gfs2_convert.c:2202
#, c-format
msgid "%s: Unable to convert resource groups.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2210
+#: gfs2/convert/gfs2_convert.c:2213
#, c-format
msgid ""
"\n"
"%s: Error renumbering inodes.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2223
+#: gfs2/convert/gfs2_convert.c:2226
#, c-format
msgid ""
"\n"
"%s: Error fixing directories.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2230
+#: gfs2/convert/gfs2_convert.c:2233
#, c-format
msgid "\r%llu cdpn symlinks moved to empty directories."
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2234
+#: gfs2/convert/gfs2_convert.c:2237
#, c-format
msgid ""
"\n"
"%s: Error fixing cdpn symlinks.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2240
+#: gfs2/convert/gfs2_convert.c:2243
msgid ""
"\n"
"Converting journals.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2243
+#: gfs2/convert/gfs2_convert.c:2246
#, c-format
msgid "%s: Error converting journal space.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2265
+#: gfs2/convert/gfs2_convert.c:2268
#, c-format
msgid ""
"Reduced journal size to %u MB to accommodate GFS2 file system structures.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2273
+#: gfs2/convert/gfs2_convert.c:2276
#, c-format
msgid "Error: could not build jindex: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2276
+#: gfs2/convert/gfs2_convert.c:2279
msgid "Building GFS2 file system structures.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2280
+#: gfs2/convert/gfs2_convert.c:2283
#, c-format
msgid "Error building per-node directories: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2287
+#: gfs2/convert/gfs2_convert.c:2290
#, c-format
msgid "Error building inum inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2295
+#: gfs2/convert/gfs2_convert.c:2298
#, c-format
msgid "Error building statfs inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2305
+#: gfs2/convert/gfs2_convert.c:2308
#, c-format
msgid "Error building rindex inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2312
+#: gfs2/convert/gfs2_convert.c:2315
#, c-format
msgid "Error building quota inode: %s\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2340
+#: gfs2/convert/gfs2_convert.c:2343
msgid "Committing changes to disk.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:2357
+#: gfs2/convert/gfs2_convert.c:2360
#, c-format
msgid "%s: filesystem converted successfully to gfs2.\n"
msgstr ""
@@ -1196,7 +1216,7 @@ msgid "Freeing buffers.\n"
msgstr ""
#: gfs2/fsck/initialize.c:145
-msgid "Setting block ranges...\n"
+msgid "Setting block ranges..."
msgstr ""
#: gfs2/fsck/initialize.c:160
@@ -1220,648 +1240,699 @@ msgid ""
"%llx)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:253
+#: gfs2/fsck/initialize.c:187
+#, c-format
+msgid "0x%llx to 0x%llx\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:192
+msgid "Error\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:256
#, c-format
msgid "Free metadata block 0x%llx found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:257
+#: gfs2/fsck/initialize.c:260
#, c-format
msgid "Unlinked dinode 0x%llx found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:265
+#: gfs2/fsck/initialize.c:268
#, c-format
msgid "Okay to reclaim free metadata in resource group %lld (0x%llx)? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:286
+#: gfs2/fsck/initialize.c:289
#, c-format
msgid "Free metadata block %lld (0x%llx) reclaimed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:297
+#: gfs2/fsck/initialize.c:300
#, c-format
msgid "%lld blocks (total) may need to be freed in pass 5.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:321
+#: gfs2/fsck/initialize.c:324
#, c-format
msgid "The rgrp at %lld (0x%llx) was cleaned of %d free metadata blocks.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:330
+#: gfs2/fsck/initialize.c:333
#, c-format
msgid ""
"Error: resource group %lld (0x%llx): free space (%d) does not match bitmap "
"(%d)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:335
+#: gfs2/fsck/initialize.c:338
msgid "Fix the rgrp free blocks count? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:342 gfs2/fsck/initialize.c:358
+#: gfs2/fsck/initialize.c:345 gfs2/fsck/initialize.c:361
msgid "The rgrp was fixed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:344 gfs2/fsck/initialize.c:360
+#: gfs2/fsck/initialize.c:347 gfs2/fsck/initialize.c:363
msgid "The rgrp was not fixed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:349
+#: gfs2/fsck/initialize.c:352
#, c-format
msgid ""
"Error: resource group %lld (0x%llx): free meta (%d) does not match bitmap "
"(%d)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:354
+#: gfs2/fsck/initialize.c:357
msgid "Fix the rgrp free meta blocks count? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:387
+#: gfs2/fsck/initialize.c:390
msgid "Checking the integrity of all resource groups.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:405
+#: gfs2/fsck/initialize.c:408
#, c-format
msgid ""
"RGs: Consistent: %d Cleaned: %d Inconsistent: %d Fixed: %d Total: "
"%d\n"
msgstr ""
-#: gfs2/fsck/initialize.c:410
+#: gfs2/fsck/initialize.c:413
#, c-format
msgid ""
"%lld blocks may need to be freed in pass 5 due to the cleaned resource "
"groups.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:425
+#: gfs2/fsck/initialize.c:428
msgid "The system master directory seems to be destroyed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:426
+#: gfs2/fsck/initialize.c:429
msgid "Okay to rebuild it? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:427
+#: gfs2/fsck/initialize.c:430
msgid "System master not rebuilt; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:430
+#: gfs2/fsck/initialize.c:433
msgid "Trying to rebuild the master directory.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:438
+#: gfs2/fsck/initialize.c:441
#, c-format
msgid "Error reading master: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:449
+#: gfs2/fsck/initialize.c:452
#, c-format
msgid "Error %d adding jindex directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:456
+#: gfs2/fsck/initialize.c:459
#, c-format
msgid "Error %d building jindex\n"
msgstr ""
-#: gfs2/fsck/initialize.c:467
+#: gfs2/fsck/initialize.c:470
#, c-format
msgid "Error %d adding per_node directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:475
+#: gfs2/fsck/initialize.c:478
#, c-format
msgid "Error %d building per_node directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:487
+#: gfs2/fsck/initialize.c:490
#, c-format
msgid "Error %d adding inum inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:493
+#: gfs2/fsck/initialize.c:496
#, c-format
msgid "Error %d building inum inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:505
+#: gfs2/fsck/initialize.c:508
#, c-format
msgid "Error %d adding statfs inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:511
+#: gfs2/fsck/initialize.c:514
#, c-format
msgid "Error %d building statfs inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:523
+#: gfs2/fsck/initialize.c:526
#, c-format
msgid "Error %d adding rindex inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:529
+#: gfs2/fsck/initialize.c:532
#, c-format
msgid "Error %d building rindex inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:540
+#: gfs2/fsck/initialize.c:543
#, c-format
msgid "Error %d adding quota inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:546
+#: gfs2/fsck/initialize.c:549
#, c-format
msgid "Error %d building quota inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:551
+#: gfs2/fsck/initialize.c:554
msgid "Master directory rebuilt.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:580
+#: gfs2/fsck/initialize.c:583
msgid ""
"The gfs2 system per_node directory inode is missing, so we might not be \n"
"able to rebuild missing journals this run.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:586
+#: gfs2/fsck/initialize.c:589
msgid ""
"The gfs2 system per_node directory inode is missing. Okay to rebuild it? (y/"
"n) "
msgstr ""
-#: gfs2/fsck/initialize.c:592
+#: gfs2/fsck/initialize.c:595
#, c-format
msgid "Error %d rebuilding per_node directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:599
+#: gfs2/fsck/initialize.c:602
msgid "Unable to rebuild per_node; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:613
+#: gfs2/fsck/initialize.c:616
msgid "Checking if all rgrp and rindex values are good"
msgstr ""
-#: gfs2/fsck/initialize.c:614
+#: gfs2/fsck/initialize.c:617
msgid "Checking if rindex values may be easily repaired"
msgstr ""
-#: gfs2/fsck/initialize.c:615
+#: gfs2/fsck/initialize.c:618
msgid "Calculating where the rgrps should be if evenly spaced"
msgstr ""
-#: gfs2/fsck/initialize.c:616
+#: gfs2/fsck/initialize.c:619
msgid "Trying to rebuild rindex assuming evenly spaced rgrps"
msgstr ""
-#: gfs2/fsck/initialize.c:617
+#: gfs2/fsck/initialize.c:620
msgid "Trying to rebuild rindex assuming unevenly spaced rgrps"
msgstr ""
-#: gfs2/fsck/initialize.c:620
+#: gfs2/fsck/initialize.c:623
msgid "Some damage was found; we need to take remedial measures"
msgstr ""
-#: gfs2/fsck/initialize.c:621
+#: gfs2/fsck/initialize.c:624
msgid "rindex is unevenly spaced: either gfs1-style or corrupt"
msgstr ""
-#: gfs2/fsck/initialize.c:622
+#: gfs2/fsck/initialize.c:625
msgid "rindex calculations don't match: uneven rgrp boundaries"
msgstr ""
-#: gfs2/fsck/initialize.c:623
+#: gfs2/fsck/initialize.c:626
msgid "Too many rgrp misses: rgrps must be unevenly spaced"
msgstr ""
-#: gfs2/fsck/initialize.c:624
+#: gfs2/fsck/initialize.c:627
msgid "Too much damage found: we cannot rebuild this rindex"
msgstr ""
-#: gfs2/fsck/initialize.c:629
+#: gfs2/fsck/initialize.c:632
msgid "Validating Resource Group index.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:633
+#: gfs2/fsck/initialize.c:636
#, c-format
msgid "Level %d rgrp check: %s.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:637
+#: gfs2/fsck/initialize.c:640
#, c-format
msgid "(level %d passed)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:641
+#: gfs2/fsck/initialize.c:644
#, c-format
msgid "(level %d failed: %s)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:644
+#: gfs2/fsck/initialize.c:647
#, c-format
msgid "(level %d failed at block %lld (0x%llx): %s)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:654
+#: gfs2/fsck/initialize.c:657
msgid "Resource Group recovery impossible; I can't fix this file system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:658
+#: gfs2/fsck/initialize.c:661
#, c-format
msgid "%u resource groups found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:681
+#: gfs2/fsck/initialize.c:684
msgid "Initializing special inodes...\n"
msgstr ""
-#: gfs2/fsck/initialize.c:699
+#: gfs2/fsck/initialize.c:698
msgid "The gfs2 system inum inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:701
+#: gfs2/fsck/initialize.c:700
msgid "fsck.gfs2 cannot continue without a valid inum file; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:707
+#: gfs2/fsck/initialize.c:706
#, c-format
msgid "Error %d rebuilding inum inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:723
+#: gfs2/fsck/initialize.c:713
+msgid "System inum inode was not rebuilt. Aborting.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:722
#, c-format
msgid "Error %d reading system inum inode. Aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:735
+#: gfs2/fsck/initialize.c:734
msgid ""
"The gfs system statfs inode pointer is incorrect. Okay to correct? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:737 gfs2/fsck/initialize.c:755
-#: gfs2/fsck/initialize.c:767
+#: gfs2/fsck/initialize.c:736 gfs2/fsck/initialize.c:754
+#: gfs2/fsck/initialize.c:766
msgid "fsck.gfs2 cannot continue without a valid statfs file; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:747
+#: gfs2/fsck/initialize.c:746
#, c-format
msgid "Error reading statfs inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:753
+#: gfs2/fsck/initialize.c:752
msgid "The gfs2 system statfs inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:761
+#: gfs2/fsck/initialize.c:760
#, c-format
msgid "Error %d rebuilding statfs inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:766
+#: gfs2/fsck/initialize.c:765
msgid "Rebuild of statfs system file failed."
msgstr ""
-#: gfs2/fsck/initialize.c:779
+#: gfs2/fsck/initialize.c:778
#, c-format
msgid "Error %d reading statfs file. Aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:794
+#: gfs2/fsck/initialize.c:793
msgid ""
"The gfs system quota inode pointer is incorrect. Okay to correct? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:796
+#: gfs2/fsck/initialize.c:795
msgid "fsck.gfs2 cannot continue without a valid quota file; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:806
+#: gfs2/fsck/initialize.c:805
#, c-format
msgid "Error reading quota inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:812
+#: gfs2/fsck/initialize.c:811
msgid "The gfs2 system quota inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:820
+#: gfs2/fsck/initialize.c:813
+msgid "System quota inode was not rebuilt. Aborting.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:819
#, c-format
msgid "Error %d rebuilding quota inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:840
+#: gfs2/fsck/initialize.c:824
+msgid "Unable to rebuild system quota file inode. Aborting.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:839
msgid "Unable to determine the boundaries of the file system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:847
+#: gfs2/fsck/initialize.c:846
msgid ""
"This system doesn't have enough memory and swap space to fsck this file "
"system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:848
+#: gfs2/fsck/initialize.c:847
#, c-format
msgid "Additional memory needed is approximately: %lluMB\n"
msgstr ""
-#: gfs2/fsck/initialize.c:850
+#: gfs2/fsck/initialize.c:849
msgid ""
"Please increase your swap space by that amount and run gfs2_fsck again.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:892
+#: gfs2/fsck/initialize.c:891
#, c-format
msgid "Found system master directory at: 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:907
+#: gfs2/fsck/initialize.c:906
#, c-format
msgid "Found system jindex file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:921 gfs2/fsck/initialize.c:1239
+#: gfs2/fsck/initialize.c:920 gfs2/fsck/initialize.c:1238
#, c-format
msgid "Found system master directory at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:933
+#: gfs2/fsck/initialize.c:932
#, c-format
msgid "Found system per_node directory at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:940
+#: gfs2/fsck/initialize.c:939
#, c-format
msgid "From per_node's '..' I backtracked the master directory to: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:946
+#: gfs2/fsck/initialize.c:945
#, c-format
msgid "Unknown system directory at block 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:953
+#: gfs2/fsck/initialize.c:952
#, c-format
msgid "Found system inum file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:959
+#: gfs2/fsck/initialize.c:958
#, c-format
msgid "Found system statfs file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:965
+#: gfs2/fsck/initialize.c:964
#, c-format
msgid "Found system rindex file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:973
+#: gfs2/fsck/initialize.c:972
#, c-format
msgid "Found system quota file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1001
+#: gfs2/fsck/initialize.c:1000
#, c-format
msgid "Found the root directory at: 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1006
+#: gfs2/fsck/initialize.c:1005
#, c-format
msgid ""
"The root dinode should be at block 0x%llx but it seems to be destroyed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1009
+#: gfs2/fsck/initialize.c:1008
#, c-format
msgid "Found a copy of the root directory in a journal at block: 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1012
+#: gfs2/fsck/initialize.c:1011
msgid "Do you want to replace the root dinode from the copy? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:1014
+#: gfs2/fsck/initialize.c:1013
msgid "Damaged root dinode not fixed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1021
+#: gfs2/fsck/initialize.c:1020
msgid "Root directory copied from the journal.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1033 gfs2/fsck/initialize.c:1249
+#: gfs2/fsck/initialize.c:1032 gfs2/fsck/initialize.c:1248
#, c-format
msgid "Found the root directory at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1049 gfs2/fsck/initialize.c:1209
+#: gfs2/fsck/initialize.c:1048 gfs2/fsck/initialize.c:1208
#, c-format
msgid "Found a possible root at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1103
+#: gfs2/fsck/initialize.c:1102
#, c-format
msgid "boff:%d bsize2:%d rg:0x%llx, rb:0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1118
+#: gfs2/fsck/initialize.c:1117
#, c-format
msgid "Block size determined to be: %d\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1166
+#: gfs2/fsck/initialize.c:1165
msgid ""
"Gathering information to repair the gfs2 superblock. This may take some "
"time.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1173
+#: gfs2/fsck/initialize.c:1172
msgid "Block size not apparent; checking elsewhere.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1185
+#: gfs2/fsck/initialize.c:1184
msgid ""
"Unable to determine the block size; this does not look like a gfs2 file "
"system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1195
+#: gfs2/fsck/initialize.c:1194
msgid "Unable to locate the system master directory.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1201
+#: gfs2/fsck/initialize.c:1200
msgid "Unable to locate the root directory.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1205
+#: gfs2/fsck/initialize.c:1204
msgid "Can't find any dinodes that might be the root; using master - 1.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1217
+#: gfs2/fsck/initialize.c:1216
msgid "The root dinode block is destroyed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1218
+#: gfs2/fsck/initialize.c:1217
msgid ""
"At this point I recommend reinitializing it.\n"
"Hopefully everything will later be put into lost+found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1222
+#: gfs2/fsck/initialize.c:1221
msgid "Okay to reinitialize the root dinode? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:1224
+#: gfs2/fsck/initialize.c:1223
msgid "The root dinode was not reinitialized; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1237
+#: gfs2/fsck/initialize.c:1236
msgid "Okay to fix the GFS2 superblock? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:1244
+#: gfs2/fsck/initialize.c:1243
#, c-format
msgid "Error reading master inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1254
+#: gfs2/fsck/initialize.c:1253
#, c-format
msgid "Error reading root inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1267
+#: gfs2/fsck/initialize.c:1266
msgid ""
"GFS2 superblock not fixed; fsck cannot proceed without a valid superblock.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1289
+#: gfs2/fsck/initialize.c:1288
msgid "Initializing lists...\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1299
+#: gfs2/fsck/initialize.c:1298
msgid "GFS superblock is larger than the blocksize!\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1305
-msgid "Bad constants (1)\n"
+#: gfs2/fsck/initialize.c:1359
+#, c-format
+msgid "Clearing journal %d\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1395
+#: gfs2/fsck/initialize.c:1394
#, c-format
msgid "Computed correct journal segment size to %u. Reset it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:1397
+#: gfs2/fsck/initialize.c:1396
msgid "Error: Cannot proceed without a valid journal segment size value.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1401
+#: gfs2/fsck/initialize.c:1400
#, c-format
msgid "Resetting journal segment size to %u\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1415 gfs2/fsck/initialize.c:1442
+#: gfs2/fsck/initialize.c:1414 gfs2/fsck/initialize.c:1441
#, c-format
msgid "Error %d reading system journal index inode. Aborting\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1423
+#: gfs2/fsck/initialize.c:1422
msgid ""
"The gfs2 journal segment size is 0 and a correct value cannot be determined "
"in a single-journal filesystem.\n"
"Continue with default? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:1427
+#: gfs2/fsck/initialize.c:1426
msgid "Error: Cannot proceed without a valid sb_seg_size value.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1467
+#: gfs2/fsck/initialize.c:1466
msgid "Failed to set correct journal segment size. Cannot continue\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1471
+#: gfs2/fsck/initialize.c:1470
msgid "Clearing GFS journals (this may take a while)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1484
+#: gfs2/fsck/initialize.c:1483
msgid ""
"\n"
"Journals cleared.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1503
+#: gfs2/fsck/initialize.c:1502
msgid "The gfs2 system rindex inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:1505
+#: gfs2/fsck/initialize.c:1504
msgid "Error: Cannot proceed without a valid rindex.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1509
+#: gfs2/fsck/initialize.c:1508
#, c-format
msgid "Error %d rebuilding rindex\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1534
+#: gfs2/fsck/initialize.c:1518
+#, c-format
+msgid "Journal index entry '%.*s' has an invalid filename.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1579
+msgid "Validating the journal index.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1590
msgid "The gfs2 system jindex inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:1536
+#: gfs2/fsck/initialize.c:1592 gfs2/fsck/initialize.c:1621
msgid "Error: cannot proceed without a valid jindex file.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1550
+#: gfs2/fsck/initialize.c:1599
#, c-format
msgid "Error %d rebuilding jindex\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1557
-msgid "Unable to read in jindex inode.\n"
+#: gfs2/fsck/initialize.c:1610
+msgid "Checking the integrity of the journal index.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1619
+msgid "The system journal index is damaged.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1583
+#: gfs2/fsck/initialize.c:1620
+msgid "Okay to rebuild it? (y/n) "
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1627
+msgid "Corrupt journal index was removed.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1630
+msgid "Error rebuilding journal index: Cannot continue.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1641
+msgid "Unable to read jindex inode.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1667
#, c-format
msgid "Unable to open device: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1622
+#: gfs2/fsck/initialize.c:1706
msgid "Unable to block other mounters\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1642
+#: gfs2/fsck/initialize.c:1726
#, c-format
msgid "Error reading master directory: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1678
+#: gfs2/fsck/initialize.c:1765
msgid ""
"\n"
"Journal recovery complete.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1692
+#: gfs2/fsck/initialize.c:1779
#, c-format
msgid "Device %s is busy.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1700
+#: gfs2/fsck/initialize.c:1787
msgid "Unable to unblock other mounters - manual intervention required\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1701
+#: gfs2/fsck/initialize.c:1788
msgid "Use 'gfs2_tool sb <device> proto' to fix\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1703
+#: gfs2/fsck/initialize.c:1790
msgid "Syncing the device.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1714
+#: gfs2/fsck/initialize.c:1801
msgid "fsck.gfs2: Non-fatal error dropping caches.\n"
msgstr ""
@@ -1873,13 +1944,13 @@ msgstr ""
msgid "old \"..\""
msgstr ""
-#: gfs2/fsck/pass3.c:46 gfs2/fsck/pass2.c:1765 gfs2/fsck/pass2.c:1989
-#: gfs2/fsck/lost_n_found.c:241
+#: gfs2/fsck/pass3.c:46 gfs2/fsck/pass2.c:1737 gfs2/fsck/pass2.c:1884
+#: gfs2/fsck/lost_n_found.c:239
#, c-format
msgid "Error adding directory %s: %s\n"
msgstr ""
-#: gfs2/fsck/pass3.c:53 gfs2/fsck/pass2.c:1996
+#: gfs2/fsck/pass3.c:53 gfs2/fsck/pass2.c:1891
#, c-format
msgid "Directory at %lld (0x%llx)"
msgstr ""
@@ -1888,162 +1959,163 @@ msgstr ""
msgid "new \"..\""
msgstr ""
-#: gfs2/fsck/pass3.c:79
+#: gfs2/fsck/pass3.c:80
#, c-format
msgid "Orphaned directory at block %llu (0x%llx) moved to lost+found\n"
msgstr ""
-#: gfs2/fsck/pass3.c:88
+#: gfs2/fsck/pass3.c:89
#, c-format
msgid ""
"Directory '..' and treewalk connections disagree for inode %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:92
+#: gfs2/fsck/pass3.c:93
#, c-format
msgid "'..' has %llu (0x%llx), treewalk has %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:108
+#: gfs2/fsck/pass3.c:111
msgid "Orphaned directory, move to lost+found\n"
msgstr ""
-#: gfs2/fsck/pass3.c:112
+#: gfs2/fsck/pass3.c:115
#, c-format
msgid "Treewalk parent is correct, fixing dotdot -> %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:124
+#: gfs2/fsck/pass3.c:127
msgid "Both .. and treewalk parents are directories, going with treewalk...\n"
msgstr ""
-#: gfs2/fsck/pass3.c:132
+#: gfs2/fsck/pass3.c:135
msgid ".. parent is valid, but treewalk is bad - reattaching to lost+found"
msgstr ""
-#: gfs2/fsck/pass3.c:137 gfs2/fsck/pass2.c:1943
+#: gfs2/fsck/pass3.c:140 gfs2/fsck/pass2.c:1844
#, c-format
msgid ""
"Remove directory entry for bad inode %llu (0x%llx) in %llu (0x%llx)? (y/n)"
msgstr ""
-#: gfs2/fsck/pass3.c:143
+#: gfs2/fsck/pass3.c:146
msgid "Directory entry to invalid inode remains\n"
msgstr ""
-#: gfs2/fsck/pass3.c:153
+#: gfs2/fsck/pass3.c:156
#, c-format
msgid "Unable to find dentry for block %llu (0x%llx) in %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:159 gfs2/fsck/pass2.c:1965
+#: gfs2/fsck/pass3.c:162 gfs2/fsck/pass2.c:1863
msgid "Directory entry removed\n"
msgstr ""
-#: gfs2/fsck/pass3.c:160
+#: gfs2/fsck/pass3.c:163
msgid "Marking directory unlinked\n"
msgstr ""
-#: gfs2/fsck/pass3.c:185
+#: gfs2/fsck/pass3.c:189
msgid "Marking root inode connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:191
+#: gfs2/fsck/pass3.c:195
msgid "Marking GFS1 statfs file inode connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:197
+#: gfs2/fsck/pass3.c:201
msgid "Marking GFS1 jindex file inode connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:203
+#: gfs2/fsck/pass3.c:207
msgid "Marking GFS1 rindex file inode connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:209
+#: gfs2/fsck/pass3.c:213
msgid "Marking GFS1 quota file inode connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:216
+#: gfs2/fsck/pass3.c:220
msgid "Marking master directory inode connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:226
+#: gfs2/fsck/pass3.c:230
msgid "Checking directory linkage.\n"
msgstr ""
-#: gfs2/fsck/pass3.c:239
+#: gfs2/fsck/pass3.c:245
#, c-format
msgid "Directory at block %llu (0x%llx) connected\n"
msgstr ""
-#: gfs2/fsck/pass3.c:248
-msgid "Found unlinked directory containing bad block\n"
+#: gfs2/fsck/pass3.c:254
+#, c-format
+msgid "Found unlinked directory containing bad block at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:250
+#: gfs2/fsck/pass3.c:259
msgid "Clear unlinked directory with bad blocks? (y/n) "
msgstr ""
-#: gfs2/fsck/pass3.c:252 gfs2/fsck/pass3.c:279
+#: gfs2/fsck/pass3.c:261 gfs2/fsck/pass3.c:286
#, c-format
msgid "inode %lld (0x%llx) is now marked as free\n"
msgstr ""
-#: gfs2/fsck/pass3.c:266
+#: gfs2/fsck/pass3.c:275
msgid "Unlinked directory with bad block remains\n"
msgstr ""
-#: gfs2/fsck/pass3.c:271
+#: gfs2/fsck/pass3.c:278
msgid "Unlinked block marked as an inode is not an inode\n"
msgstr ""
-#: gfs2/fsck/pass3.c:273
+#: gfs2/fsck/pass3.c:280
msgid "Clear the unlinked block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass3.c:275
+#: gfs2/fsck/pass3.c:282
msgid "The block was not cleared\n"
msgstr ""
-#: gfs2/fsck/pass3.c:289
+#: gfs2/fsck/pass3.c:296
msgid "The block was cleared\n"
msgstr ""
-#: gfs2/fsck/pass3.c:293
+#: gfs2/fsck/pass3.c:300
#, c-format
msgid "Found unlinked directory at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:300
+#: gfs2/fsck/pass3.c:307
msgid "Unlinked directory has zero size.\n"
msgstr ""
-#: gfs2/fsck/pass3.c:302
+#: gfs2/fsck/pass3.c:309
msgid "Remove zero-size unlinked directory? (y/n) "
msgstr ""
-#: gfs2/fsck/pass3.c:306
+#: gfs2/fsck/pass3.c:313
msgid "zero-sized unlinked inode"
msgstr ""
-#: gfs2/fsck/pass3.c:311
+#: gfs2/fsck/pass3.c:318
msgid "Zero-size unlinked directory remains\n"
msgstr ""
-#: gfs2/fsck/pass3.c:315
+#: gfs2/fsck/pass3.c:322
msgid "Add unlinked directory to lost+found? (y/n) "
msgstr ""
-#: gfs2/fsck/pass3.c:322
+#: gfs2/fsck/pass3.c:329
msgid "Directory relinked to lost+found\n"
msgstr ""
-#: gfs2/fsck/pass3.c:324
+#: gfs2/fsck/pass3.c:331
msgid "Unlinked directory remains unlinked\n"
msgstr ""
-#: gfs2/fsck/pass3.c:331
+#: gfs2/fsck/pass3.c:343
#, c-format
msgid "At end of pass3, lost+found entries is %u\n"
msgstr ""
@@ -2075,149 +2147,153 @@ msgstr ""
msgid "Dotdot parent already set for block %llu (0x%llx)-> %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:167
+#: gfs2/fsck/pass2.c:145
msgid "Invalid block type\n"
msgstr ""
-#: gfs2/fsck/pass2.c:201 gfs2/fsck/pass2.c:631
+#: gfs2/fsck/pass2.c:189 gfs2/fsck/pass2.c:599
#, c-format
msgid ""
"Directory entry '%s' pointing to block %llu (0x%llx) in directory %llu (0x"
"%llx) has the wrong 'formal' inode number.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:207 gfs2/fsck/pass2.c:638
+#: gfs2/fsck/pass2.c:195 gfs2/fsck/pass2.c:606
#, c-format
msgid "The directory entry has %llu (0x%llx) but the inode has %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:213 gfs2/fsck/pass2.c:238
+#: gfs2/fsck/pass2.c:201 gfs2/fsck/pass2.c:226
msgid "Remove the corrupt directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:215 gfs2/fsck/pass2.c:242
+#: gfs2/fsck/pass2.c:203 gfs2/fsck/pass2.c:230
msgid "Corrupt directory entry not removed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:224
+#: gfs2/fsck/pass2.c:212
msgid "The entry points to another directory with intact linkage.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:226
+#: gfs2/fsck/pass2.c:214
msgid "Fix the bad directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:227
+#: gfs2/fsck/pass2.c:215
msgid "Fixing the corrupt directory entry.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:232
+#: gfs2/fsck/pass2.c:220
msgid "fixed reference"
msgstr ""
-#: gfs2/fsck/pass2.c:235 gfs2/fsck/pass2.c:476
+#: gfs2/fsck/pass2.c:223 gfs2/fsck/pass2.c:474
msgid "Directory entry not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:286
+#: gfs2/fsck/pass2.c:274
#, c-format
msgid ""
"Leaf block %llu (0x%llx) in dinode %llu (0x%llx) has the wrong depth: is %d "
"(length %d), should be %d (length %d).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:293
+#: gfs2/fsck/pass2.c:281
msgid "Fix the leaf block? (y/n)"
msgstr ""
-#: gfs2/fsck/pass2.c:294
+#: gfs2/fsck/pass2.c:282
msgid "The leaf block was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:300
+#: gfs2/fsck/pass2.c:288
msgid "The leaf block depth was fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:322
+#: gfs2/fsck/pass2.c:311
#, c-format
msgid ""
"Directory entry '%s' at block %lld (0x%llx) is on the wrong leaf block.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:326
+#: gfs2/fsck/pass2.c:315
#, c-format
msgid "Leaf index is: 0x%x. The range for this leaf block is 0x%x - 0x%x\n"
msgstr ""
-#: gfs2/fsck/pass2.c:328
+#: gfs2/fsck/pass2.c:317
msgid "Move the misplaced directory entry to a valid leaf block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:330
+#: gfs2/fsck/pass2.c:319
msgid "Misplaced directory entry not moved.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:341
+#: gfs2/fsck/pass2.c:330
#, c-format
msgid "Moving it from leaf %llu (0x%llx) to %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:362
+#: gfs2/fsck/pass2.c:351
msgid ""
"The misplaced directory entry already appears on the correct leaf block.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:364
+#: gfs2/fsck/pass2.c:353
#, c-format
msgid "The bad duplicate directory entry '%s' was cleared.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:371
+#: gfs2/fsck/pass2.c:361
msgid "The misplaced directory entry was moved to a valid leaf block.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:374
+#: gfs2/fsck/pass2.c:364
+msgid "Directory hash table was doubled.\n"
+msgstr ""
+
+#: gfs2/fsck/pass2.c:369
#, c-format
msgid "Could not read leaf %d in dinode %<PRIu64>: %s\n"
msgstr ""
-#: gfs2/fsck/pass2.c:378
+#: gfs2/fsck/pass2.c:373
#, c-format
msgid ""
"The planned leaf was split. The new leaf is: %llu (0x%llx). di_blocks=%llu\n"
msgstr ""
-#: gfs2/fsck/pass2.c:383 gfs2/fsck/pass2.c:1239
+#: gfs2/fsck/pass2.c:378 gfs2/fsck/pass2.c:1210
msgid "split leaf"
msgstr ""
-#: gfs2/fsck/pass2.c:393
+#: gfs2/fsck/pass2.c:389
msgid "Accounting deferred.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:411
+#: gfs2/fsck/pass2.c:407
msgid "moved valid reference"
msgstr ""
-#: gfs2/fsck/pass2.c:426
+#: gfs2/fsck/pass2.c:422
msgid "Error moving directory entry.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:454
+#: gfs2/fsck/pass2.c:451
#, c-format
msgid ""
"Block # referenced by directory entry %s in inode %lld (0x%llx) is invalid\n"
msgstr ""
-#: gfs2/fsck/pass2.c:458
+#: gfs2/fsck/pass2.c:455
msgid "Clear directory entry to out of range block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:462
+#: gfs2/fsck/pass2.c:459
msgid "Directory entry to out of range block remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:472
+#: gfs2/fsck/pass2.c:470
#, c-format
msgid ""
"Dir entry with bad record or name length\n"
@@ -2225,19 +2301,15 @@ msgid ""
"\tName length = %u\n"
msgstr ""
-#: gfs2/fsck/pass2.c:475
+#: gfs2/fsck/pass2.c:473
msgid "Clear the directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:480
-msgid "corrupt directory entry"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:482
+#: gfs2/fsck/pass2.c:483
msgid "Bad directory entry deleted.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:488
+#: gfs2/fsck/pass2.c:489
#, c-format
msgid ""
"Dir entry with bad hash or name length\n"
@@ -2245,596 +2317,574 @@ msgid ""
"\tFilename = %s\n"
msgstr ""
-#: gfs2/fsck/pass2.c:492
+#: gfs2/fsck/pass2.c:493
#, c-format
msgid ""
"\tName length found = %u\n"
"\tHash expected = %u (0x%x)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:495
+#: gfs2/fsck/pass2.c:496
#, c-format
msgid "Fix directory hash for %s? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:497
+#: gfs2/fsck/pass2.c:498
#, c-format
msgid "Directory entry hash for %s not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:504
+#: gfs2/fsck/pass2.c:505
#, c-format
msgid "Directory entry hash for %s fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:526
-#, c-format
-msgid "Found directory entry '%s' pointing to invalid block %lld (0x%llx)\n"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:531
-msgid "Delete inode containing bad blocks? (y/n)"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:532
-msgid "Entry to inode containing bad blocks remains\n"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:550
-msgid "bad directory entry"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:551
-#, c-format
-msgid "Inode %lld (0x%llx) was deleted.\n"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:557
+#: gfs2/fsck/pass2.c:524
#, c-format
msgid ""
"Directory entry '%s' referencing inode %llu (0x%llx) in dir inode %llu (0x"
"%llx) block type %d: %s.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:565
+#: gfs2/fsck/pass2.c:532
msgid "was previously marked invalid"
msgstr ""
-#: gfs2/fsck/pass2.c:566
+#: gfs2/fsck/pass2.c:533
msgid "was deleted or is not an inode"
msgstr ""
-#: gfs2/fsck/pass2.c:568
+#: gfs2/fsck/pass2.c:535
msgid "Clear directory entry to non-inode block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:570
+#: gfs2/fsck/pass2.c:537
msgid "Directory entry to non-inode block remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:595
+#: gfs2/fsck/pass2.c:563
#, c-format
msgid ""
"Error: directory entry type is incompatible with block type at block %lld (0x"
"%llx) in directory inode %llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:602
+#: gfs2/fsck/pass2.c:570
#, c-format
msgid "Directory entry type is %d, block type is %d.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:608
+#: gfs2/fsck/pass2.c:576
#, c-format
msgid ""
"Type '%s' in dir entry (%s, %llu/0x%llx) conflicts with type '%s' in dinode. "
"(Dir entry is stale.)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:614
+#: gfs2/fsck/pass2.c:582
msgid "Clear stale directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:615
+#: gfs2/fsck/pass2.c:583
msgid "Stale directory entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:687
+#: gfs2/fsck/pass2.c:656
#, c-format
msgid "Found . dentry in directory %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:692
+#: gfs2/fsck/pass2.c:661
#, c-format
msgid "Already found '.' entry in directory %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:696
+#: gfs2/fsck/pass2.c:665
msgid "Clear duplicate '.' entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:697
+#: gfs2/fsck/pass2.c:666
msgid "Duplicate '.' entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:717
+#: gfs2/fsck/pass2.c:686
#, c-format
msgid ""
"'.' entry's value incorrect in directory %llu (0x%llx). Points to %llu (0x"
"%llx) when it should point to %llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:727
+#: gfs2/fsck/pass2.c:696
msgid "Remove '.' reference? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:728
+#: gfs2/fsck/pass2.c:697
msgid "Invalid '.' reference remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:747
+#: gfs2/fsck/pass2.c:716
#, c-format
msgid "Found '..' dentry in directory %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:751
+#: gfs2/fsck/pass2.c:720
#, c-format
msgid "Already had a '..' entry in directory %llu(0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:755
+#: gfs2/fsck/pass2.c:724
msgid "Clear duplicate '..' entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:756
+#: gfs2/fsck/pass2.c:725
msgid "Duplicate '..' entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:775
+#: gfs2/fsck/pass2.c:743
#, c-format
msgid ""
"Found '..' entry in directory %llu (0x%llx) pointing to something that's not "
"a directory"
msgstr ""
-#: gfs2/fsck/pass2.c:779
+#: gfs2/fsck/pass2.c:747
msgid "Clear bad '..' directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:780
+#: gfs2/fsck/pass2.c:748
msgid "Bad '..' directory entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:824
+#: gfs2/fsck/pass2.c:792
#, c-format
msgid "Found non-dir inode dentry pointing to %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:834
+#: gfs2/fsck/pass2.c:802
#, c-format
msgid "%s: Hard link to block %llu (0x%llx) detected.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:839
+#: gfs2/fsck/pass2.c:807
msgid "Clear hard link to directory? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:842
+#: gfs2/fsck/pass2.c:810
msgid "Hard link to directory remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:851
+#: gfs2/fsck/pass2.c:819
msgid "valid reference"
msgstr ""
-#: gfs2/fsck/pass2.c:863 gfs2/fsck/pass2.c:1050
+#: gfs2/fsck/pass2.c:831 gfs2/fsck/pass2.c:1021
#, c-format
msgid "Bad directory entry '%s' cleared.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:881
+#: gfs2/fsck/pass2.c:849
#, c-format
msgid ""
"Padding inode %llu (0x%llx) hash table at offset %d (0x%x) for %d pointers.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:902
+#: gfs2/fsck/pass2.c:870
#, c-format
msgid ""
"New leaf block was allocated at %llu (0x%llx) for index %d (0x%x), length "
"%d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:907
+#: gfs2/fsck/pass2.c:875
msgid "pad leaf"
msgstr ""
-#: gfs2/fsck/pass2.c:934
+#: gfs2/fsck/pass2.c:904
#, c-format
msgid ""
"Leaf block %llu (0x%llx) seems to be out of place and its contents need to "
"be moved to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:937
+#: gfs2/fsck/pass2.c:907
msgid "Attempt to fix it? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:938
+#: gfs2/fsck/pass2.c:908
msgid "Directory leaf was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:952
+#: gfs2/fsck/pass2.c:922
msgid "Encountered bad filename length; stopped processing.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:958
+#: gfs2/fsck/pass2.c:928
msgid "Skipping entry '.'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:961
+#: gfs2/fsck/pass2.c:931
msgid "Skipping entry '..'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:963
+#: gfs2/fsck/pass2.c:933
#, c-format
msgid "Skipping sentinel '%s'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:973
+#: gfs2/fsck/pass2.c:943
#, c-format
msgid "Not relocating corrupt entry \"%s\".\n"
msgstr ""
-#: gfs2/fsck/pass2.c:980
+#: gfs2/fsck/pass2.c:950
#, c-format
msgid "Error %d encountered while trying to relocate \"%s\" to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:988 gfs2/fsck/lost_n_found.c:251
+#: gfs2/fsck/pass2.c:958 gfs2/fsck/lost_n_found.c:245
msgid "from lost+found"
msgstr ""
-#: gfs2/fsck/pass2.c:994 gfs2/fsck/lost_n_found.c:254
+#: gfs2/fsck/pass2.c:964 gfs2/fsck/lost_n_found.c:248
msgid "to lost+found"
msgstr ""
-#: gfs2/fsck/pass2.c:995
+#: gfs2/fsck/pass2.c:965
#, c-format
msgid "Relocated \"%s\", block %llu (0x%llx) to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1006
+#: gfs2/fsck/pass2.c:976
msgid ""
"Directory entries from misplaced leaf block were relocated to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1009
+#: gfs2/fsck/pass2.c:979
msgid "lost leaf"
msgstr ""
-#: gfs2/fsck/pass2.c:1118
+#: gfs2/fsck/pass2.c:1089
#, c-format
msgid ""
"Dinode %llu (0x%llx) has a hash table error at index 0x%x, length 0x%x: leaf "
"block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1123 gfs2/fsck/pass2.c:1343 gfs2/fsck/pass2.c:1367
-#: gfs2/fsck/pass2.c:1464 gfs2/fsck/pass2.c:1552
+#: gfs2/fsck/pass2.c:1094 gfs2/fsck/pass2.c:1315 gfs2/fsck/pass2.c:1339
+#: gfs2/fsck/pass2.c:1436 gfs2/fsck/pass2.c:1524
msgid "Fix the hash table? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1124 gfs2/fsck/pass2.c:1344 gfs2/fsck/pass2.c:1368
-#: gfs2/fsck/pass2.c:1465 gfs2/fsck/pass2.c:1553
+#: gfs2/fsck/pass2.c:1095 gfs2/fsck/pass2.c:1316 gfs2/fsck/pass2.c:1340
+#: gfs2/fsck/pass2.c:1437 gfs2/fsck/pass2.c:1525
msgid "Hash table not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1139
+#: gfs2/fsck/pass2.c:1110
#, c-format
msgid "This leaf block's depth (%d) is too big for this dinode's depth (%d)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1157
+#: gfs2/fsck/pass2.c:1128
#, c-format
msgid ""
"Out of place leaf block %llu (0x%llx) had no entries, so it was deleted.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1162
+#: gfs2/fsck/pass2.c:1133
#, c-format
msgid "Reprocessing index 0x%x (case 1).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1175
+#: gfs2/fsck/pass2.c:1146
#, c-format
msgid ""
"This leaf block has hash index %d, which is out of bounds for where it "
"appears in the hash table (%d - %d)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1188
+#: gfs2/fsck/pass2.c:1159
#, c-format
msgid "Leaf pointers start at %d (0x%x), should be %d (%x).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1203
+#: gfs2/fsck/pass2.c:1174
#, c-format
msgid ""
"Leaf block should start at 0x%x, but it appears at 0x%x in the hash table.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1218
+#: gfs2/fsck/pass2.c:1189
#, c-format
msgid "For depth %d, length %d, the proper start is: 0x%x.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1226
+#: gfs2/fsck/pass2.c:1197
#, c-format
msgid "Leaf block %llu (0x%llx) was split from length %d to %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1230
+#: gfs2/fsck/pass2.c:1201
#, c-format
msgid "Programming error: proper_len=%d, di_depth = %d, lf_depth = %d.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1235
+#: gfs2/fsck/pass2.c:1206
#, c-format
msgid ""
"New split-off leaf block was allocated at %lld (0x%llx) for index %d (0x%x)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1241
+#: gfs2/fsck/pass2.c:1213
msgid "Hash table repaired.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1246
+#: gfs2/fsck/pass2.c:1218
msgid ""
"One leaf split is not enough. The hash table will need to be reprocessed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1255
+#: gfs2/fsck/pass2.c:1227
#, c-format
msgid "There are %d pointers, but leaf 0x%llx's depth, %d, only allows %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1274
+#: gfs2/fsck/pass2.c:1246
#, c-format
msgid "Found %d extra pointers to leaf %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1278
+#: gfs2/fsck/pass2.c:1250
#, c-format
msgid "Reprocessing index 0x%x (case 2).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1310
+#: gfs2/fsck/pass2.c:1282
#, c-format
msgid ""
"Dinode %llu (0x%llx) has duplicate leaf pointers to block %llu (0x%llx) at "
"offsets %u (0x%x) (for 0x%x) and %u (0x%x) (for 0x%x)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1340
+#: gfs2/fsck/pass2.c:1312
#, c-format
msgid ""
"This leaf block has hash index %d, which is out of bounds for lindex (%d - "
"%d)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1355 gfs2/fsck/pass2.c:1378
+#: gfs2/fsck/pass2.c:1327 gfs2/fsck/pass2.c:1350
#, c-format
msgid "Hash index 0x%x is the proper reference to leaf 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1364
+#: gfs2/fsck/pass2.c:1336
#, c-format
msgid ""
"This leaf block has hash index %d, which is out of bounds for lindex (%d - "
"%d).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1459
+#: gfs2/fsck/pass2.c:1431
#, c-format
msgid "Dinode %llu (0x%llx) has bad leaf pointers at offset %d for %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1470 gfs2/fsck/metawalk.c:2093
+#: gfs2/fsck/pass2.c:1442 gfs2/fsck/metawalk.c:2242
msgid "replacing"
msgstr ""
-#: gfs2/fsck/pass2.c:1487
+#: gfs2/fsck/pass2.c:1459
#, c-format
msgid ""
"lindex 0x%llx is not a proper starting point for leaf %llu (0x%llx): 0x%llx\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1499
+#: gfs2/fsck/pass2.c:1471
msgid "More leaf splits are needed; "
msgstr ""
-#: gfs2/fsck/pass2.c:1501
+#: gfs2/fsck/pass2.c:1473
#, c-format
msgid "Reprocessing index 0x%x (case 3).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1513
+#: gfs2/fsck/pass2.c:1485
#, c-format
msgid ""
"Length %d (0x%x) is not a proper length for leaf %llu (0x%llx). Valid "
"boundary assumed to be %d (0x%x).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1533
+#: gfs2/fsck/pass2.c:1505
#, c-format
msgid "Reprocessing index 0x%x (case 4).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1547
+#: gfs2/fsck/pass2.c:1519
#, c-format
msgid ""
"Dinode %llu (0x%llx) has a hash table inconsistency at index %d (0x%x) for "
"%d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1566
+#: gfs2/fsck/pass2.c:1538
#, c-format
msgid "Length 0x%x is not proper for leaf %llu (0x%llx): 0x%x\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1622
+#: gfs2/fsck/pass2.c:1594
#, c-format
msgid ""
"Error: quota_change block at %lld (0x%llx) is the wrong metadata type.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1656
+#: gfs2/fsck/pass2.c:1628
#, c-format
msgid "Checking system file %s\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1659
+#: gfs2/fsck/pass2.c:1631
#, c-format
msgid "System file %s is missing.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1660 gfs2/fsck/pass2.c:1673
+#: gfs2/fsck/pass2.c:1632 gfs2/fsck/pass2.c:1645
msgid "Rebuild the system file? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1671
+#: gfs2/fsck/pass2.c:1643
#, c-format
msgid "System file %s has an invalid size. Is %llu, should be %llu.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1682
+#: gfs2/fsck/pass2.c:1654
#, c-format
msgid "System file %s has bad contents.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1683
+#: gfs2/fsck/pass2.c:1655
msgid "Delete and rebuild the system file? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1696
+#: gfs2/fsck/pass2.c:1668
#, c-format
msgid "Error building %s\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1701
+#: gfs2/fsck/pass2.c:1673
#, c-format
msgid "Error rebuilding %s.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1706
+#: gfs2/fsck/pass2.c:1678
#, c-format
msgid "System file %s rebuilt.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1719
+#: gfs2/fsck/pass2.c:1692
#, c-format
msgid "Checking system directory inode '%s'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1722
+#: gfs2/fsck/pass2.c:1695
#, c-format
msgid "Failed to check '%s': sysinode is null\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1740
+#: gfs2/fsck/pass2.c:1713
msgid "System inode"
msgstr ""
-#: gfs2/fsck/pass2.c:1758
+#: gfs2/fsck/pass2.c:1730
#, c-format
msgid "No '.' entry found for %s directory.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1759 gfs2/fsck/pass2.c:1984
+#: gfs2/fsck/pass2.c:1731 gfs2/fsck/pass2.c:1879
msgid "Is it okay to add '.' entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1761
+#: gfs2/fsck/pass2.c:1733
msgid "Adding '.' entry\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1776 gfs2/fsck/pass2.c:2008
+#: gfs2/fsck/pass2.c:1748 gfs2/fsck/pass2.c:1901
msgid "The directory was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1779
+#: gfs2/fsck/pass2.c:1751
#, c-format
msgid "%s inode %llu (0x%llx): Entries is %d - should be %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1784
+#: gfs2/fsck/pass2.c:1756
#, c-format
msgid "Fix entries for %s inode %llu (0x%llx)? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1790
+#: gfs2/fsck/pass2.c:1762
msgid "Entries updated\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1792
+#: gfs2/fsck/pass2.c:1764
#, c-format
msgid "Entries for inode %llu (0x%llx) left out of sync\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1885
-msgid "Checking directory inodes.\n"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:1905
-msgid "Pass2 skipping the new lost+found.\n"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:1909
-#, c-format
-msgid "Checking directory inode at block %llu (0x%llx)\n"
-msgstr ""
-
-#: gfs2/fsck/pass2.c:1957
+#: gfs2/fsck/pass2.c:1856
#, c-format
msgid "Unable to find dentry for %llu (0x%llx) in %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1967
+#: gfs2/fsck/pass2.c:1865
msgid "Directory entry to invalid inode remains.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1968
+#: gfs2/fsck/pass2.c:1867
#, c-format
msgid "Directory block %lld (0x%llx) is now marked as 'invalid'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1979
+#: gfs2/fsck/pass2.c:1876
#, c-format
msgid "No '.' entry found for directory inode at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:2004
+#: gfs2/fsck/pass2.c:1897
msgid "\". (itself)\""
msgstr ""
-#: gfs2/fsck/pass2.c:2006
+#: gfs2/fsck/pass2.c:1899
msgid "The directory was fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:2013
+#: gfs2/fsck/pass2.c:1906
#, c-format
msgid "Entries is %d - should be %d for inode block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:2018
+#: gfs2/fsck/pass2.c:1910
msgid "Fix the entry count? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:2022
+#: gfs2/fsck/pass2.c:1914
msgid "The entry count was not fixed.\n"
msgstr ""
+#: gfs2/fsck/pass2.c:1964
+msgid "Checking directory inodes.\n"
+msgstr ""
+
+#: gfs2/fsck/pass2.c:1991
+msgid "Pass2 skipping the new lost+found.\n"
+msgstr ""
+
+#: gfs2/fsck/pass2.c:1995
+#, c-format
+msgid "Checking directory inode at block %llu (0x%llx)\n"
+msgstr ""
+
#: gfs2/fsck/metawalk.c:41
#, c-format
msgid ""
@@ -2842,19 +2892,19 @@ msgid ""
"or superblock.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:55
+#: gfs2/fsck/metawalk.c:54
#, c-format
msgid ""
"Reference as '%s' to block %llu (0x%llx) which was marked as dinode. Needs "
"further investigation.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:65
+#: gfs2/fsck/metawalk.c:64
#, c-format
msgid "Block %llu (0x%llx) was '%s', should be %s.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:69
+#: gfs2/fsck/metawalk.c:68
msgid "Fix the bitmap? (y/n)"
msgstr ""
@@ -2876,232 +2926,246 @@ msgstr ""
msgid "(%s:%d) inode (0x%llx) references %s block (0x%llx): marking as '%s'\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:180
+#: gfs2/fsck/metawalk.c:181
msgid "This block is not represented in the bitmap.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:373
+#: gfs2/fsck/metawalk.c:374
#, c-format
msgid "Checking leaf %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:377
-#, c-format
-msgid "Invalid directory type %d specified\n"
-msgstr ""
-
-#: gfs2/fsck/metawalk.c:395
+#: gfs2/fsck/metawalk.c:393
#, c-format
msgid ""
"Directory block %llu (0x%llx), entry %d of directory %llu (0x%llx) is "
"corrupt.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:403
+#: gfs2/fsck/metawalk.c:401
msgid "Attempt to repair it? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:410
+#: gfs2/fsck/metawalk.c:408
msgid ""
"Unable to repair corrupt directory entry; the entry was removed instead.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:416
+#: gfs2/fsck/metawalk.c:414
msgid "Corrupt directory entry repaired.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:421 gfs2/fsck/metawalk.c:444
+#: gfs2/fsck/metawalk.c:419 gfs2/fsck/metawalk.c:442
#, c-format
msgid "Corrupt directory entry ignored, stopped after checking %d entries.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:429
+#: gfs2/fsck/metawalk.c:427
msgid "First dirent is a sentinel (place holder).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:432
+#: gfs2/fsck/metawalk.c:430
#, c-format
msgid ""
"Directory entry with inode number of zero in leaf %llu (0x%llx) of directory "
"%llu (0x%llx)!\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:439
+#: gfs2/fsck/metawalk.c:437
msgid "Attempt to remove it? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:441
+#: gfs2/fsck/metawalk.c:439
msgid "The corrupt directory entry was removed.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:453
+#: gfs2/fsck/metawalk.c:451
msgid "First dirent is a Sentinel (place holder).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:474
+#: gfs2/fsck/metawalk.c:472
#, c-format
msgid "Last entry processed for %lld->%lld (0x%llx->0x%llx), di_blocks=%llu.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:510
+#: gfs2/fsck/metawalk.c:509
#, c-format
msgid ""
"Leaf block #%llu (0x%llx) is out of range for directory #%llu (0x%llx) at "
"index %d (0x%x).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:517
+#: gfs2/fsck/metawalk.c:516
msgid "that is out of range"
msgstr ""
-#: gfs2/fsck/metawalk.c:525
+#: gfs2/fsck/metawalk.c:524
msgid "that is not really a leaf"
msgstr ""
-#: gfs2/fsck/metawalk.c:534
+#: gfs2/fsck/metawalk.c:533
#, c-format
msgid ""
"Previous reference to leaf %lld (0x%llx) has already checked it; skipping.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:549
+#: gfs2/fsck/metawalk.c:548
#, c-format
msgid "incorrect lf_dirent_format at leaf #%<PRIu64>\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:553
+#: gfs2/fsck/metawalk.c:552
msgid "Fixing lf_dirent_format.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:558
+#: gfs2/fsck/metawalk.c:557
#, c-format
msgid "Inode %llu (0x%llx) points to bad leaf %llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:564
+#: gfs2/fsck/metawalk.c:563
msgid "that is not a leaf"
msgstr ""
-#: gfs2/fsck/metawalk.c:589
+#: gfs2/fsck/metawalk.c:588
#, c-format
msgid ""
"Leaf %llu (0x%llx) entry count in directory %llu (0x%llx) does not match "
"number of entries found - is %u, found %u\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:597
+#: gfs2/fsck/metawalk.c:596
msgid "Update leaf entry count? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:600
+#: gfs2/fsck/metawalk.c:599
msgid "Leaf entry count updated\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:602
+#: gfs2/fsck/metawalk.c:601
msgid "Leaf entry count left in inconsistant state\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:721
+#: gfs2/fsck/metawalk.c:607
+#, c-format
+msgid ""
+"Depth of directory %lld (0x%llx) changed from %d to %d; adjusting ref_count "
+"from %d to %d\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:633
+#, c-format
+msgid ""
+"Depth of directory %lld (0x%llx) changed from %d to %d. Adjusting ref_count "
+"from %d to %d\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:742
#, c-format
msgid "Directory #%llu (0x%llx) has no valid leaf blocks\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:739
+#: gfs2/fsck/metawalk.c:760
#, c-format
msgid "Re-reading 0x%llx hash table.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:782
+#: gfs2/fsck/metawalk.c:798
+#, c-format
+msgid "Ref count of leaf 0x%llx changed from %d to %d.\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:812
#, c-format
msgid "Leaf chain #%d (0x%llx) detected.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:786
+#: gfs2/fsck/metawalk.c:816
#, c-format
msgid "Depth of 0x%llx changed from %d to %d\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:792
+#: gfs2/fsck/metawalk.c:824
#, c-format
msgid "Height of 0x%llx changed from %d to %d\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:799
+#: gfs2/fsck/metawalk.c:831
#, c-format
msgid "Block count of 0x%llx changed from %llu to %llu\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:862
+#: gfs2/fsck/metawalk.c:894
#, c-format
msgid "Bad extended attribute found at block %lld (0x%llx)"
msgstr ""
-#: gfs2/fsck/metawalk.c:869
+#: gfs2/fsck/metawalk.c:901
msgid "Repair the bad Extended Attribute? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:881 gfs2/fsck/metawalk.c:1769
-#: gfs2/fsck/metawalk.c:1826 gfs2/fsck/pass1.c:962
+#: gfs2/fsck/metawalk.c:913 gfs2/fsck/metawalk.c:1840
+#: gfs2/fsck/metawalk.c:1897 gfs2/fsck/pass1.c:993
msgid "extended attribute"
msgstr ""
-#: gfs2/fsck/metawalk.c:883
+#: gfs2/fsck/metawalk.c:916
msgid "The EA was fixed.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:887
+#: gfs2/fsck/metawalk.c:920
msgid "The bad EA was not fixed.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:925
+#: gfs2/fsck/metawalk.c:958
#, c-format
msgid "Checking EA leaf block #%llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:985
+#: gfs2/fsck/metawalk.c:1018
msgid "This was the last reference: it's no longer a duplicate.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:991
+#: gfs2/fsck/metawalk.c:1024
#, c-format
msgid "%d block reference(s) remain.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1014
+#: gfs2/fsck/metawalk.c:1047
#, c-format
msgid ""
"%s block %lld (0x%llx), part of inode %lld (0x%llx), was already free.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1025
+#: gfs2/fsck/metawalk.c:1058
#, c-format
msgid ""
"Not clearing duplicate reference in inode at block #%llu (0x%llx) to block #"
"%llu (0x%llx) because it's referenced by another inode.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1056
+#: gfs2/fsck/metawalk.c:1089
#, c-format
msgid "Checking EA indirect block #%llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1076
+#: gfs2/fsck/metawalk.c:1109
msgid "Fix the indirect block too? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:1145
+#: gfs2/fsck/metawalk.c:1178
#, c-format
msgid "Extended attributes exist for inode #%llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1331
+#: gfs2/fsck/metawalk.c:1364
#, c-format
msgid ""
"\n"
"Serious metadata error on block %llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1339
+#: gfs2/fsck/metawalk.c:1372
#, c-format
msgid ""
"\n"
@@ -3109,197 +3173,229 @@ msgid ""
"be skipped.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1348
+#: gfs2/fsck/metawalk.c:1381
#, c-format
msgid "Skipping rejected block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1358
+#: gfs2/fsck/metawalk.c:1391
#, c-format
msgid "Skipping duplicate %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1365
+#: gfs2/fsck/metawalk.c:1398
#, c-format
msgid "Skipping invalid block %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1425
+#: gfs2/fsck/metawalk.c:1459
+#, c-format
+msgid "Fatal error on block 0x%llx preempts non-fatal error on block 0x%llx\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:1466
msgid "Unrecoverable "
msgstr ""
-#: gfs2/fsck/metawalk.c:1427
+#: gfs2/fsck/metawalk.c:1471
#, c-format
msgid "data block error %d on block %llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1548
+#: gfs2/fsck/metawalk.c:1502
+#, c-format
+msgid "Stopping the undo process: fatal error block 0x%llx was found.\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:1509
+#, c-format
+msgid ""
+"The non-fatal error block 0x%llx was found, but undo processing will "
+"continue until the end of this metadata block.\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:1612
#, c-format
msgid ""
"\rLarge file at %lld (0x%llx) - 100 percent "
"complete. \n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1558
+#: gfs2/fsck/metawalk.c:1624
#, c-format
-msgid "Error: inode %llu (0x%llx) had unrecoverable errors.\n"
+msgid "Error: inode %llu (0x%llx) had unrecoverable errors at %lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1561
+#: gfs2/fsck/metawalk.c:1629
msgid "Remove the invalid inode? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:1563
+#: gfs2/fsck/metawalk.c:1631
msgid "Invalid inode not deleted.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1572
+#: gfs2/fsck/metawalk.c:1640
#, c-format
msgid "Undoing metadata work for block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1609
+#: gfs2/fsck/metawalk.c:1677
msgid "corrupt"
msgstr ""
-#: gfs2/fsck/metawalk.c:1610
+#: gfs2/fsck/metawalk.c:1678
msgid "The corrupt inode was invalidated.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1651
+#: gfs2/fsck/metawalk.c:1716
msgid "Current"
msgstr ""
-#: gfs2/fsck/metawalk.c:1688
+#: gfs2/fsck/metawalk.c:1753
#, c-format
msgid "Removing dentry %llu (0x%llx) from directory %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1693
+#: gfs2/fsck/metawalk.c:1758
msgid "Parent directory is invalid\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1701
-msgid "Parent block is not a directory...ignoring\n"
+#: gfs2/fsck/metawalk.c:1766
+msgid "Parent block is not an inode...ignoring\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1717 gfs2/fsck/pass1.c:930
+#: gfs2/fsck/metawalk.c:1788 gfs2/fsck/pass1.c:961
msgid "metadata"
msgstr ""
-#: gfs2/fsck/metawalk.c:1723 gfs2/fsck/pass1.c:937
+#: gfs2/fsck/metawalk.c:1794 gfs2/fsck/pass1.c:968
msgid "leaf"
msgstr ""
-#: gfs2/fsck/metawalk.c:1730 gfs2/fsck/pass1.c:406 gfs2/fsck/pass1.c:432
-#: gfs2/fsck/pass1.c:944
+#: gfs2/fsck/metawalk.c:1801 gfs2/fsck/pass1.c:413 gfs2/fsck/pass1.c:439
+#: gfs2/fsck/pass1.c:975
msgid "data"
msgstr ""
-#: gfs2/fsck/metawalk.c:1776 gfs2/fsck/pass1.c:953
+#: gfs2/fsck/metawalk.c:1847 gfs2/fsck/pass1.c:984
msgid "indirect extended attribute"
msgstr ""
-#: gfs2/fsck/metawalk.c:1813 gfs2/fsck/pass1.c:867
+#: gfs2/fsck/metawalk.c:1884 gfs2/fsck/pass1.c:898
#, c-format
msgid ""
" Pointers Required: %d\n"
" Pointers Reported: %d\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1845
+#: gfs2/fsck/metawalk.c:1916
#, c-format
msgid ""
"%s reference to new metadata block %lld (0x%llx) is now marked as indirect.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1865
+#: gfs2/fsck/metawalk.c:1937
#, c-format
msgid "%s reference to new data block %lld (0x%llx) is now marked as data.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1883
+#: gfs2/fsck/metawalk.c:1955
msgid "newly allocated leaf"
msgstr ""
-#: gfs2/fsck/metawalk.c:1923
+#: gfs2/fsck/metawalk.c:2016
+#, c-format
+msgid ""
+"Error: inode %llu (0x%llx) has invalid allocation goal block %llu (0x%llx). "
+"Should be %llu (0x%llx)\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:2023
+msgid "Fix the invalid goal block? (y/n) "
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:2027
+msgid "Invalid goal block not fixed.\n"
+msgstr ""
+
+#: gfs2/fsck/metawalk.c:2071
#, c-format
msgid ""
"%s inode %llu (0x%llx) had blocks added; reprocessing its metadata tree at "
"height=%d.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1930
+#: gfs2/fsck/metawalk.c:2078
#, c-format
msgid "Error %d reprocessing the %s metadata tree.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1963
+#: gfs2/fsck/metawalk.c:2111
msgid "Program error: num_copies not a factor of 2.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1964
+#: gfs2/fsck/metawalk.c:2112
#, c-format
msgid "num_copies=%d, dinode = %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1968
+#: gfs2/fsck/metawalk.c:2116
#, c-format
msgid "lindex = %d (0x%x)\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1976
+#: gfs2/fsck/metawalk.c:2124
msgid "Error: allocation failed while fixing directory leaf pointers.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:1981 gfs2/fsck/pass1.c:241
+#: gfs2/fsck/metawalk.c:2129 gfs2/fsck/pass1.c:240
msgid "directory leaf"
msgstr ""
-#: gfs2/fsck/metawalk.c:1982
+#: gfs2/fsck/metawalk.c:2131
#, c-format
msgid ""
"A new directory leaf was allocated at block %lld (0x%llx) to fill the %d (0x"
"%x) pointer gap %s the existing pointer at index %d (0x%x).\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2011
+#: gfs2/fsck/metawalk.c:2160
#, c-format
msgid ""
"Writing to the hash table of directory %lld (0x%llx) at index: 0x%x for 0x"
"%lx pointers.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2024
+#: gfs2/fsck/metawalk.c:2173
msgid "Error: bad write while fixing directory leaf pointers.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2043
+#: gfs2/fsck/metawalk.c:2192
#, c-format
msgid "Directory Inode %llu (0x%llx) points to leaf %llu (0x%llx) %s.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2049
+#: gfs2/fsck/metawalk.c:2198
msgid "Attempt to patch around it? (y/n) "
msgstr ""
-#: gfs2/fsck/metawalk.c:2050
+#: gfs2/fsck/metawalk.c:2199
msgid "Bad leaf left in place.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2065
+#: gfs2/fsck/metawalk.c:2214
#, c-format
msgid ""
"Writing zeros to the hash table of directory %lld (0x%llx) at index: 0x%x "
"for 0x%x pointers.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2077
+#: gfs2/fsck/metawalk.c:2226
#, c-format
msgid "Directory Inode %llu (0x%llx) patched.\n"
msgstr ""
-#: gfs2/fsck/metawalk.c:2101
+#: gfs2/fsck/metawalk.c:2250
#, c-format
msgid "Directory Inode %llu (0x%llx) repaired.\n"
msgstr ""
@@ -3372,44 +3468,40 @@ msgid ""
"dinode %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/util.c:611
+#: gfs2/fsck/util.c:610
msgid "directory"
msgstr ""
-#: gfs2/fsck/util.c:618
+#: gfs2/fsck/util.c:613
msgid "file"
msgstr ""
-#: gfs2/fsck/util.c:622
+#: gfs2/fsck/util.c:616
msgid "symlink"
msgstr ""
-#: gfs2/fsck/util.c:627
+#: gfs2/fsck/util.c:619
msgid "block device"
msgstr ""
-#: gfs2/fsck/util.c:632
+#: gfs2/fsck/util.c:622
msgid "character device"
msgstr ""
-#: gfs2/fsck/util.c:637
+#: gfs2/fsck/util.c:625
msgid "fifo"
msgstr ""
-#: gfs2/fsck/util.c:642
+#: gfs2/fsck/util.c:628
msgid "socket"
msgstr ""
-#: gfs2/fsck/util.c:647 gfs2/fsck/pass1.c:1104
-msgid "invalid mode"
-msgstr ""
-
-#: gfs2/fsck/util.c:748
+#: gfs2/fsck/util.c:731
#, c-format
msgid "This was the last reference: 0x%llx is no longer a duplicate.\n"
msgstr ""
-#: gfs2/fsck/util.c:753
+#: gfs2/fsck/util.c:736
#, c-format
msgid "%d references remain to 0x%llx\n"
msgstr ""
@@ -3501,11 +3593,11 @@ msgstr ""
msgid "Marking lost+found inode connected\n"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:184
+#: gfs2/fsck/lost_n_found.c:183
msgid "Trying to add lost+found to itself...skipping"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:256
+#: gfs2/fsck/lost_n_found.c:250
#, c-format
msgid "Added inode #%llu (0x%llx) to lost+found\n"
msgstr ""
@@ -3611,100 +3703,100 @@ msgstr ""
msgid "rindex rebuilt as follows:\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:627
+#: gfs2/fsck/rgrepair.c:745
#, c-format
msgid "rgsize must be: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:639
+#: gfs2/fsck/rgrepair.c:757
#, c-format
msgid "fs_total_size = 0x%llx blocks.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:641
+#: gfs2/fsck/rgrepair.c:759
#, c-format
msgid "L3: number of rgs in the index = %d.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:655
+#: gfs2/fsck/rgrepair.c:773
#, c-format
msgid "Block #%lld (0x%llx) (%d of %d) is not %s.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:659
+#: gfs2/fsck/rgrepair.c:777
msgid "Fix the Resource Group? (y/n)"
msgstr ""
-#: gfs2/fsck/rgrepair.c:660
+#: gfs2/fsck/rgrepair.c:778
msgid "Attempting to repair the rgrp.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:745
+#: gfs2/fsck/rgrepair.c:863
msgid "The rindex file does not meet our expectations.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:771 gfs2/fsck/rgrepair.c:783
+#: gfs2/fsck/rgrepair.c:889 gfs2/fsck/rgrepair.c:901
msgid "Error rebuilding rgrp list.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:793
+#: gfs2/fsck/rgrepair.c:911
msgid "WARNING: rindex file is corrupt.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:798
+#: gfs2/fsck/rgrepair.c:916
#, c-format
msgid "L%d: number of rgs expected = %lld.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:801
+#: gfs2/fsck/rgrepair.c:919
#, c-format
msgid "L%d: They don't match; either (1) the fs was extended, (2) an odd\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:803
+#: gfs2/fsck/rgrepair.c:921
#, c-format
msgid "L%d: rgrp size was used, or (3) we have a corrupt rg index.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:829
+#: gfs2/fsck/rgrepair.c:947
#, c-format
msgid "%d addr: 0x%llx < 0x%llx * mismatch\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:836
+#: gfs2/fsck/rgrepair.c:954
#, c-format
msgid "%d addr: 0x%llx > 0x%llx * mismatch\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:846
+#: gfs2/fsck/rgrepair.c:964
#, c-format
msgid "%d addr: 0x%llx 0x%llx * has mismatch\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:857
+#: gfs2/fsck/rgrepair.c:975
#, c-format
msgid "Level %d didn't work. Too many discrepancies.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:859
+#: gfs2/fsck/rgrepair.c:977
#, c-format
msgid "%d out of %d rgrps (%d percent) did not match what was expected.\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:884
+#: gfs2/fsck/rgrepair.c:1002
#, c-format
msgid "Entry missing from rindex: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:889
+#: gfs2/fsck/rgrepair.c:1007
msgid "Out of memory!\n"
msgstr ""
-#: gfs2/fsck/rgrepair.c:908
+#: gfs2/fsck/rgrepair.c:1026
msgid "Fix the index? (y/n)"
msgstr ""
-#: gfs2/fsck/rgrepair.c:929
+#: gfs2/fsck/rgrepair.c:1047
msgid "rindex not fixed.\n"
msgstr ""
@@ -3791,227 +3883,266 @@ msgstr ""
msgid "The statfs file was fixed.\n"
msgstr ""
-#: gfs2/fsck/main.c:259
+#: gfs2/fsck/main.c:274
#, c-format
-msgid "Starting %s\n"
+msgid "%s completed in %s\n"
msgstr ""
-#: gfs2/fsck/main.c:266
+#: gfs2/fsck/main.c:286
#, c-format
-msgid "%s interrupted \n"
+msgid "Starting %s\n"
msgstr ""
-#: gfs2/fsck/main.c:273
+#: gfs2/fsck/main.c:294
#, c-format
-msgid "%s completed in "
+msgid "%s interrupted \n"
msgstr ""
-#: gfs2/fsck/main.c:334
+#: gfs2/fsck/main.c:354
msgid "Initializing fsck\n"
msgstr ""
-#: gfs2/fsck/main.c:339
+#: gfs2/fsck/main.c:359
#, c-format
msgid "%s: clean.\n"
msgstr ""
-#: gfs2/fsck/main.c:369
+#: gfs2/fsck/main.c:389
msgid "Writing changes to disk\n"
msgstr ""
-#: gfs2/fsck/main.c:373
+#: gfs2/fsck/main.c:393
msgid ""
"Superblock was reset. Use tunegfs2 to manually set lock table before "
"mounting.\n"
msgstr ""
-#: gfs2/fsck/main.c:375
+#: gfs2/fsck/main.c:395
msgid "gfs2_fsck complete\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:127
+#: gfs2/fsck/fs_recovery.c:104
+#, c-format
+msgid "Block is part of rgrp 0x%llx; refreshing the rgrp.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:153
#, c-format
msgid "Journal replay writing metadata block #%lld (0x%llx) for journal+0x%x\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:133 gfs2/fsck/fs_recovery.c:245
+#: gfs2/fsck/fs_recovery.c:159 gfs2/fsck/fs_recovery.c:279
msgid "Out of memory when replaying journals.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:185
+#: gfs2/fsck/fs_recovery.c:168
+#, c-format
+msgid "Journal corruption detected at block #%lld (0x%llx) for journal+0x%x.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:219
#, c-format
msgid ""
"Journal replay processing revoke for block #%lld (0x%llx) for journal+0x%x\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:239
+#: gfs2/fsck/fs_recovery.c:273
#, c-format
msgid "Journal replay writing data block #%lld (0x%llx) for journal+0x%x\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:392
+#: gfs2/fsck/fs_recovery.c:351
+#, c-format
+msgid "Journal corruption detected at journal+0x%x.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:433
#, c-format
msgid "Journal block %u (0x%x): sequence no. 0x%llx out of order.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:394
+#: gfs2/fsck/fs_recovery.c:435
#, c-format
msgid "Low: 0x%llx, High: 0x%llx, Prev: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:401
+#: gfs2/fsck/fs_recovery.c:445
#, c-format
msgid "Renumbering it as 0x%llx\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:455
+#: gfs2/fsck/fs_recovery.c:452
+#, c-format
+msgid "%d sequence errors fixed.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:503
#, c-format
msgid "jid=%u: Looking at journal...\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:461
+#: gfs2/fsck/fs_recovery.c:510
+#, c-format
+msgid ""
+"Journal #%d (\"journal%d\") has %d sequencing errors; tolerance is %d.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:518
#, c-format
msgid "Journal #%d (\"journal%d\") is corrupt\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:462
+#: gfs2/fsck/fs_recovery.c:519
msgid "Not fixing it due to the -n option.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:466
+#: gfs2/fsck/fs_recovery.c:523
#, c-format
msgid "Journal #%d (\"journal%d\") is corrupt.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:468
+#: gfs2/fsck/fs_recovery.c:525
msgid ""
"I'm not fixing it because it may be unsafe:\n"
"Locking protocol is not lock_nolock and the -a or -p option was specified.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:471 gfs2/fsck/fs_recovery.c:514
+#: gfs2/fsck/fs_recovery.c:528 gfs2/fsck/fs_recovery.c:571
msgid ""
"Please make sure no node has the file system mounted then rerun fsck.gfs2 "
"manually without -a or -p.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:476
+#: gfs2/fsck/fs_recovery.c:533
#, c-format
msgid ""
"\n"
"Journal #%d (\"journal%d\") is corrupt. Okay to repair it? (y/n)"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:479
+#: gfs2/fsck/fs_recovery.c:536
#, c-format
msgid "jid=%u: The journal was not repaired.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:483
+#: gfs2/fsck/fs_recovery.c:540
#, c-format
msgid "jid=%u: Repairing journal...\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:486 gfs2/fsck/fs_recovery.c:492
+#: gfs2/fsck/fs_recovery.c:543 gfs2/fsck/fs_recovery.c:549
#, c-format
msgid "jid=%u: Unable to fix the bad journal.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:496
+#: gfs2/fsck/fs_recovery.c:553
#, c-format
msgid "jid=%u: The journal was successfully fixed.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:500
+#: gfs2/fsck/fs_recovery.c:557
#, c-format
msgid "jid=%u: Journal is clean.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:505 gfs2/fsck/fs_recovery.c:510
+#: gfs2/fsck/fs_recovery.c:562 gfs2/fsck/fs_recovery.c:567
#, c-format
msgid "Journal #%d (\"journal%d\") is dirty\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:506
+#: gfs2/fsck/fs_recovery.c:563
msgid "not replaying due to the -n option.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:511
+#: gfs2/fsck/fs_recovery.c:568
msgid ""
"I'm not replaying it because it may be unsafe:\n"
"Locking protocol is not lock_nolock and the -a or -p option was specified.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:520
+#: gfs2/fsck/fs_recovery.c:577
#, c-format
msgid ""
"\n"
"Journal #%d (\"journal%d\") is dirty. Okay to replay it? (y/n)"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:524
+#: gfs2/fsck/fs_recovery.c:581
#, c-format
msgid "jid=%u: Replaying journal...\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:536
+#: gfs2/fsck/fs_recovery.c:591
+msgid "Error found during journal replay.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:595
#, c-format
msgid "jid=%u: Found %u revoke tags\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:541
+#: gfs2/fsck/fs_recovery.c:600
#, c-format
msgid "jid=%u: Replayed %u of %u journaled data blocks\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:543
+#: gfs2/fsck/fs_recovery.c:602
#, c-format
msgid "jid=%u: Replayed %u of %u metadata blocks\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:550
+#: gfs2/fsck/fs_recovery.c:609
#, c-format
msgid "jid=%u: Done\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:553
+#: gfs2/fsck/fs_recovery.c:612
#, c-format
msgid "jid=%u: Failed\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:555
+#: gfs2/fsck/fs_recovery.c:614
msgid "Do you want to clear the journal instead? (y/n)"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:560
+#: gfs2/fsck/fs_recovery.c:618
+#, c-format
+msgid "jid=%u: journal was cleared.\n"
+msgstr ""
+
+#: gfs2/fsck/fs_recovery.c:620
#, c-format
msgid "jid=%u: journal not cleared.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:569
+#: gfs2/fsck/fs_recovery.c:630
#, c-format
msgid ""
"Bad block pointer (out of range) found in journal inode %lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:593
+#: gfs2/fsck/fs_recovery.c:654
#, c-format
msgid ""
"Journal at block %lld (0x%llx) has a bad indirect block pointer %lld (0x"
"%llx) (points to something that is not an indirect block).\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:675
+#: gfs2/fsck/fs_recovery.c:717
#, c-format
msgid ""
"File system journal \"journal%d\" is missing or corrupt: pass1 will try to "
"recreate it.\n"
msgstr ""
-#: gfs2/fsck/fs_recovery.c:696
+#: gfs2/fsck/fs_recovery.c:737
msgid "Recovering journals (this may take a while)\n"
msgstr ""
+#: gfs2/fsck/fs_recovery.c:766
+msgid "Journal index inode not found.\n"
+msgstr ""
+
#: gfs2/fsck/link.c:47
#, c-format
msgid "Dir (0x%llx) incremented counted links to %u for (0x%llx) via %s\n"
@@ -4047,10 +4178,6 @@ msgstr ""
msgid "Changing inode %llu (0x%llx) to have %u links\n"
msgstr ""
-#: gfs2/fsck/pass4.c:59
-msgid "osi_tree broken in scan_info_list!!\n"
-msgstr ""
-
#: gfs2/fsck/pass4.c:70
#, c-format
msgid "Found unlinked inode at %llu (0x%llx)\n"
@@ -4073,69 +4200,69 @@ msgstr ""
msgid "Unlinked inode with bad blocks not cleared\n"
msgstr ""
-#: gfs2/fsck/pass4.c:99
+#: gfs2/fsck/pass4.c:94
#, c-format
msgid "Unlinked block %lld (0x%llx) marked as inode is not an inode (%d)\n"
msgstr ""
-#: gfs2/fsck/pass4.c:105
+#: gfs2/fsck/pass4.c:100
msgid "Delete unlinked inode? (y/n) "
msgstr ""
-#: gfs2/fsck/pass4.c:110
+#: gfs2/fsck/pass4.c:105
msgid "invalid unlinked"
msgstr ""
-#: gfs2/fsck/pass4.c:113
+#: gfs2/fsck/pass4.c:108
msgid "The inode was deleted\n"
msgstr ""
-#: gfs2/fsck/pass4.c:115
+#: gfs2/fsck/pass4.c:110
msgid "The inode was not deleted\n"
msgstr ""
-#: gfs2/fsck/pass4.c:127
+#: gfs2/fsck/pass4.c:122
msgid "Unlinked inode has zero size\n"
msgstr ""
-#: gfs2/fsck/pass4.c:128
+#: gfs2/fsck/pass4.c:123
msgid "Clear zero-size unlinked inode? (y/n) "
msgstr ""
-#: gfs2/fsck/pass4.c:131
+#: gfs2/fsck/pass4.c:126
msgid "unlinked zero-length"
msgstr ""
-#: gfs2/fsck/pass4.c:138
+#: gfs2/fsck/pass4.c:133
msgid "Add unlinked inode to lost+found? (y/n)"
msgstr ""
-#: gfs2/fsck/pass4.c:149
+#: gfs2/fsck/pass4.c:144
msgid "Unlinked inode left unlinked\n"
msgstr ""
-#: gfs2/fsck/pass4.c:153
+#: gfs2/fsck/pass4.c:148
#, c-format
msgid ""
"Link count inconsistent for inode %llu (0x%llx) has %u but fsck found %u.\n"
msgstr ""
-#: gfs2/fsck/pass4.c:160
+#: gfs2/fsck/pass4.c:155
#, c-format
msgid "Update link count for inode %llu (0x%llx) ? (y/n) "
msgstr ""
-#: gfs2/fsck/pass4.c:168
+#: gfs2/fsck/pass4.c:163
#, c-format
msgid "Link count updated to %d for inode %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass4.c:174
+#: gfs2/fsck/pass4.c:169
#, c-format
msgid "Link count for inode %llu (0x%llx) still incorrect\n"
msgstr ""
-#: gfs2/fsck/pass4.c:180
+#: gfs2/fsck/pass4.c:175
#, c-format
msgid "block %llu (0x%llx) has link count %d\n"
msgstr ""
@@ -4195,65 +4322,68 @@ msgstr ""
#: gfs2/fsck/pass1c.c:125
#, c-format
-msgid "Extended attributes block for inode #%llu (0x%llx) is invalid.\n"
+msgid ""
+"Extended attributes block %lld (0x%llx) for inode #%llu (0x%llx) is "
+"invalid.\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:133
+#: gfs2/fsck/pass1c.c:134
#, c-format
-msgid "Extended attributes block for inode #%llu (0x%llx) invalid.\n"
+msgid ""
+"Extended attributes block %lld (0x%llx) for inode #%llu (0x%llx) invalid.\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:158 gfs2/fsck/pass1c.c:174
+#: gfs2/fsck/pass1c.c:160 gfs2/fsck/pass1c.c:176
msgid "EA has name length of zero\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:163
+#: gfs2/fsck/pass1c.c:165
msgid "EA rec length too long\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:169
+#: gfs2/fsck/pass1c.c:171
msgid "last EA has no last entry flag\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:185
+#: gfs2/fsck/pass1c.c:187
#, c-format
msgid "EA (%s) type is invalid (%d > %d).\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:199
+#: gfs2/fsck/pass1c.c:201
#, c-format
msgid "EA (%s) has incorrect number of pointers.\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:200
+#: gfs2/fsck/pass1c.c:202
#, c-format
msgid ""
" Required: %d\n"
" Reported: %d\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:205
+#: gfs2/fsck/pass1c.c:207
#, c-format
msgid ""
" Pointers Required: %d\n"
" Pointers Reported: %d\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:249
+#: gfs2/fsck/pass1c.c:251
msgid "Looking for inodes containing ea blocks...\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:259
+#: gfs2/fsck/pass1c.c:261
#, c-format
msgid "EA in inode %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1c.c:266
+#: gfs2/fsck/pass1c.c:268
#, c-format
msgid "Found eattr at %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:46 gfs2/fsck/pass1b.c:105
+#: gfs2/fsck/pass1b.c:46 gfs2/fsck/pass1b.c:104
msgid "Invalid "
msgstr ""
@@ -4263,55 +4393,55 @@ msgid ""
"Inode %s (%lld/0x%llx) has %d reference(s) to block %llu (0x%llx) (%s)\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:119
+#: gfs2/fsck/pass1b.c:118
#, c-format
msgid ""
"Inode %s (%lld/0x%llx)'s reference to block %llu (0x%llx) as '%s' is "
"acceptable.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:139
+#: gfs2/fsck/pass1b.c:138
#, c-format
msgid ""
"Inode %s (%lld/0x%llx) references block %llu (0x%llx) as '%s', but the block "
"is really %s.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:147
+#: gfs2/fsck/pass1b.c:146
#, c-format
msgid "Okay to delete %s inode %lld (0x%llx)? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1b.c:149
+#: gfs2/fsck/pass1b.c:148
msgid "invalidated"
msgstr ""
-#: gfs2/fsck/pass1b.c:152
+#: gfs2/fsck/pass1b.c:151
msgid "The bad inode was not cleared."
msgstr ""
-#: gfs2/fsck/pass1b.c:162
+#: gfs2/fsck/pass1b.c:161
#, c-format
msgid "Inode %lld (0x%llx) was previously deleted.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:167
+#: gfs2/fsck/pass1b.c:166
#, c-format
msgid "Pass1b is deleting inode %lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:187
+#: gfs2/fsck/pass1b.c:186
msgid "duplicate referencing bad"
msgstr ""
-#: gfs2/fsck/pass1b.c:273
+#: gfs2/fsck/pass1b.c:272
#, c-format
msgid ""
"Block %llu (0x%llx) has %d inodes referencing it for a total of %d duplicate "
"references:\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:330
+#: gfs2/fsck/pass1b.c:329
#, c-format
msgid ""
"----------------------------------------------\n"
@@ -4319,7 +4449,7 @@ msgid ""
"marked invalid.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:346
+#: gfs2/fsck/pass1b.c:345
#, c-format
msgid ""
"----------------------------------------------\n"
@@ -4327,20 +4457,20 @@ msgid ""
"block type.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:360
+#: gfs2/fsck/pass1b.c:359
#, c-format
msgid ""
"----------------------------------------------\n"
"Step 3: Choose one reference to block %llu (0x%llx) to keep.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:375
+#: gfs2/fsck/pass1b.c:374
#, c-format
msgid ""
"Block %llu (0x%llx) has only one remaining valid inode referencing it.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:386
+#: gfs2/fsck/pass1b.c:385
#, c-format
msgid ""
"----------------------------------------------\n"
@@ -4348,682 +4478,707 @@ msgid ""
"%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:395
+#: gfs2/fsck/pass1b.c:394
#, c-format
msgid ""
"The remaining reference inode %lld (0x%llx) is marked invalid: Marking the "
"block as free.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:401 gfs2/fsck/pass1b.c:412
+#: gfs2/fsck/pass1b.c:400 gfs2/fsck/pass1b.c:411
msgid "reference-repaired leaf"
msgstr ""
-#: gfs2/fsck/pass1b.c:407
+#: gfs2/fsck/pass1b.c:406
msgid "reference-repaired data"
msgstr ""
-#: gfs2/fsck/pass1b.c:416
+#: gfs2/fsck/pass1b.c:417
msgid "reference-repaired indirect"
msgstr ""
-#: gfs2/fsck/pass1b.c:421
+#: gfs2/fsck/pass1b.c:423
msgid "reference-repaired extended attribute"
msgstr ""
-#: gfs2/fsck/pass1b.c:425
+#: gfs2/fsck/pass1b.c:428
#, c-format
msgid "Done with duplicate reference to block 0x%llx\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:430
+#: gfs2/fsck/pass1b.c:433
#, c-format
msgid "All duplicate references to block 0x%llx were processed.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:433
+#: gfs2/fsck/pass1b.c:436
#, c-format
msgid ""
"Done with duplicate reference to block 0x%llx, but %d references remain.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:437
+#: gfs2/fsck/pass1b.c:440
#, c-format
msgid "Block %llu (0x%llx) has no more references; Marking as 'free'.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:543
+#: gfs2/fsck/pass1b.c:546
#, c-format
msgid "Block %lld (0x%llx) is not gfs2 metadata.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:577
+#: gfs2/fsck/pass1b.c:580
msgid "Looking for duplicate blocks...\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:581
+#: gfs2/fsck/pass1b.c:584
msgid "No duplicate blocks found\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:587
+#: gfs2/fsck/pass1b.c:590
msgid "Scanning filesystem for inodes containing duplicate blocks...\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:588
+#: gfs2/fsck/pass1b.c:591
#, c-format
msgid "Filesystem has %llu (0x%llx) blocks total\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:596
+#: gfs2/fsck/pass1b.c:599
#, c-format
msgid "Found all %d original references to duplicates.\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:608
+#: gfs2/fsck/pass1b.c:609
#, c-format
-msgid "Checking invalidated duplicate dinode %lld (0x%llx)\n"
+msgid "Checking invalidated duplicate block %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1b.c:623
+#: gfs2/fsck/pass1b.c:624
msgid "Handling duplicate blocks\n"
msgstr ""
-#: gfs2/fsck/pass5.c:54 gfs2/fsck/pass5.c:98
-#, c-format
-msgid "Invalid block type %d found\n"
-msgstr ""
-
-#: gfs2/fsck/pass5.c:93
-#, c-format
-msgid "Invalid freemeta type %d found\n"
-msgstr ""
-
-#: gfs2/fsck/pass5.c:134
-#, c-format
-msgid "Invalid status for block %llu (0x%llx).\n"
-msgstr ""
-
-#: gfs2/fsck/pass5.c:146
+#: gfs2/fsck/pass5.c:64
#, c-format
msgid "Unlinked inode found at block %llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass5.c:150
+#: gfs2/fsck/pass5.c:68
msgid "Do you want to reclaim the block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass5.c:154
+#: gfs2/fsck/pass5.c:72
#, c-format
msgid "Unlinked block %llu (0x%llx) bitmap not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass5.c:160
+#: gfs2/fsck/pass5.c:78
#, c-format
msgid "Unlinked block %llu (0x%llx) bitmap fixed.\n"
msgstr ""
-#: gfs2/fsck/pass5.c:165
+#: gfs2/fsck/pass5.c:86
#, c-format
msgid "Unlinked block found at block %llu (0x%llx), left unchanged.\n"
msgstr ""
-#: gfs2/fsck/pass5.c:174
+#: gfs2/fsck/pass5.c:92
#, c-format
msgid "Block %llu (0x%llx) bitmap says %u (%s) but FSCK saw %u (%s)\n"
msgstr ""
-#: gfs2/fsck/pass5.c:181
+#: gfs2/fsck/pass5.c:99
#, c-format
msgid "Metadata type is %u (%s)\n"
msgstr ""
-#: gfs2/fsck/pass5.c:184
+#: gfs2/fsck/pass5.c:102
#, c-format
msgid "Fix bitmap for block %llu (0x%llx) ? (y/n) "
msgstr ""
-#: gfs2/fsck/pass5.c:189
+#: gfs2/fsck/pass5.c:107
msgid "Repair failed.\n"
msgstr ""
-#: gfs2/fsck/pass5.c:191
+#: gfs2/fsck/pass5.c:109
msgid "Fixed.\n"
msgstr ""
-#: gfs2/fsck/pass5.c:193
+#: gfs2/fsck/pass5.c:111
#, c-format
msgid "Bitmap at block %llu (0x%llx) left inconsistent\n"
msgstr ""
-#: gfs2/fsck/pass5.c:230
+#: gfs2/fsck/pass5.c:148
#, c-format
msgid "RG #%llu (0x%llx) free count inconsistent: is %u should be %u\n"
msgstr ""
-#: gfs2/fsck/pass5.c:239
+#: gfs2/fsck/pass5.c:157
#, c-format
msgid "RG #%llu (0x%llx) Inode count inconsistent: is %u should be %u\n"
msgstr ""
-#: gfs2/fsck/pass5.c:248
+#: gfs2/fsck/pass5.c:166
#, c-format
msgid ""
"RG #%llu (0x%llx) Used metadata count inconsistent: is %u should be %u\n"
msgstr ""
-#: gfs2/fsck/pass5.c:257
+#: gfs2/fsck/pass5.c:175
#, c-format
msgid ""
"RG #%llu (0x%llx) Free metadata count inconsistent: is %u should be %u\n"
msgstr ""
-#: gfs2/fsck/pass5.c:269
-msgid "Internal fsck error - AAHHH!\n"
+#: gfs2/fsck/pass5.c:188
+#, c-format
+msgid "Internal fsck error: %u != %u + %u + %u + %u\n"
msgstr ""
-#: gfs2/fsck/pass5.c:273
+#: gfs2/fsck/pass5.c:194
msgid "Update resource group counts? (y/n) "
msgstr ""
-#: gfs2/fsck/pass5.c:274
+#: gfs2/fsck/pass5.c:195
msgid "Resource group counts updated\n"
msgstr ""
-#: gfs2/fsck/pass5.c:281
+#: gfs2/fsck/pass5.c:202
msgid "Resource group counts left inconsistent\n"
msgstr ""
-#: gfs2/fsck/pass5.c:303
+#: gfs2/fsck/pass5.c:224
#, c-format
msgid "Verifying Resource Group #%llu\n"
msgstr ""
-#: gfs2/fsck/pass1.c:138
+#: gfs2/fsck/pass1.c:140
msgid "itself"
msgstr ""
-#: gfs2/fsck/pass1.c:139
+#: gfs2/fsck/pass1.c:141
#, c-format
msgid ""
"Bad indirect block pointer (invalid or out of range) found in system inode "
"%lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:147 gfs2/fsck/pass1.c:201
+#: gfs2/fsck/pass1.c:149 gfs2/fsck/pass1.c:198
msgid "system file"
msgstr ""
-#: gfs2/fsck/pass1.c:182
+#: gfs2/fsck/pass1.c:186
#, c-format
msgid ""
"Block # referenced by system directory entry %s in inode %lld (0x%llx) is "
"invalid or out of range; ignored.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:227
+#: gfs2/fsck/pass1.c:225
#, c-format
msgid ""
"Found duplicate block #%llu (0x%llx) referenced as a directory leaf in "
"dinode %llu (0x%llx) - was marked %d (%s)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:265 gfs2/fsck/pass1.c:343
+#: gfs2/fsck/pass1.c:266 gfs2/fsck/pass1.c:345
msgid "bad block referencing"
msgstr ""
-#: gfs2/fsck/pass1.c:266
+#: gfs2/fsck/pass1.c:267
#, c-format
msgid ""
"Bad indirect block (invalid/out of range) found in inode %lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:275
+#: gfs2/fsck/pass1.c:276
msgid "a directory hash table block"
msgstr ""
-#: gfs2/fsck/pass1.c:278
+#: gfs2/fsck/pass1.c:279
msgid "a journaled data block"
msgstr ""
-#: gfs2/fsck/pass1.c:282
+#: gfs2/fsck/pass1.c:283
#, c-format
msgid ""
"Found duplicate block #%llu (0x%llx) referenced as metadata in indirect "
"block for dinode %llu (0x%llx) - was marked %d (%s)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:297
+#: gfs2/fsck/pass1.c:298
#, c-format
msgid ""
"Inode %lld (0x%llx) has a bad indirect block pointer %lld (0x%llx) (points "
"to something that is not %s).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:315
+#: gfs2/fsck/pass1.c:316
msgid "indirect"
msgstr ""
-#: gfs2/fsck/pass1.c:361
+#: gfs2/fsck/pass1.c:363
#, c-format
msgid ""
"Block %llu (0x%llx) is still referenced from another inode; not freeing.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:375
+#: gfs2/fsck/pass1.c:368
+msgid "This was the only duplicate reference so far; removing it.\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:382
msgid "bad indirect"
msgstr ""
-#: gfs2/fsck/pass1.c:375
+#: gfs2/fsck/pass1.c:382
msgid "referenced data"
msgstr ""
-#: gfs2/fsck/pass1.c:423
+#: gfs2/fsck/pass1.c:430
#, c-format
msgid ""
"Inode %lld (0x%llx) has a reference to block %lld (0x%llx) as a data block, "
"but it appears to be a dinode we haven't checked yet.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:444
+#: gfs2/fsck/pass1.c:451
#, c-format
msgid ""
"inode %lld (0x%llx) has a bad data block pointer %lld (0x%llx) (invalid or "
"out of range) "
msgstr ""
-#: gfs2/fsck/pass1.c:452 gfs2/fsck/pass1.c:476
+#: gfs2/fsck/pass1.c:459 gfs2/fsck/pass1.c:486
#, c-format
msgid "from metadata block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:459
+#: gfs2/fsck/pass1.c:466
msgid "bad (out of range) data"
msgstr ""
-#: gfs2/fsck/pass1.c:466
+#: gfs2/fsck/pass1.c:476
#, c-format
msgid ""
"Found duplicate %s block %llu (0x%llx) referenced as data by dinode %llu (0x"
"%llx) "
msgstr ""
-#: gfs2/fsck/pass1.c:481
+#: gfs2/fsck/pass1.c:492
+msgid ""
+"The block was processed earlier as an inode, so it can't possibly be data.\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:510
msgid ""
"The block was processed earlier as valid metadata, so it can't possibly be "
"data.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:493
+#: gfs2/fsck/pass1.c:522
msgid "Seems to be a normal duplicate; I'll sort it out in pass1b.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:501
+#: gfs2/fsck/pass1.c:530
msgid ""
"The block was invalid as metadata but might be okay as data. I'll sort it "
"out in pass1b.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:510
+#: gfs2/fsck/pass1.c:540
#, c-format
msgid "Block %lld (0x%llx) is a GFS1 rindex block\n"
msgstr ""
-#: gfs2/fsck/pass1.c:513
+#: gfs2/fsck/pass1.c:543
msgid "rgrp"
msgstr ""
-#: gfs2/fsck/pass1.c:516
+#: gfs2/fsck/pass1.c:546
#, c-format
msgid "Block %lld (0x%llx) is a GFS1 journaled data block\n"
msgstr ""
-#: gfs2/fsck/pass1.c:519
+#: gfs2/fsck/pass1.c:549
msgid "jdata"
msgstr ""
-#: gfs2/fsck/pass1.c:541
+#: gfs2/fsck/pass1.c:571
#, c-format
msgid "Inode %lld (0x%llx) has unrecoverable Extended Attribute errors.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:544
+#: gfs2/fsck/pass1.c:574
msgid "Clear all Extended Attributes from the inode? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:546
+#: gfs2/fsck/pass1.c:576
msgid "Extended attributes were removed.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:548
+#: gfs2/fsck/pass1.c:578
msgid "Unable to remove inode eattr pointer; the error remains.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:551
+#: gfs2/fsck/pass1.c:581
msgid "Extended attributes were not removed.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:568
+#: gfs2/fsck/pass1.c:598
#, c-format
msgid "Inode #%llu (0x%llx): %s"
msgstr ""
-#: gfs2/fsck/pass1.c:571
+#: gfs2/fsck/pass1.c:601
#, c-format
msgid " at block #%lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:573
+#: gfs2/fsck/pass1.c:603
msgid "Clear the bad Extended Attribute? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:576
+#: gfs2/fsck/pass1.c:606
msgid "The bad extended attribute was removed.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:580
+#: gfs2/fsck/pass1.c:610
msgid "bad extended attribute"
msgstr ""
-#: gfs2/fsck/pass1.c:584
+#: gfs2/fsck/pass1.c:614
msgid "The bad Extended Attribute was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:618
+#: gfs2/fsck/pass1.c:648
msgid "Bad indirect Extended Attribute duplicate found"
msgstr ""
-#: gfs2/fsck/pass1.c:624
+#: gfs2/fsck/pass1.c:654
msgid "Extended Attribute indirect block has incorrect type"
msgstr ""
-#: gfs2/fsck/pass1.c:629
+#: gfs2/fsck/pass1.c:659
#, c-format
msgid ""
"Inode #%llu (0x%llx): Duplicate Extended Attribute indirect block found at #"
"%llu (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:641
+#: gfs2/fsck/pass1.c:671
msgid "indirect Extended Attribute"
msgstr ""
-#: gfs2/fsck/pass1.c:657
+#: gfs2/fsck/pass1.c:687
#, c-format
msgid "Marking inode #%llu (0x%llx) with extended attribute block\n"
msgstr ""
-#: gfs2/fsck/pass1.c:675
+#: gfs2/fsck/pass1.c:705
#, c-format
msgid ""
"Inode %lld (0x%llx) has recoverable indirect Extended Attribute errors.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:679
+#: gfs2/fsck/pass1.c:709
msgid "Okay to fix the block count for the inode? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:683
+#: gfs2/fsck/pass1.c:713
#, c-format
msgid "Block count fixed: 1+%lld+%lld+%lld = %lld.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:690
+#: gfs2/fsck/pass1.c:720
msgid "Block count not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:715
+#: gfs2/fsck/pass1.c:745
msgid "Bad Extended Attribute duplicate found"
msgstr ""
-#: gfs2/fsck/pass1.c:718
+#: gfs2/fsck/pass1.c:748
msgid "Extended Attribute leaf block has incorrect type"
msgstr ""
-#: gfs2/fsck/pass1.c:725
+#: gfs2/fsck/pass1.c:755
#, c-format
msgid "Duplicate block found at #%lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:738
+#: gfs2/fsck/pass1.c:768
msgid "Extended Attribute block removed due to previous errors.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:746
+#: gfs2/fsck/pass1.c:776
msgid "Extended Attribute"
msgstr ""
-#: gfs2/fsck/pass1.c:775
+#: gfs2/fsck/pass1.c:806
#, c-format
msgid ""
"Inode #%llu (0x%llx): Extended Attribute block %llu (0x%llx) has an extended "
"leaf block #%llu (0x%llx) that is invalid or out of range.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:785
+#: gfs2/fsck/pass1.c:816
msgid "bad (out of range) Extended Attribute "
msgstr ""
-#: gfs2/fsck/pass1.c:808
+#: gfs2/fsck/pass1.c:839
#, c-format
msgid "Setting inode %lld (0x%llx) as having eattr block(s) attached.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:819
+#: gfs2/fsck/pass1.c:850
#, c-format
msgid ""
"Inode #%llu (0x%llx): Extended Attribute leaf block #%llu (0x%llx) is "
"invalid or out of range.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:826
+#: gfs2/fsck/pass1.c:857
msgid "bad (out of range) Extended Attribute leaf"
msgstr ""
-#: gfs2/fsck/pass1.c:910
+#: gfs2/fsck/pass1.c:941
#, c-format
msgid ""
"%s block %lld (0x%llx), part of inode %lld (0x%llx), was previously "
"referenced so the invalid reference is ignored.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:992
+#: gfs2/fsck/pass1.c:1023
#, c-format
msgid ""
"Bad %s block pointer (invalid or out of range #%ld) found in inode %lld (0x"
"%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1006
+#: gfs2/fsck/pass1.c:1037
#, c-format
msgid ""
"Duplicated %s block pointer (violation %ld, block %lld (0x%llx)) found in "
"inode %lld (0x%llx).\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1085
+#: gfs2/fsck/pass1.c:1046
+#, c-format
+msgid "Inode 0x%llx bad pointer tolerance exceeded: block 0x%llx.\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1121
#, c-format
msgid "Error: inode %llu (0x%llx) has more than %d bad pointers.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1091
+#: gfs2/fsck/pass1.c:1127
msgid "badly corrupt"
msgstr ""
-#: gfs2/fsck/pass1.c:1139
+#: gfs2/fsck/pass1.c:1140
+msgid "invalid mode"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1175
#, c-format
msgid ""
"Inode #%llu (0x%llx): Ondisk block count (%llu) does not match what fsck "
"found (%llu)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1146
+#: gfs2/fsck/pass1.c:1182
#, c-format
msgid ""
"inode has: %lld, but fsck counts: Dinode:1 + indir:%lld + data: %lld + ea: "
"%lld\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1152
+#: gfs2/fsck/pass1.c:1188
msgid "Fix ondisk block count? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:1156
+#: gfs2/fsck/pass1.c:1192
#, c-format
msgid "Block count for #%llu (0x%llx) fixed\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1160
+#: gfs2/fsck/pass1.c:1196
#, c-format
msgid "Bad block count for #%llu (0x%llx) not fixed\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1185
+#: gfs2/fsck/pass1.c:1222
#, c-format
msgid "Inode #%llu (0x%llx): Bad inode address found: %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1190
+#: gfs2/fsck/pass1.c:1227
#, c-format
msgid "Fix address in inode at block #%llu (0x%llx)? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:1196
+#: gfs2/fsck/pass1.c:1233
#, c-format
msgid "Address in inode at block #%llu (0x%llx) not fixed\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1202
+#: gfs2/fsck/pass1.c:1239
#, c-format
msgid ""
"Inode #%llu (0x%llx): GFS1 formal inode number mismatch: was %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1207
+#: gfs2/fsck/pass1.c:1244
#, c-format
msgid "Fix formal inode number in inode #%llu (0x%llx)? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:1213
+#: gfs2/fsck/pass1.c:1250
#, c-format
msgid "Inode number in inode at block #%lld (0x%llx) not fixed\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1237
+#: gfs2/fsck/pass1.c:1275
#, c-format
msgid "Checking system inode '%s'\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1242
+#: gfs2/fsck/pass1.c:1280
#, c-format
msgid "System inode for '%s' is located at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1247
+#: gfs2/fsck/pass1.c:1285
#, c-format
msgid "Found invalid system dinode at block #%llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1263
+#: gfs2/fsck/pass1.c:1301
msgid "The inode exists but the block is not marked 'in use'; fixing it.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1273
+#: gfs2/fsck/pass1.c:1313
+#, c-format
+msgid "System inode %s is missing the 'system' flag. It should be rebuilt.\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1315
+#, c-format
+msgid "Delete the corrupt %s system inode? (y/n) "
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1324
+#, c-format
+msgid "Removed system inode \"%s\".\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1329
#, c-format
msgid "System inode for '%s' is corrupt or missing.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1280
+#: gfs2/fsck/pass1.c:1336
#, c-format
-msgid "Invalid or missing %s system inode (should be %d, is %d).\n"
+msgid "Invalid or missing %s system inode (is '%s', should be '%s').\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1282
+#: gfs2/fsck/pass1.c:1340
#, c-format
msgid "Create new %s system inode? (y/n) "
msgstr ""
-#: gfs2/fsck/pass1.c:1283
+#: gfs2/fsck/pass1.c:1341
#, c-format
msgid "Rebuilding system file \"%s\"\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1287
+#: gfs2/fsck/pass1.c:1345
#, c-format
-msgid "Error trying to rebuild system file %s: Cannot continue\n"
+msgid "Error rebuilding system inode %s: Cannot continue\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1299
+#: gfs2/fsck/pass1.c:1359
#, c-format
msgid "Cannot continue without valid %s inode\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1317
+#: gfs2/fsck/pass1.c:1377
#, c-format
msgid "Error found in %s while checking directory entries.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1336
+#: gfs2/fsck/pass1.c:1396
#, c-format
msgid "Error %d building journal\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1412
+#: gfs2/fsck/pass1.c:1473
msgid "gfs1 statfs inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1414
+#: gfs2/fsck/pass1.c:1475
msgid "gfs1 jindex inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1416
+#: gfs2/fsck/pass1.c:1477
msgid "gfs1 rindex inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1418
+#: gfs2/fsck/pass1.c:1479
msgid "gfs1 quota inode"
msgstr ""
-#: gfs2/fsck/pass1.c:1457
+#: gfs2/fsck/pass1.c:1518
#, c-format
msgid "Skipping rindex indir block %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1470
+#: gfs2/fsck/pass1.c:1531
#, c-format
msgid "Skipping pass 1 is not a good idea.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1475
+#: gfs2/fsck/pass1.c:1536
#, c-format
msgid "Already processed system inode %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1502
+#: gfs2/fsck/pass1.c:1556
+#, c-format
+msgid ""
+"Block 0x%llx assumed to be previously processed GFS1 non-dinode metadata.\n"
+msgstr ""
+
+#: gfs2/fsck/pass1.c:1563
#, c-format
msgid ""
"Found a duplicate inode block at #%llu (0x%llx) previously marked as a %s\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1512
+#: gfs2/fsck/pass1.c:1573
msgid "dinum.no_addr is wrong, so I assume the bitmap is just wrong.\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1530
+#: gfs2/fsck/pass1.c:1591
#, c-format
msgid "Deferring GFS1 metadata block #%<PRIu64> (0x%<PRIx64>)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1539
+#: gfs2/fsck/pass1.c:1600
#, c-format
msgid "Found invalid inode at block #%llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1638
+#: gfs2/fsck/pass1.c:1710
#, c-format
msgid "Checking metadata in Resource Group #%llu\n"
msgstr ""
-#: gfs2/fsck/pass1.c:1642
+#: gfs2/fsck/pass1.c:1714
#, c-format
msgid "rgrp block %lld (0x%llx) is now marked as 'rgrp data'\n"
msgstr ""
9 years, 1 month
gfs2-utils: master - gfs2-utils: Consolidate some "bad constants" strings
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=743cbccc...
Commit: 743cbccc29855e69f0eefa741032a2684ea42bb1
Parent: 2f6e55c83367548fe9e384ae8a01bb1dcdec94cb
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Thu Apr 2 16:27:35 2015 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Thu Apr 2 16:27:35 2015 +0100
gfs2-utils: Consolidate some "bad constants" strings
Using the same error string here will reduce the number of strings in
the .pot file.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/convert/gfs2_convert.c | 12 ++++++------
gfs2/fsck/initialize.c | 2 +-
gfs2/mkfs/main_grow.c | 2 +-
gfs2/mkfs/main_jadd.c | 10 +++++-----
gfs2/mkfs/main_mkfs.c | 2 +-
5 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c
index bb4e3a2..aac4853 100644
--- a/gfs2/convert/gfs2_convert.c
+++ b/gfs2/convert/gfs2_convert.c
@@ -1577,7 +1577,7 @@ static int init(struct gfs2_sbd *sbp, struct gfs2_options *opts)
sbp->bsize = sbp->sd_sb.sb_bsize;
sbp->rgtree.osi_node = NULL;
if (compute_constants(sbp)) {
- log_crit(_("Error: Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(-1);
}
@@ -1599,13 +1599,13 @@ static int init(struct gfs2_sbd *sbp, struct gfs2_options *opts)
brelse(bh);
if (compute_heightsize(sbp->bsize, sbp->sd_heightsize, &sbp->sd_max_height,
sbp->bsize, sbp->sd_diptrs, sbp->sd_inptrs)) {
- log_crit(_("Error: Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(-1);
}
if (compute_heightsize(sbp->bsize, sbp->sd_jheightsize, &sbp->sd_max_jheight,
sbp->sd_jbsize, sbp->sd_diptrs, sbp->sd_inptrs)) {
- log_crit(_("Error: Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(-1);
}
/* -------------------------------------------------------- */
@@ -1616,13 +1616,13 @@ static int init(struct gfs2_sbd *sbp, struct gfs2_options *opts)
memset(gfs2_heightsize, 0, sizeof(gfs2_heightsize));
if (compute_heightsize(sbp->bsize, gfs2_heightsize, &gfs2_max_height,
sbp->bsize, sbp->sd_diptrs, gfs2_inptrs)) {
- log_crit(_("Error: Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(-1);
}
memset(gfs2_jheightsize, 0, sizeof(gfs2_jheightsize));
if (compute_heightsize(sbp->bsize, gfs2_jheightsize, &gfs2_max_jheight,
sbp->sd_jbsize, sbp->sd_diptrs, gfs2_inptrs)) {
- log_crit(_("Error: Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(-1);
}
@@ -2254,7 +2254,7 @@ int main(int argc, char **argv)
/* Now we've got to treat it as a gfs2 file system */
if (compute_constants(&sb2)) {
- log_crit(_("Error: Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(-1);
}
diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c
index c052205..bb9755c 100644
--- a/gfs2/fsck/initialize.c
+++ b/gfs2/fsck/initialize.c
@@ -1301,7 +1301,7 @@ static int fill_super_block(struct gfs2_sbd *sdp)
}
if (compute_constants(sdp)) {
- log_crit(_("Bad constants (1)\n"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(FSCK_ERROR);
}
ret = read_sb(sdp);
diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
index 1115e5f..cc32585 100644
--- a/gfs2/mkfs/main_grow.c
+++ b/gfs2/mkfs/main_grow.c
@@ -381,7 +381,7 @@ int main(int argc, char *argv[])
sdp->sd_sb.sb_bsize = GFS2_DEFAULT_BSIZE;
sdp->bsize = sdp->sd_sb.sb_bsize;
if (compute_constants(sdp)) {
- perror(_("Bad constants (1)"));
+ log_crit("%s\n", _("Failed to compute file system constants"));
exit(EXIT_FAILURE);
}
if (read_sb(sdp) < 0) {
diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
index 739d964..de5d9c5 100644
--- a/gfs2/mkfs/main_jadd.c
+++ b/gfs2/mkfs/main_jadd.c
@@ -115,7 +115,7 @@ static void print_usage(const char *prog_name)
const char *option, *param, *desc;
const char *options[] = {
/* Translators: This is a usage string printed with --help.
- <size> and <number> here are to commandline parameters,
+ <size> and <number> here are the commandline parameters,
e.g. gfs2_jadd -j <number> /dev/sda */
"-c", "<size>", _("Size of quota change file, in megabytes"),
"-D", NULL, _("Enable debugging code"),
@@ -207,7 +207,7 @@ static void decode_arguments(int argc, char *argv[], struct gfs2_sbd *sdp, struc
die( _("Unrecognized argument: %s\n"), argv[optind]);
if (opts->debug) {
- printf( _("Command Line Arguments:\n"));
+ printf( _("Command line arguments:\n"));
printf(" qcsize = %u\n", sdp->qcsize);
printf(" jsize = %u\n", sdp->jsize);
printf(" journals = %u\n", sdp->md.journals);
@@ -234,8 +234,8 @@ static void print_results(struct jadd_opts *opts)
return;
printf( _("Filesystem: %s\n"), opts->path);
- printf( _("Old Journals: %u\n"), opts->orig_journals);
- printf( _("New Journals: %u\n"), opts->journals);
+ printf( _("Old journals: %u\n"), opts->orig_journals);
+ printf( _("New journals: %u\n"), opts->journals);
}
static int create_new_inode(struct jadd_opts *opts)
@@ -531,7 +531,7 @@ int main(int argc, char *argv[])
}
if (compute_constants(sdp)) {
- perror(_("Bad constants (1)"));
+ perror(_("Failed to compute file system constants"));
exit(EXIT_FAILURE);
}
find_current_journals(&opts);
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index 2590ec8..0636f0b 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -35,7 +35,7 @@ static void print_usage(const char *prog_name)
const char *option, *param, *desc;
const char *options[] = {
/* Translators: This is a usage string printed with --help.
- <size> and <number> here are to commandline parameters,
+ <size> and <number> here are the commandline parameters,
e.g. mkfs.gfs2 -b <size> -j <number> /dev/sda */
"-b", _("<size>"), _("File system block size, in bytes"),
"-c", _("<size>"), _("Size of quota change file, in megabytes"),
9 years, 1 month
gfs2-utils: master - gfs2-utils: more fsck.gfs2 i_goal fixes
by Abhijith Das
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=2f6e55c8...
Commit: 2f6e55c83367548fe9e384ae8a01bb1dcdec94cb
Parent: 3f4c4df5a03a58f2075a3084b2d10834a158746b
Author: Abhi Das <adas(a)redhat.com>
AuthorDate: Fri Mar 27 13:58:05 2015 -0500
Committer: Abhi Das <adas(a)redhat.com>
CommitterDate: Wed Apr 1 09:45:13 2015 -0500
gfs2-utils: more fsck.gfs2 i_goal fixes
fsck.gfs2 doesn't traverse the metadata tree for dirs in pass1 to
be able to get at the last allocated block for it and attempts to
set it to the inode block itself when it finds the i_goal value to
be outside of the current rgrp. This is not desirable and fsck.gfs2
should probably leave directories alone.
This patch simply skips over directories whose goal blocks fall
within the boundaries of the fs, assuming they are valid.
Resolves: rhbz#1186515
Signed-off-by: Abhi Das <adas(a)redhat.com>
---
gfs2/fsck/metawalk.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/gfs2/fsck/metawalk.c b/gfs2/fsck/metawalk.c
index 6daaf9f..f05fb51 100644
--- a/gfs2/fsck/metawalk.c
+++ b/gfs2/fsck/metawalk.c
@@ -1995,6 +1995,14 @@ int check_i_goal(struct gfs2_inode *ip, uint64_t goal_blk,
if (sdp->gfs1 || ip->i_di.di_flags & GFS2_DIF_SYSTEM ||
ip->i_di.di_goal_meta == i_block)
return 0;
+ /* Don't fix directory goal blocks unless we know they're wrong.
+ * i.e. out of bounds of the fs. Directories can easily have blocks
+ * outside of the dinode's rgrp and thus we have no way of knowing
+ * if the goal block is bogus or not. */
+ if (is_dir(&ip->i_di, ip->i_sbd->gfs1) &&
+ (ip->i_di.di_goal_meta > sdp->sb_addr &&
+ ip->i_di.di_goal_meta <= sdp->fssize))
+ return 0;
/* We default to the inode block */
if (!goal_blk)
goal_blk = i_block;
9 years, 1 month