gfs2-utils: 3.1.6 annotated tag has been created
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=121c128f...
Commit: 121c128f27dd3034cc669f79a0727554770f75f1
Parent: 0000000000000000000000000000000000000000
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: 2013-07-23 11:16 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: 2013-07-23 11:16 +0000
annotated tag: 3.1.6 has been created
at 121c128f27dd3034cc669f79a0727554770f75f1 (tag)
tagging 9962ab3034e6dfc981d9f6232e2af689d7dc3257 (commit)
replaces 3.1.5
Version 3.1.6
Andrew Price (55):
libgfs2: Fix build with bison 2.6
gfs2-utils: Update translation files
mkfs.gfs2: Improve strings for translation
gfs2-utils: Add the beginnings of a test suite
gfs2-utils tests: Add a script to exercise the utils
gfs2-utils: Rename lockcapture directory to scripts
gfs2-utils: Add a doc on contributing
mkfs.gfs2: Add translator doc comments
tunegfs2: Update man page
tunegfs2: i18n improvements
mkfs.gfs2: i18n improvements
gfs2-utils: Update translations and .gitignore
libgfs2: Rework blk_alloc_i
libgfs2: Make gfs2_rgrp_out accept char buffers
mkfs.gfs2: Reduce memory usage
gfs2-utils: Make the tool tests script more useful
mkfs.gfs2: Separate user options from file system params
libgfs2: Move lgfs2_field_print into gfs2l and make it static
fsck.gfs2: Trivial typo fix
gfs2-utils build: Enable silent rules by default
libgfs2: Remove gfs2_next_rg_meta
gfs2-utils: Build system fixes
libgfs2: Don't release rgrp buffers which are still in use
gfs2_edit: Fix divide by zero bug
mkfs.gfs2: Add options for stripe size and width
libgfs2: Remove 'writes' field from gfs2_sbd
mkfs.gfs2: Link to libblkid
mkfs.gfs2: Use libblkid for checking contents
mkfs.gfs2: Add a struct to store device info
libgfs2: Clarify gfs2_compute_bitstructs's parameters
gfs2-utils build: Fix reporting lack of check
gfs2l: Improve usage message and opt handling
gfs2l: Enable setting the type of a block
gfs2l: Add hash comments
gfs2l: Add options to print block types and fields
gfs2l: Read from stdin by default
gfs2l: Improve grammar layout and path parsing
gfs2-utils: Remove some unused build files
gfs2-utils: Retire gfs_controld
build: Put back AC_CONFIG_SRCDIR
gfs2-utils: Fix some uninitialized variable warnings
libgfs2: Remove dinode_alloc
mkfs.gfs2: Set sunit and swidth from probed io limits
mkfs.gfs2: Align resource groups to RAID stripes
mkfs.gfs2: Create new resource groups on-demand
mkfs.gfs2: Add align option and update docs
mkfs.gfs2: Move the new rgrp creation code into libgfs2
gfs2-utils: Update translations
init.d/gfs2: Work around nested mount points umount bug
fsck.gfs2: Don't call gettext a second time in fsck_query()
fsck.gfs2: Don't rely on cluster.conf when rebuilding sb
gfs2-utils: Add some missing gettext calls
gfs2-utils: Update translation template
gfs2-utils: Update docs
gfs2-utils: Update .gitignore and doc/Makefile.am
Bob Peterson (66):
gfs2_convert: mark rgrp bitmaps dirty when converting
gfs2_convert: mark buffer dirty when switching dirs from meta to data
gfs2_convert: remember number of blocks when converting quotas
gfs2_convert: Use proper header size when reordering meta pointers
gfs2_convert: calculate height 1 for small files that were once big
gfs2_convert: clear out old di_mode before setting it
gfs2_convert: mask out proper bits when identifying symlinks
fsck.gfs2: Detect and fix mismatch in GFS1 formal inode number
gfs2_grow: report bad return codes on error
libgfs2: externalize dir_split_leaf
libgfs2: allow dir_split_leaf to receive a leaf buffer
libgfs2: let dir_split_leaf receive a "broken" lindex
fsck.gfs2: Move function find_free_blk to util.c
fsck.gfs2: Split out function to make sure lost+found exists
fsck.gfs2: Check for formal inode mismatch when adding to lost+found
fsck.gfs2: shorten some debug messages in lost+found
fsck.gfs2: Move basic directory entry checks to separate function
fsck.gfs2: Add formal inode check to basic dirent checks
fsck.gfs2: Add new function to check dir hash tables
fsck.gfs2: Special case '..' when processing bad formal inode number
fsck.gfs2: Move function to read directory hash table to util.c
fsck.gfs2: Misc cleanups
fsck.gfs2: Verify dirent hash values correspond to proper leaf block
fsck.gfs2: re-read hash table if directory height or depth changes
fsck.gfs2: fix leaf blocks, don't try to patch the hash table
fsck.gfs2: check leaf depth when validating leaf blocks
fsck.gfs2: small cleanups
fsck.gfs2: reprocess inodes when blocks are added
fsck.gfs2: Remove redundant leaf depth check
fsck.gfs2: link dinodes that only have extended attribute problems
fsck.gfs2: Add clarifying message to duplicate processing
fsck.gfs2: separate function to calculate metadata block header size
fsck.gfs2: Rework the "undo" functions
fsck.gfs2: Check for interrupt when resolving duplicates
fsck.gfs2: Consistent naming of struct duptree variables
fsck.gfs2: Keep proper counts when duplicates are found
fsck.gfs2: print metadata block reference on data errors
fsck.gfs2: print block count values when fixing them
fsck.gfs2: Do not invalidate metablocks of dinodes with invalid mode
fsck.gfs2: Log when unrecoverable data block errors are encountered
fsck.gfs2: don't remove buffers from the list when errors are found
fsck.gfs2: Don't flag GFS1 non-dinode blocks as duplicates
fsck.gfs2: externalize check_leaf
fsck.gfs2: pass2: check leaf blocks when fixing hash table
fsck.gfs2: standardize check_metatree return codes
fsck.gfs2: don't invalidate files with duplicate data block refs
fsck.gfs2: check for duplicate first references
fsck.gfs2: When flagging a duplicate reference, show valid or invalid
fsck.gfs2: major duplicate reference reform
fsck.gfs2: Remove all bad eattr blocks
fsck.gfs2: Remove unused variable
fsck.gfs2: double-check transitions from dinode to data
fsck.gfs2: Stop "undo" process when error data block is reached
fsck.gfs2: Don't allocate leaf blocks in pass1
fsck.gfs2: take hash table start boundaries into account
fsck.gfs2: delete all duplicates from unrecoverable damaged dinodes
gfs2_edit: print formal inode numbers and hash value on dir display
fsck.gfs2: fix some log messages
fsck.gfs2: Fix directory link on relocated directory dirents
fsck.gfs2: Fix infinite loop in pass1b caused by duplicates in hash table
fsck.gfs2: don't check newly created lost+found in pass2
fsck.gfs2: avoid negative number in leaf depth
fsck.gfs2: Detect and fix duplicate references in hash tables
gfs2_edit: Add new option to print all bitmaps for an rgrp
gfs2_edit: display pointer offsets for directory dinodes
gfs2_edit: fix a segfault with file names > 255 bytes
Callum Massey (1):
gfs2-utils: Fix build warnings in Fedora 18
David Teigland (1):
gfs2: add native setup to man page
Paul Evans (1):
libgfs2: Fix resource leak, variable "result" going out of scope
Shane Bradley (5):
gfs2-lockcapture: Modified some of the data gathered
gfs2_trace: Added a script called gfs2_trace for kernel tracing debugging.
gfs2_lockcapture: The script now returns a correct exit code when the script exits.
gfs2_lockcapture: Capture the status of the cluster nodes and find the clusternode name and id.
gfs2_lockcapture: Various script and man page updates
Sitsofe Wheeler (1):
Fix clang --analyze warning.
Steven Whitehouse (3):
libgfs2: Add readahead for rgrp headers
fsck: Speed up reading of dir leaf blocks
fsck: Clean up pass1 inode iteration code
10 years, 11 months
gfs2-utils: master - gfs2-utils: Update .gitignore and doc/Makefile.am
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=9962ab30...
Commit: 9962ab3034e6dfc981d9f6232e2af689d7dc3257
Parent: 34fa4222bdb012193ac593c6f188456c0609a425
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Jul 23 12:07:54 2013 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Tue Jul 23 12:11:36 2013 +0100
gfs2-utils: Update .gitignore and doc/Makefile.am
Add test-driver, which is generated by Fedora 19's automake, to
.gitignore and remove usage.txt from doc/Makefile.am
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
.gitignore | 1 +
doc/Makefile.am | 1 -
2 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/.gitignore b/.gitignore
index 3fa77a0..26d89d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,6 +41,7 @@ gfs2/libgfs2/lexer.h
gfs2/fsck/fsck.gfs2
gfs2/mkfs/mkfs.gfs2
gfs2/tune/tunegfs2
+test-driver
tests/check_libgfs2
tests/testvol
tests/tests.log
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 6a70f82..32987b2 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -2,7 +2,6 @@ MAINTAINERCLEANFILES = Makefile.in
dist_doc_DATA = gfs2.txt \
journaling.txt \
- usage.txt \
COPYING.applications \
COPYING.libraries \
COPYRIGHT \
10 years, 11 months
gfs2-utils: master - gfs2-utils: Update docs
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=34fa4222...
Commit: 34fa4222bdb012193ac593c6f188456c0609a425
Parent: 6727d5614a6fa0444f1e618656abd1dd6bdf495c
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Jul 23 11:34:24 2013 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Tue Jul 23 11:37:05 2013 +0100
gfs2-utils: Update docs
Update README.build to reflect the new dependencies and remove
references to gfs_controld.
Also remove usage.txt which mostly contained out of date information.
The rest is covered in the gfs2 man page and other docs.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
README.build | 13 +----
doc/usage.txt | 165 ---------------------------------------------------------
2 files changed, 2 insertions(+), 176 deletions(-)
diff --git a/README.build b/README.build
index 1f73b1d..2aad6ab 100644
--- a/README.build
+++ b/README.build
@@ -12,18 +12,9 @@ Plus the following libraries:
bison
flex
zlib
+ libblkid
check (optional, enables the test suite)
-By default gfs_controld is not built as it is not required in Fedora 17 and
-later and cannot build on it. To re-enable it for older systems, use
---enable-gfs_controld when running the configure script (see below). The
-library dependencies for gfs_controld are only required when this option is
-given. The extra libraries upon which gfs_controld depends are:
-
- clusterlib
- corosynclib
- openaislib
-
To build gfs2-utils, run the following commands:
./autogen.sh
@@ -38,4 +29,4 @@ To install gfs2-utils, run:
make install
-See also README.contributing for details on submitting patches.
+See also doc/README.contributing for details on submitting patches.
diff --git a/doc/usage.txt b/doc/usage.txt
deleted file mode 100644
index 2ad5091..0000000
--- a/doc/usage.txt
+++ /dev/null
@@ -1,165 +0,0 @@
-How to install and run GFS2.
-
-Refer to the cluster project page for the latest information.
-http://sources.redhat.com/cluster/
-
-
-Install
--------
-
-Install a Linux kernel with GFS2, DLM, HOTPLUG, LBD, CONFIGFS, and
-optionally IPV6.
-
-Install openais
- get the latest "whitetank" (stable) release from
- http://openais.org/
- or
- svn checkout http://svn.osdl.org/openais
- cd openais/branches/whitetank
- make; make install DESTDIR=/
-
-Install gfs/dlm/fencing/etc components
- get the latest cluster-2.xx.yy tarball from
- ftp://sources.redhat.com/pub/cluster/
- or
- cvs -d :pserver:cvs@sources.redhat.com:/cvs/cluster login cvs
- cvs -d :pserver:cvs@sources.redhat.com:/cvs/cluster checkout cluster
- the password is "cvs"
- cd cluster
- ./configure --kernel_src=/path/to/kernel
- make install
-
- NOTE: On 64-bit systems, you will usually need to add '--libdir=/usr/lib64'
- to the configure line.
-
-Install LVM2/CLVM (optional)
- cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 login cvs
- cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 checkout LVM2
- cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2
- the password is "cvs"
- cd LVM2
- ./configure --with-clvmd=cman --with-cluster=shared
- make; make install
-
- NOTE: On 64-bit systems, you will usually need to add '--libdir=/usr/lib64'
- to the configure line.
-
-
- .... or alternatively, just get the packages from your friendly,
-neighbourhood distro, e.g. the gfs2-utils and cman packages from
-Fedora.
-
-Configuration
--------------
-
-Create /etc/cluster/cluster.conf and copy it to all nodes.
-
- The format and content of cluster.conf has changed little since the
- last generation of the software. See old example here:
- http://sources.redhat.com/cluster/doc/usage.txt
- The one change you will need to make is to add nodeids for all nodes
- in the cluster. These are now mandatory. eg:
-
- <clusternode name="node12.mycluster.mycompany.com" votes="1" nodeid="12">
-
- If you already have a cluster.conf file with no nodeids in it, then you can
- use the 'ccs_tool addnodeids' command to add them.
-
-
-Example cluster.conf
---------------------
-
-This is a basic cluster.conf file that requires manual fencing. The node
-names should resolve to the address on the network interface you want to
-use for openais/cman/dlm communication.
-
-<?xml version="1.0"?>
-<cluster name="alpha" config_version="1">
-
-<clusternodes>
-<clusternode name="node01" nodeid="1">
- <fence>
- </fence>
-</clusternode>
-
-<clusternode name="node02" nodeid="2">
- <fence>
- </fence>
-</clusternode>
-
-<clusternode name="node03" nodeid="3">
- <fence>
- </fence>
-</clusternode>
-</clusternodes>
-
-<fencedevices>
-</fencedevices>
-
-</cluster>
-
-
-Startup procedure
------------------
-
-Run these commands on each cluster node:
-
-> mount -t configfs none /sys/kernel/config
-> ccsd
-> cman_tool join
-> groupd
-> fenced
-> fence_tool join
-> dlm_controld
-> gfs_controld
-> clvmd (optional)
-> mkfs -t gfs2 -p lock_dlm -t <clustername>:<fsname> -j <#journals> <blockdev>
-> mount -t gfs2 [-v] <blockdev> <mountpoint>
-
-Notes:
-- replace "gfs2" with "gfs" above to use gfs1 instead of gfs2
-- <clustername> in mkfs should match the one in cluster.conf.
-- <fsname> in mkfs is any name you pick, each fs must have a different name.
-- <#journals> in mkfs should be greater than or equal to the number of nodes
- that you want to mount this fs, each node uses a separate journal.
-- To avoid unnecessary fencing when starting the cluster, it's best for
- all nodes to join the cluster (complete cman_tool join) before any
- of them do fence_tool join.
-- The cman_tool "status" and "nodes" options show the status and members
- of the cluster.
-- The group_tool command shows the status of fencing, dlm and gfs groups
- that the local node is part of.
-- The "cman" init script can be used for starting everything up through
- gfs_controld in the list above.
-
-
-Shutdown procedure
-------------------
-
-Run these commands on each cluster node:
-
-> umount [-v] <mountpoint>
-> fence_tool leave
-> cman_tool leave
-
-
-Converting from GFS1 to GFS2
-----------------------------
-
-If you have GFS1 filesystems that you need to convert to GFS2, follow
-this procedure:
-
-1. Back up your entire filesystem first.
- e.g. cp /dev/your_vg/lvol0 /your_gfs_backup
-
-2. Run fsck to ensure filesystem integrity.
- e.g. gfs2_fsck /dev/your_vg/lvol0
-
-3. Make sure the filesystem is not mounted from any node.
- e.g. for i in `grep "<clusternode name" /etc/cluster/cluster.conf | cut -d '"' -f2` ; do ssh $i "mount | grep gfs" ; done
-
-4. Make sure you have the latest software versions.
-
-5. Run gfs2_convert <blockdev> from one of the nodes.
- e.g. gfs2_convert /dev/your_vg/lvol0
-
10 years, 11 months
gfs2-utils: master - gfs2-utils: Update translation template
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=6727d561...
Commit: 6727d5614a6fa0444f1e618656abd1dd6bdf495c
Parent: 244a1b60024758e4f5f06ae7e4f121f953a8cb3f
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Jul 23 10:36:51 2013 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Tue Jul 23 10:36:51 2013 +0100
gfs2-utils: Update translation template
Regenerate gfs2-utils.pot
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
po/gfs2-utils.pot | 755 ++++++++++++++++++++++++++++-------------------------
1 files changed, 395 insertions(+), 360 deletions(-)
diff --git a/po/gfs2-utils.pot b/po/gfs2-utils.pot
index fafc725..06fb3c3 100644
--- a/po/gfs2-utils.pot
+++ b/po/gfs2-utils.pot
@@ -1,20 +1,19 @@
-# SOME DESCRIPTIVE TITLE.
+# Translation template for gfs2-utils.
# 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: 2013-07-02 10:27+0100\n"
+"POT-Creation-Date: 2013-07-23 10:35+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"
"Language: \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Translators: This is a usage string printed with --help.
@@ -189,7 +188,7 @@ msgid "Invalid option '%s'\n"
msgstr ""
#: gfs2/mkfs/main_mkfs.c:377 gfs2/mkfs/main_grow.c:120
-#: gfs2/mkfs/main_jadd.c:155 gfs2/fsck/main.c:103 gfs2/fsck/main.c:114
+#: gfs2/mkfs/main_jadd.c:155 gfs2/fsck/main.c:105 gfs2/fsck/main.c:116
#, c-format
msgid "Please use '-h' for help.\n"
msgstr ""
@@ -541,7 +540,7 @@ msgstr ""
msgid "The file system grew by %lluMB.\n"
msgstr ""
-#: gfs2/mkfs/main_grow.c:361 gfs2/fsck/initialize.c:1306
+#: gfs2/mkfs/main_grow.c:361 gfs2/fsck/initialize.c:1257
msgid "Initializing lists...\n"
msgstr ""
@@ -614,6 +613,11 @@ msgstr ""
msgid "Command Line Arguments:\n"
msgstr ""
+#: gfs2/mkfs/main_jadd.c:212
+#, c-format
+msgid "Expert mode: on\n"
+msgstr ""
+
#: gfs2/mkfs/main_jadd.c:214
#, c-format
msgid "Filesystem: %s\n"
@@ -742,8 +746,8 @@ msgstr ""
msgid "Error: out of memory.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:908 gfs2/fsck/initialize.c:922
-#: gfs2/fsck/initialize.c:1049
+#: gfs2/convert/gfs2_convert.c:908 gfs2/fsck/initialize.c:871
+#: gfs2/fsck/initialize.c:998
#, c-format
msgid "Error reading inode: %s\n"
msgstr ""
@@ -813,7 +817,7 @@ msgid ""
"\tmultiple of the size of a journal index.\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1512
+#: gfs2/convert/gfs2_convert.c:1512 gfs2/fsck/fs_recovery.c:653
msgid "Unable to allocate journal index\n"
msgstr ""
@@ -821,7 +825,7 @@ msgstr ""
msgid "Unable to zero journal index\n"
msgstr ""
-#: gfs2/convert/gfs2_convert.c:1535
+#: gfs2/convert/gfs2_convert.c:1535 gfs2/fsck/fs_recovery.c:665
msgid "An error occurred while reading the journal index file.\n"
msgstr ""
@@ -1121,644 +1125,632 @@ msgstr ""
msgid "Error while zeroing inode_info structure\n"
msgstr ""
-#: gfs2/fsck/initialize.c:113
+#: gfs2/fsck/initialize.c:114
msgid "Freeing buffers.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:143
+#: gfs2/fsck/initialize.c:144
msgid "Setting block ranges...\n"
msgstr ""
-#: gfs2/fsck/initialize.c:158
+#: gfs2/fsck/initialize.c:159
msgid "This file system is too big for this computer to handle.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:159
+#: gfs2/fsck/initialize.c:160
#, c-format
msgid "Last fs block = 0x%llx, but sizeof(unsigned long) is %zu bytes.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:169
+#: gfs2/fsck/initialize.c:170
#, c-format
msgid "Can't seek to last block in file system: %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:178
+#: gfs2/fsck/initialize.c:179
#, c-format
msgid ""
"Can't read last block in file system (error %u), last_fs_block: %llu (0x"
"%llx)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:251
+#: gfs2/fsck/initialize.c:252
#, c-format
msgid "Free metadata block 0x%llx found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:255
+#: gfs2/fsck/initialize.c:256
#, c-format
msgid "Unlinked dinode 0x%llx found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:263
+#: gfs2/fsck/initialize.c:264
#, c-format
msgid "Okay to reclaim free metadata in resource group %lld (0x%llx)? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:284
+#: gfs2/fsck/initialize.c:285
#, c-format
msgid "Free metadata block %lld (0x%llx) reclaimed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:295
+#: gfs2/fsck/initialize.c:296
#, c-format
msgid "%lld blocks (total) may need to be freed in pass 5.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:319
+#: gfs2/fsck/initialize.c:320
#, c-format
msgid "The rgrp at %lld (0x%llx) was cleaned of %d free metadata blocks.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:328
+#: gfs2/fsck/initialize.c:329
#, c-format
msgid ""
"Error: resource group %lld (0x%llx): free space (%d) does not match bitmap "
"(%d)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:333
+#: gfs2/fsck/initialize.c:334
msgid "Fix the rgrp free blocks count? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:341 gfs2/fsck/initialize.c:357
+#: gfs2/fsck/initialize.c:342 gfs2/fsck/initialize.c:358
msgid "The rgrp was fixed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:343 gfs2/fsck/initialize.c:359
+#: gfs2/fsck/initialize.c:344 gfs2/fsck/initialize.c:360
msgid "The rgrp was not fixed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:348
+#: gfs2/fsck/initialize.c:349
#, c-format
msgid ""
"Error: resource group %lld (0x%llx): free meta (%d) does not match bitmap "
"(%d)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:353
+#: gfs2/fsck/initialize.c:354
msgid "Fix the rgrp free meta blocks count? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:386
+#: gfs2/fsck/initialize.c:387
msgid "Checking the integrity of all resource groups.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:404
+#: gfs2/fsck/initialize.c:405
#, c-format
msgid ""
"RGs: Consistent: %d Cleaned: %d Inconsistent: %d Fixed: %d Total: "
"%d\n"
msgstr ""
-#: gfs2/fsck/initialize.c:409
+#: gfs2/fsck/initialize.c:410
#, 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:424
+#: gfs2/fsck/initialize.c:425
msgid "The system master directory seems to be destroyed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:425
+#: gfs2/fsck/initialize.c:426
msgid "Okay to rebuild it? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:426
+#: gfs2/fsck/initialize.c:427
msgid "System master not rebuilt; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:429
+#: gfs2/fsck/initialize.c:430
msgid "Trying to rebuild the master directory.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:435
+#: gfs2/fsck/initialize.c:436
#, c-format
msgid "Error reading master: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:446
+#: gfs2/fsck/initialize.c:447
#, c-format
msgid "Error %d adding jindex directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:453
+#: gfs2/fsck/initialize.c:454
#, c-format
msgid "Error %d building jindex\n"
msgstr ""
-#: gfs2/fsck/initialize.c:464
+#: gfs2/fsck/initialize.c:465
#, c-format
msgid "Error %d adding per_node directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:472
+#: gfs2/fsck/initialize.c:473
#, c-format
msgid "Error %d building per_node directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:484
+#: gfs2/fsck/initialize.c:485
#, c-format
msgid "Error %d adding inum inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:490
+#: gfs2/fsck/initialize.c:491
#, c-format
msgid "Error %d building inum inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:502
+#: gfs2/fsck/initialize.c:503
#, c-format
msgid "Error %d adding statfs inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:508
+#: gfs2/fsck/initialize.c:509
#, c-format
msgid "Error %d building statfs inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:520
+#: gfs2/fsck/initialize.c:521
#, c-format
msgid "Error %d adding rindex inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:526
+#: gfs2/fsck/initialize.c:527
#, c-format
msgid "Error %d building rindex inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:537
+#: gfs2/fsck/initialize.c:538
#, c-format
msgid "Error %d adding quota inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:543
+#: gfs2/fsck/initialize.c:544
#, c-format
msgid "Error %d building quota inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:548
+#: gfs2/fsck/initialize.c:549
msgid "Master directory rebuilt.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:577
+#: gfs2/fsck/initialize.c:578
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:583
+#: gfs2/fsck/initialize.c:584
msgid ""
"The gfs2 system per_node directory inode is missing. Okay to rebuild it? (y/"
"n) "
msgstr ""
-#: gfs2/fsck/initialize.c:589
+#: gfs2/fsck/initialize.c:590
#, c-format
msgid "Error %d rebuilding per_node directory\n"
msgstr ""
-#: gfs2/fsck/initialize.c:596
+#: gfs2/fsck/initialize.c:597
msgid "Unable to rebuild per_node; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:610
+#: gfs2/fsck/initialize.c:611
msgid "Checking if all rgrp and rindex values are good"
msgstr ""
-#: gfs2/fsck/initialize.c:611
+#: gfs2/fsck/initialize.c:612
msgid "Checking if rindex values may be easily repaired"
msgstr ""
-#: gfs2/fsck/initialize.c:612
+#: gfs2/fsck/initialize.c:613
msgid "Calculating where the rgrps should be if evenly spaced"
msgstr ""
-#: gfs2/fsck/initialize.c:613
+#: gfs2/fsck/initialize.c:614
msgid "Trying to rebuild rindex assuming evenly spaced rgrps"
msgstr ""
-#: gfs2/fsck/initialize.c:614
+#: gfs2/fsck/initialize.c:615
msgid "Trying to rebuild rindex assuming unevenly spaced rgrps"
msgstr ""
-#: gfs2/fsck/initialize.c:617
+#: gfs2/fsck/initialize.c:618
msgid "Some damage was found; we need to take remedial measures"
msgstr ""
-#: gfs2/fsck/initialize.c:618
+#: gfs2/fsck/initialize.c:619
msgid "rindex is unevenly spaced: either gfs1-style or corrupt"
msgstr ""
-#: gfs2/fsck/initialize.c:619
+#: gfs2/fsck/initialize.c:620
msgid "rindex calculations don't match: uneven rgrp boundaries"
msgstr ""
-#: gfs2/fsck/initialize.c:620
+#: gfs2/fsck/initialize.c:621
msgid "Too many rgrp misses: rgrps must be unevenly spaced"
msgstr ""
-#: gfs2/fsck/initialize.c:621
+#: gfs2/fsck/initialize.c:622
msgid "Too much damage found: we cannot rebuild this rindex"
msgstr ""
-#: gfs2/fsck/initialize.c:626
+#: gfs2/fsck/initialize.c:627
msgid "Validating Resource Group index.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:630
+#: gfs2/fsck/initialize.c:631
#, c-format
msgid "Level %d rgrp check: %s.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:634
+#: gfs2/fsck/initialize.c:635
#, c-format
msgid "(level %d passed)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:638
+#: gfs2/fsck/initialize.c:639
#, c-format
msgid "(level %d failed: %s)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:641
+#: gfs2/fsck/initialize.c:642
#, c-format
msgid "(level %d failed at block %lld (0x%llx): %s)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:651
+#: gfs2/fsck/initialize.c:652
msgid "Resource Group recovery impossible; I can't fix this file system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:655
+#: gfs2/fsck/initialize.c:656
#, c-format
msgid "%u resource groups found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:678
+#: gfs2/fsck/initialize.c:679
msgid "Initializing special inodes...\n"
msgstr ""
-#: gfs2/fsck/initialize.c:696
+#: gfs2/fsck/initialize.c:697
msgid "The gfs2 system inum inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:698
+#: gfs2/fsck/initialize.c:699
msgid "fsck.gfs2 cannot continue without a valid inum file; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:704
+#: gfs2/fsck/initialize.c:705
#, c-format
msgid "Error %d rebuilding inum inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:720
+#: gfs2/fsck/initialize.c:721
#, c-format
msgid "Error %d reading system inum inode. Aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:731
+#: gfs2/fsck/initialize.c:732
#, c-format
msgid "Error reading statfs inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:737
+#: gfs2/fsck/initialize.c:738
msgid "The gfs2 system statfs inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:739 gfs2/fsck/initialize.c:751
+#: gfs2/fsck/initialize.c:740 gfs2/fsck/initialize.c:752
msgid "fsck.gfs2 cannot continue without a valid statfs file; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:745
+#: gfs2/fsck/initialize.c:746
#, c-format
msgid "Error %d rebuilding statfs inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:750
+#: gfs2/fsck/initialize.c:751
msgid "Rebuild of statfs system file failed."
msgstr ""
-#: gfs2/fsck/initialize.c:763
+#: gfs2/fsck/initialize.c:764
#, c-format
msgid "Error %d reading statfs file. Aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:777
+#: gfs2/fsck/initialize.c:778
#, c-format
msgid "Error reading quota inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:783
+#: gfs2/fsck/initialize.c:784
msgid "The gfs2 system quota inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:791
+#: gfs2/fsck/initialize.c:792
#, c-format
msgid "Error %d rebuilding quota inode\n"
msgstr ""
-#: gfs2/fsck/initialize.c:811
+#: gfs2/fsck/initialize.c:812
msgid "Unable to determine the boundaries of the file system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:818
+#: gfs2/fsck/initialize.c:819
msgid ""
"This system doesn't have enough memory and swap space to fsck this file "
"system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:819
+#: gfs2/fsck/initialize.c:820
#, c-format
msgid "Additional memory needed is approximately: %lluMB\n"
msgstr ""
-#: gfs2/fsck/initialize.c:821
+#: gfs2/fsck/initialize.c:822
msgid ""
"Please increase your swap space by that amount and run gfs2_fsck again.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:844
-msgid "Lock protocol determined to be: lock_nolock\n"
-msgstr ""
-
-#: gfs2/fsck/initialize.c:845
-msgid "Stand-alone file system: No need for a lock table.\n"
-msgstr ""
-
-#: gfs2/fsck/initialize.c:850
-msgid "Lock protocol assumed to be: "
-msgstr ""
-
-#: gfs2/fsck/initialize.c:865
-#, c-format
-msgid "Error: Unable to determine cluster name from %s\n"
-msgstr ""
-
-#: gfs2/fsck/initialize.c:876
-#, c-format
-msgid "Lock table determined to be: %s\n"
-msgstr ""
-
-#: gfs2/fsck/initialize.c:915
+#: gfs2/fsck/initialize.c:864
#, c-format
msgid "Found system master directory at: 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:930
+#: gfs2/fsck/initialize.c:879
#, c-format
msgid "Found system jindex file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:944 gfs2/fsck/initialize.c:1261
+#: gfs2/fsck/initialize.c:893 gfs2/fsck/initialize.c:1211
#, c-format
msgid "Found system master directory at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:956
+#: gfs2/fsck/initialize.c:905
#, c-format
msgid "Found system per_node directory at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:963
+#: gfs2/fsck/initialize.c:912
#, c-format
msgid "From per_node's '..' I backtracked the master directory to: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:969
+#: gfs2/fsck/initialize.c:918
#, c-format
msgid "Unknown system directory at block 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:976
+#: gfs2/fsck/initialize.c:925
#, c-format
msgid "Found system inum file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:982
+#: gfs2/fsck/initialize.c:931
#, c-format
msgid "Found system statfs file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:988
+#: gfs2/fsck/initialize.c:937
#, c-format
msgid "Found system rindex file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:996
+#: gfs2/fsck/initialize.c:945
#, c-format
msgid "Found system quota file at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1024
+#: gfs2/fsck/initialize.c:973
#, c-format
msgid "Found the root directory at: 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1029
+#: gfs2/fsck/initialize.c:978
#, c-format
msgid ""
"The root dinode should be at block 0x%llx but it seems to be destroyed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1032
+#: gfs2/fsck/initialize.c:981
#, c-format
msgid "Found a copy of the root directory in a journal at block: 0x%llx.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1035
+#: gfs2/fsck/initialize.c:984
msgid "Do you want to replace the root dinode from the copy? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:1037
+#: gfs2/fsck/initialize.c:986
msgid "Damaged root dinode not fixed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1044
+#: gfs2/fsck/initialize.c:993
msgid "Root directory copied from the journal.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1056 gfs2/fsck/initialize.c:1271
+#: gfs2/fsck/initialize.c:1005 gfs2/fsck/initialize.c:1221
#, c-format
msgid "Found the root directory at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1072 gfs2/fsck/initialize.c:1233
+#: gfs2/fsck/initialize.c:1021 gfs2/fsck/initialize.c:1182
#, c-format
msgid "Found a possible root at: 0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1126
+#: gfs2/fsck/initialize.c:1075
#, c-format
msgid "boff:%d bsize2:%d rg:0x%llx, rb:0x%llx\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1141
+#: gfs2/fsck/initialize.c:1090
#, c-format
msgid "Block size determined to be: %d\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1190
+#: gfs2/fsck/initialize.c:1139
msgid ""
"Gathering information to repair the gfs2 superblock. This may take some "
"time.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1197
+#: gfs2/fsck/initialize.c:1146
msgid "Block size not apparent; checking elsewhere.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1209
+#: gfs2/fsck/initialize.c:1158
msgid ""
"Unable to determine the block size; this does not look like a gfs2 file "
"system.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1219
+#: gfs2/fsck/initialize.c:1168
msgid "Unable to locate the system master directory.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1225
+#: gfs2/fsck/initialize.c:1174
msgid "Unable to locate the root directory.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1229
+#: gfs2/fsck/initialize.c:1178
msgid "Can't find any dinodes that might be the root; using master - 1.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1241
+#: gfs2/fsck/initialize.c:1190
msgid "The root dinode block is destroyed.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1242
+#: gfs2/fsck/initialize.c:1191
msgid ""
"At this point I recommend reinitializing it.\n"
"Hopefully everything will later be put into lost+found.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1246
+#: gfs2/fsck/initialize.c:1195
msgid "Okay to reinitialize the root dinode? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:1248
+#: gfs2/fsck/initialize.c:1197
msgid "The root dinode was not reinitialized; aborting.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1260
+#: gfs2/fsck/initialize.c:1210
msgid "Okay to fix the GFS2 superblock? (y/n)"
msgstr ""
-#: gfs2/fsck/initialize.c:1266
+#: gfs2/fsck/initialize.c:1216
#, c-format
msgid "Error reading master inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1276
+#: gfs2/fsck/initialize.c:1226
#, c-format
msgid "Error reading root inode: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1284
+#: gfs2/fsck/initialize.c:1235
msgid ""
"GFS2 superblock not fixed; fsck cannot proceed without a valid superblock.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1316
+#: gfs2/fsck/initialize.c:1267
msgid "GFS superblock is larger than the blocksize!\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1322
+#: gfs2/fsck/initialize.c:1273
msgid "Bad constants (1)\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1449
+#: gfs2/fsck/initialize.c:1368
+msgid "Clearing GFS journals (this may take a while)\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1381
+msgid ""
+"\n"
+"Journals cleared.\n"
+msgstr ""
+
+#: gfs2/fsck/initialize.c:1400
msgid "The gfs2 system rindex inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:1451
+#: gfs2/fsck/initialize.c:1402
msgid "Error: Cannot proceed without a valid rindex.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1455
+#: gfs2/fsck/initialize.c:1406
#, c-format
msgid "Error %d rebuilding rindex\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1480
+#: gfs2/fsck/initialize.c:1431
msgid "The gfs2 system jindex inode is missing. Okay to rebuild it? (y/n) "
msgstr ""
-#: gfs2/fsck/initialize.c:1482
+#: gfs2/fsck/initialize.c:1433
msgid "Error: cannot proceed without a valid jindex file.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1496
+#: gfs2/fsck/initialize.c:1447
#, c-format
msgid "Error %d rebuilding jindex\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1503
+#: gfs2/fsck/initialize.c:1454
msgid "Unable to read in jindex inode.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1530
+#: gfs2/fsck/initialize.c:1481
#, c-format
msgid "Unable to open device: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1576
+#: gfs2/fsck/initialize.c:1527
msgid "Unable to block other mounters\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1596
+#: gfs2/fsck/initialize.c:1547
#, c-format
msgid "Error reading master directory: %s\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1632
+#: gfs2/fsck/initialize.c:1583
msgid ""
"\n"
"Journal recovery complete.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1644
+#: gfs2/fsck/initialize.c:1595
#, c-format
msgid "Device %s is busy.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1652
+#: gfs2/fsck/initialize.c:1603
msgid "Unable to unblock other mounters - manual intervention required\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1653
+#: gfs2/fsck/initialize.c:1604
msgid "Use 'gfs2_tool sb <device> proto' to fix\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1655
+#: gfs2/fsck/initialize.c:1606
msgid "Syncing the device.\n"
msgstr ""
-#: gfs2/fsck/initialize.c:1666
+#: gfs2/fsck/initialize.c:1617
msgid "fsck.gfs2: Non-fatal error dropping caches.\n"
msgstr ""
-#: gfs2/fsck/pass3.c:38 gfs2/fsck/pass2.c:1756
+#: gfs2/fsck/pass3.c:38 gfs2/fsck/pass2.c:1884
msgid "Unable to allocate name\n"
msgstr ""
-#: gfs2/fsck/pass3.c:45 gfs2/fsck/pass2.c:1762
+#: gfs2/fsck/pass3.c:45 gfs2/fsck/pass2.c:1890
msgid "Unable to zero name\n"
msgstr ""
@@ -1770,13 +1762,13 @@ msgstr ""
msgid "old \"..\""
msgstr ""
-#: gfs2/fsck/pass3.c:60 gfs2/fsck/pass2.c:1553 gfs2/fsck/pass2.c:1774
-#: gfs2/fsck/lost_n_found.c:239
+#: gfs2/fsck/pass3.c:60 gfs2/fsck/pass2.c:1673 gfs2/fsck/pass2.c:1902
+#: gfs2/fsck/lost_n_found.c:240
#, c-format
msgid "Error adding directory %s: %s\n"
msgstr ""
-#: gfs2/fsck/pass3.c:67 gfs2/fsck/pass2.c:1781
+#: gfs2/fsck/pass3.c:67 gfs2/fsck/pass2.c:1909
#, c-format
msgid "Directory at %lld (0x%llx)"
msgstr ""
@@ -1818,7 +1810,7 @@ msgstr ""
msgid ".. parent is valid, but treewalk is bad - reattaching to lost+found"
msgstr ""
-#: gfs2/fsck/pass3.c:152 gfs2/fsck/pass2.c:1709
+#: gfs2/fsck/pass3.c:152 gfs2/fsck/pass2.c:1837
#, c-format
msgid ""
"Remove directory entry for bad inode %llu (0x%llx) in %llu (0x%llx)? (y/n)"
@@ -1833,7 +1825,7 @@ msgstr ""
msgid "Unable to find dentry for block %llu (0x%llx) in %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass3.c:174 gfs2/fsck/pass2.c:1731
+#: gfs2/fsck/pass3.c:174 gfs2/fsck/pass2.c:1859
msgid "Directory entry removed\n"
msgstr ""
@@ -1976,14 +1968,14 @@ msgstr ""
msgid "Invalid block type\n"
msgstr ""
-#: gfs2/fsck/pass2.c:201 gfs2/fsck/pass2.c:614
+#: gfs2/fsck/pass2.c:201 gfs2/fsck/pass2.c:628
#, 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:621
+#: gfs2/fsck/pass2.c:207 gfs2/fsck/pass2.c:635
#, c-format
msgid "The directory entry has %llu (0x%llx) but the inode has %llu (0x%llx)\n"
msgstr ""
@@ -2012,104 +2004,104 @@ msgstr ""
msgid "fixed reference"
msgstr ""
-#: gfs2/fsck/pass2.c:235 gfs2/fsck/pass2.c:459
+#: gfs2/fsck/pass2.c:235 gfs2/fsck/pass2.c:473
msgid "Directory entry not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:283
+#: gfs2/fsck/pass2.c:286
#, 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:290
+#: gfs2/fsck/pass2.c:293
msgid "Fix the leaf block? (y/n)"
msgstr ""
-#: gfs2/fsck/pass2.c:291
+#: gfs2/fsck/pass2.c:294
msgid "The leaf block was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:297
+#: gfs2/fsck/pass2.c:300
msgid "The leaf block depth was fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:319
+#: gfs2/fsck/pass2.c:322
#, c-format
msgid ""
"Directory entry '%s' at block %lld (0x%llx) is on the wrong leaf block.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:323
+#: gfs2/fsck/pass2.c:326
#, 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:325
+#: gfs2/fsck/pass2.c:328
msgid "Move the misplaced directory entry to a valid leaf block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:327
+#: gfs2/fsck/pass2.c:330
msgid "Misplaced directory entry not moved.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:338
+#: gfs2/fsck/pass2.c:341
#, c-format
msgid "Moving it from leaf %llu (0x%llx) to %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:359
+#: gfs2/fsck/pass2.c:362
msgid ""
"The misplaced directory entry already appears on the correct leaf block.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:361
+#: gfs2/fsck/pass2.c:364
#, c-format
msgid "The bad duplicate directory entry '%s' was cleared.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:368
+#: gfs2/fsck/pass2.c:371
msgid "The misplaced directory entry was moved to a valid leaf block.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:372
+#: gfs2/fsck/pass2.c:375
#, c-format
msgid ""
"The planned leaf was split. The new leaf is: %llu (0x%llx). di_blocks=%llu\n"
msgstr ""
-#: gfs2/fsck/pass2.c:377 gfs2/fsck/pass2.c:1222
+#: gfs2/fsck/pass2.c:380 gfs2/fsck/pass2.c:1236
msgid "split leaf"
msgstr ""
-#: gfs2/fsck/pass2.c:387
+#: gfs2/fsck/pass2.c:390
msgid "Accounting deferred.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:394 gfs2/fsck/pass2.c:834
-msgid "valid reference"
+#: gfs2/fsck/pass2.c:408
+msgid "moved valid reference"
msgstr ""
-#: gfs2/fsck/pass2.c:409
+#: gfs2/fsck/pass2.c:423
msgid "Error moving directory entry.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:437
+#: 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:441
+#: gfs2/fsck/pass2.c:455
msgid "Clear directory entry to out of range block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:445
+#: gfs2/fsck/pass2.c:459
msgid "Directory entry to out of range block remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:455
+#: gfs2/fsck/pass2.c:469
#, c-format
msgid ""
"Dir entry with bad record or name length\n"
@@ -2117,19 +2109,19 @@ msgid ""
"\tName length = %u\n"
msgstr ""
-#: gfs2/fsck/pass2.c:458
+#: gfs2/fsck/pass2.c:472
msgid "Clear the directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:463
+#: gfs2/fsck/pass2.c:477
msgid "corrupt directory entry"
msgstr ""
-#: gfs2/fsck/pass2.c:465
+#: gfs2/fsck/pass2.c:479
msgid "Bad directory entry deleted.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:471
+#: gfs2/fsck/pass2.c:485
#, c-format
msgid ""
"Dir entry with bad hash or name length\n"
@@ -2137,516 +2129,552 @@ msgid ""
"\tFilename = %s\n"
msgstr ""
-#: gfs2/fsck/pass2.c:475
+#: gfs2/fsck/pass2.c:489
#, c-format
msgid ""
"\tName length found = %u\n"
"\tHash expected = %u (0x%x)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:478
+#: gfs2/fsck/pass2.c:492
#, c-format
msgid "Fix directory hash for %s? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:480
+#: gfs2/fsck/pass2.c:494
#, c-format
msgid "Directory entry hash for %s not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:487
+#: gfs2/fsck/pass2.c:501
#, c-format
msgid "Directory entry hash for %s fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:509
+#: gfs2/fsck/pass2.c:523
#, c-format
msgid "Found directory entry '%s' pointing to invalid block %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:514
+#: gfs2/fsck/pass2.c:528
msgid "Delete inode containing bad blocks? (y/n)"
msgstr ""
-#: gfs2/fsck/pass2.c:515
+#: gfs2/fsck/pass2.c:529
msgid "Entry to inode containing bad blocks remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:533
+#: gfs2/fsck/pass2.c:547
msgid "bad directory entry"
msgstr ""
-#: gfs2/fsck/pass2.c:534
+#: gfs2/fsck/pass2.c:548
#, c-format
msgid "Inode %lld (0x%llx) was deleted.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:540
+#: gfs2/fsck/pass2.c:554
#, 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:548
+#: gfs2/fsck/pass2.c:562
msgid "was previously marked invalid"
msgstr ""
-#: gfs2/fsck/pass2.c:549
+#: gfs2/fsck/pass2.c:563
msgid "was deleted or is not an inode"
msgstr ""
-#: gfs2/fsck/pass2.c:551
+#: gfs2/fsck/pass2.c:565
msgid "Clear directory entry to non-inode block? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:553
+#: gfs2/fsck/pass2.c:567
msgid "Directory entry to non-inode block remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:578
+#: gfs2/fsck/pass2.c:592
#, 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:585
+#: gfs2/fsck/pass2.c:599
#, c-format
msgid "Directory entry type is %d, block type is %d.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:591
+#: gfs2/fsck/pass2.c:605
#, 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:597
+#: gfs2/fsck/pass2.c:611
msgid "Clear stale directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:598
+#: gfs2/fsck/pass2.c:612
msgid "Stale directory entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:670
+#: gfs2/fsck/pass2.c:684
#, c-format
msgid "Found . dentry in directory %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:675
+#: gfs2/fsck/pass2.c:689
#, c-format
msgid "Already found '.' entry in directory %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:679
+#: gfs2/fsck/pass2.c:693
msgid "Clear duplicate '.' entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:680
+#: gfs2/fsck/pass2.c:694
msgid "Duplicate '.' entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:700
+#: gfs2/fsck/pass2.c:714
#, 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:710
+#: gfs2/fsck/pass2.c:724
msgid "Remove '.' reference? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:711
+#: gfs2/fsck/pass2.c:725
msgid "Invalid '.' reference remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:730
+#: gfs2/fsck/pass2.c:744
#, c-format
msgid "Found '..' dentry in directory %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:734
+#: gfs2/fsck/pass2.c:748
#, c-format
msgid "Already had a '..' entry in directory %llu(0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:738
+#: gfs2/fsck/pass2.c:752
msgid "Clear duplicate '..' entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:739
+#: gfs2/fsck/pass2.c:753
msgid "Duplicate '..' entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:758
+#: gfs2/fsck/pass2.c:772
#, c-format
msgid ""
"Found '..' entry in directory %llu (0x%llx) pointing to something that's not "
"a directory"
msgstr ""
-#: gfs2/fsck/pass2.c:762
+#: gfs2/fsck/pass2.c:776
msgid "Clear bad '..' directory entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:763
+#: gfs2/fsck/pass2.c:777
msgid "Bad '..' directory entry remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:807
+#: gfs2/fsck/pass2.c:821
#, c-format
msgid "Found non-dir inode dentry pointing to %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:817
+#: gfs2/fsck/pass2.c:831
#, c-format
msgid "%s: Hard link to block %llu (0x%llx) detected.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:822
+#: gfs2/fsck/pass2.c:836
msgid "Clear hard link to directory? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:825
+#: gfs2/fsck/pass2.c:839
msgid "Hard link to directory remains\n"
msgstr ""
-#: gfs2/fsck/pass2.c:846 gfs2/fsck/pass2.c:1033
+#: gfs2/fsck/pass2.c:848
+msgid "valid reference"
+msgstr ""
+
+#: gfs2/fsck/pass2.c:860 gfs2/fsck/pass2.c:1047
#, c-format
msgid "Bad directory entry '%s' cleared.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:864
+#: gfs2/fsck/pass2.c:878
#, c-format
msgid ""
"Padding inode %llu (0x%llx) hash table at offset %d (0x%x) for %d pointers.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:885
+#: gfs2/fsck/pass2.c:899
#, 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:890
+#: gfs2/fsck/pass2.c:904
msgid "pad leaf"
msgstr ""
-#: gfs2/fsck/pass2.c:917
+#: gfs2/fsck/pass2.c:931
#, 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:920
+#: gfs2/fsck/pass2.c:934
msgid "Attempt to fix it? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:921
+#: gfs2/fsck/pass2.c:935
msgid "Directory leaf was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:935
+#: gfs2/fsck/pass2.c:949
msgid "Encountered bad filename length; stopped processing.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:941
+#: gfs2/fsck/pass2.c:955
msgid "Skipping entry '.'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:944
+#: gfs2/fsck/pass2.c:958
msgid "Skipping entry '..'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:946
+#: gfs2/fsck/pass2.c:960
#, c-format
msgid "Skipping sentinel '%s'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:956
+#: gfs2/fsck/pass2.c:970
#, c-format
msgid "Not relocating corrupt entry \"%s\".\n"
msgstr ""
-#: gfs2/fsck/pass2.c:963
+#: gfs2/fsck/pass2.c:977
#, c-format
msgid "Error %d encountered while trying to relocate \"%s\" to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:971 gfs2/fsck/lost_n_found.c:249
+#: gfs2/fsck/pass2.c:985 gfs2/fsck/lost_n_found.c:250
msgid "from lost+found"
msgstr ""
-#: gfs2/fsck/pass2.c:977 gfs2/fsck/lost_n_found.c:252
+#: gfs2/fsck/pass2.c:991 gfs2/fsck/lost_n_found.c:253
msgid "to lost+found"
msgstr ""
-#: gfs2/fsck/pass2.c:978
+#: gfs2/fsck/pass2.c:992
#, c-format
msgid "Relocated \"%s\", block %llu (0x%llx) to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:989
+#: gfs2/fsck/pass2.c:1003
msgid ""
"Directory entries from misplaced leaf block were relocated to lost+found.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:992
+#: gfs2/fsck/pass2.c:1006
msgid "lost leaf"
msgstr ""
-#: gfs2/fsck/pass2.c:1101
+#: gfs2/fsck/pass2.c:1115
#, 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:1106 gfs2/fsck/pass2.c:1346 gfs2/fsck/pass2.c:1430
+#: gfs2/fsck/pass2.c:1120 gfs2/fsck/pass2.c:1340 gfs2/fsck/pass2.c:1364
+#: gfs2/fsck/pass2.c:1462 gfs2/fsck/pass2.c:1550
msgid "Fix the hash table? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1107 gfs2/fsck/pass2.c:1347 gfs2/fsck/pass2.c:1431
+#: gfs2/fsck/pass2.c:1121 gfs2/fsck/pass2.c:1341 gfs2/fsck/pass2.c:1365
+#: gfs2/fsck/pass2.c:1463 gfs2/fsck/pass2.c:1551
msgid "Hash table not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1122
+#: gfs2/fsck/pass2.c:1136
#, c-format
msgid "This leaf block's depth (%d) is too big for this dinode's depth (%d)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1140
+#: gfs2/fsck/pass2.c:1154
#, c-format
msgid ""
"Out of place leaf block %llu (0x%llx) had no entries, so it was deleted.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1145
+#: gfs2/fsck/pass2.c:1159
#, c-format
msgid "Reprocessing index 0x%x (case 1).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1158
+#: gfs2/fsck/pass2.c:1172
#, 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:1171
+#: gfs2/fsck/pass2.c:1185
#, c-format
msgid "Leaf pointers start at %d (0x%x), should be %d (%x).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1186
+#: gfs2/fsck/pass2.c:1200
#, 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:1201
+#: gfs2/fsck/pass2.c:1215
#, c-format
msgid "For depth %d, length %d, the proper start is: 0x%x.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1209
+#: gfs2/fsck/pass2.c:1223
#, c-format
msgid "Leaf block %llu (0x%llx) was split from length %d to %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1213
+#: gfs2/fsck/pass2.c:1227
#, c-format
msgid "Programming error: proper_len=%d, di_depth = %d, lf_depth = %d.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1218
+#: gfs2/fsck/pass2.c:1232
#, 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:1224
+#: gfs2/fsck/pass2.c:1238
msgid "Hash table repaired.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1229
+#: gfs2/fsck/pass2.c:1243
msgid ""
"One leaf split is not enough. The hash table will need to be reprocessed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1238
+#: gfs2/fsck/pass2.c:1252
#, c-format
msgid "There are %d pointers, but leaf 0x%llx's depth, %d, only allows %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1257
+#: gfs2/fsck/pass2.c:1271
#, c-format
msgid "Found %d extra pointers to leaf %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1261
+#: gfs2/fsck/pass2.c:1275
#, c-format
msgid "Reprocessing index 0x%x (case 2).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1341
+#: gfs2/fsck/pass2.c:1307
+#, 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:1337
+#, 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:1352 gfs2/fsck/pass2.c:1375
+#, c-format
+msgid "Hash index 0x%x is the proper reference to leaf 0x%llx.\n"
+msgstr ""
+
+#: gfs2/fsck/pass2.c:1361
+#, 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:1457
#, c-format
msgid "Dinode %llu (0x%llx) has bad leaf pointers at offset %d for %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1352 gfs2/fsck/metawalk.c:2019
+#: gfs2/fsck/pass2.c:1468 gfs2/fsck/metawalk.c:2019
msgid "replacing"
msgstr ""
-#: gfs2/fsck/pass2.c:1365
+#: gfs2/fsck/pass2.c:1485
#, 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:1377
+#: gfs2/fsck/pass2.c:1497
msgid "More leaf splits are needed; "
msgstr ""
-#: gfs2/fsck/pass2.c:1379
+#: gfs2/fsck/pass2.c:1499
#, c-format
msgid "Reprocessing index 0x%x (case 3).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1391
+#: gfs2/fsck/pass2.c:1511
#, 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:1411
+#: gfs2/fsck/pass2.c:1531
#, c-format
msgid "Reprocessing index 0x%x (case 4).\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1425
+#: gfs2/fsck/pass2.c:1545
#, c-format
msgid ""
-"Dinode %llu (0x%llx) has a hash table inconsistency at index %d (0x%d) for "
+"Dinode %llu (0x%llx) has a hash table inconsistency at index %d (0x%x) for "
"%d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1444
+#: gfs2/fsck/pass2.c:1564
#, c-format
-msgid "Length 0x%x is not proper for leaf %llu (0x%llx): 0x%x"
+msgid "Length 0x%x is not proper for leaf %llu (0x%llx): 0x%x\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1490
+#: gfs2/fsck/pass2.c:1610
#, c-format
msgid "Checking system directory inode '%s'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1493
+#: gfs2/fsck/pass2.c:1613
#, c-format
msgid "Failed to check '%s': sysinode is null\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1511
+#: gfs2/fsck/pass2.c:1631
msgid "System inode"
msgstr ""
-#: gfs2/fsck/pass2.c:1529
+#: gfs2/fsck/pass2.c:1649
#, c-format
msgid "No '.' entry found for %s directory.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1530 gfs2/fsck/pass2.c:1750
+#: gfs2/fsck/pass2.c:1650 gfs2/fsck/pass2.c:1878
msgid "Is it okay to add '.' entry? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1535
+#: gfs2/fsck/pass2.c:1655
msgid "Unable to allocate name string\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1541
+#: gfs2/fsck/pass2.c:1661
msgid "Unable to zero name string\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1547
+#: gfs2/fsck/pass2.c:1667
msgid "Adding '.' entry\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1566 gfs2/fsck/pass2.c:1794
+#: gfs2/fsck/pass2.c:1686 gfs2/fsck/pass2.c:1922
msgid "The directory was not fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1569
+#: gfs2/fsck/pass2.c:1689
#, c-format
msgid "%s inode %llu (0x%llx): Entries is %d - should be %d\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1574
+#: gfs2/fsck/pass2.c:1694
#, c-format
msgid "Fix entries for %s inode %llu (0x%llx)? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1580
+#: gfs2/fsck/pass2.c:1700
msgid "Entries updated\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1582
+#: gfs2/fsck/pass2.c:1702
#, c-format
msgid "Entries for inode %llu (0x%llx) left out of sync\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1659
+#: gfs2/fsck/pass2.c:1779
msgid "Checking directory inodes.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1675
+#: gfs2/fsck/pass2.c:1799
+msgid "Pass2 skipping the new lost+found.\n"
+msgstr ""
+
+#: gfs2/fsck/pass2.c:1803
#, c-format
msgid "Checking directory inode at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1723
+#: gfs2/fsck/pass2.c:1851
#, c-format
msgid "Unable to find dentry for %llu (0x%llx) in %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1733
+#: gfs2/fsck/pass2.c:1861
msgid "Directory entry to invalid inode remains.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1734
+#: gfs2/fsck/pass2.c:1862
#, c-format
msgid "Directory block %lld (0x%llx) is now marked as 'invalid'\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1745
+#: gfs2/fsck/pass2.c:1873
#, c-format
msgid "No '.' entry found for directory inode at block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1789
+#: gfs2/fsck/pass2.c:1917
msgid "\". (itself)\""
msgstr ""
-#: gfs2/fsck/pass2.c:1792
+#: gfs2/fsck/pass2.c:1920
msgid "The directory was fixed.\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1799
+#: gfs2/fsck/pass2.c:1927
#, c-format
msgid "Entries is %d - should be %d for inode block %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/pass2.c:1804
+#: gfs2/fsck/pass2.c:1932
msgid "Fix the entry count? (y/n) "
msgstr ""
-#: gfs2/fsck/pass2.c:1808
+#: gfs2/fsck/pass2.c:1936
msgid "The entry count was not fixed.\n"
msgstr ""
@@ -3127,108 +3155,108 @@ msgstr ""
msgid "\r%llu percent complete.\r"
msgstr ""
-#: gfs2/fsck/util.c:256
+#: gfs2/fsck/util.c:254
msgid "Unable to allocate duptree structure\n"
msgstr ""
-#: gfs2/fsck/util.c:343
+#: gfs2/fsck/util.c:341
#, c-format
msgid ""
"Original reference to block %llu (0x%llx) was previously found to be bad and "
"deleted.\n"
msgstr ""
-#: gfs2/fsck/util.c:347
+#: gfs2/fsck/util.c:345
#, c-format
msgid ""
"I'll consider the reference from inode %llu (0x%llx) the first reference.\n"
msgstr ""
-#: gfs2/fsck/util.c:371
+#: gfs2/fsck/util.c:369
msgid "Unable to allocate inode_with_dups structure\n"
msgstr ""
-#: gfs2/fsck/util.c:376
+#: gfs2/fsck/util.c:374
msgid "Unable to zero inode_with_dups structure\n"
msgstr ""
-#: gfs2/fsck/util.c:401
+#: gfs2/fsck/util.c:399
#, c-format
msgid ""
"Found %d reference(s) to block %llu (0x%llx) as %s in %s inode #%llu (0x"
"%llx)\n"
msgstr ""
-#: gfs2/fsck/util.c:405
+#: gfs2/fsck/util.c:403
msgid "valid"
msgstr ""
-#: gfs2/fsck/util.c:405
+#: gfs2/fsck/util.c:403
msgid "invalid"
msgstr ""
-#: gfs2/fsck/util.c:409
+#: gfs2/fsck/util.c:407
msgid "This is the original reference.\n"
msgstr ""
-#: gfs2/fsck/util.c:411
+#: gfs2/fsck/util.c:409
#, c-format
msgid "This brings the total to: %d duplicate references\n"
msgstr ""
-#: gfs2/fsck/util.c:436
+#: gfs2/fsck/util.c:434
msgid "Unable to allocate dir_info structure\n"
msgstr ""
-#: gfs2/fsck/util.c:440
+#: gfs2/fsck/util.c:438
msgid "Error while zeroing dir_info structure\n"
msgstr ""
-#: gfs2/fsck/util.c:496
+#: gfs2/fsck/util.c:494
#, c-format
msgid ""
"Removing duplicate reference to block %llu (0x%llx) referenced as %s by "
"dinode %llu (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/util.c:624
+#: gfs2/fsck/util.c:622
msgid "directory"
msgstr ""
-#: gfs2/fsck/util.c:631
+#: gfs2/fsck/util.c:629
msgid "file"
msgstr ""
-#: gfs2/fsck/util.c:635
+#: gfs2/fsck/util.c:633
msgid "symlink"
msgstr ""
-#: gfs2/fsck/util.c:640
+#: gfs2/fsck/util.c:638
msgid "block device"
msgstr ""
-#: gfs2/fsck/util.c:645
+#: gfs2/fsck/util.c:643
msgid "character device"
msgstr ""
-#: gfs2/fsck/util.c:650
+#: gfs2/fsck/util.c:648
msgid "fifo"
msgstr ""
-#: gfs2/fsck/util.c:655
+#: gfs2/fsck/util.c:653
msgid "socket"
msgstr ""
-#: gfs2/fsck/util.c:660 gfs2/fsck/pass1.c:1102
+#: gfs2/fsck/util.c:658 gfs2/fsck/pass1.c:1102
msgid "invalid mode"
msgstr ""
-#: gfs2/fsck/util.c:761
+#: gfs2/fsck/util.c:759
#, c-format
msgid "This was the last reference: 0x%llx is no longer a duplicate.\n"
msgstr ""
-#: gfs2/fsck/util.c:766
+#: gfs2/fsck/util.c:764
#, c-format
msgid "%d references remain to 0x%llx\n"
msgstr ""
@@ -3303,28 +3331,28 @@ msgstr ""
msgid "Error creating lost+found: %s\n"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:141
+#: gfs2/fsck/lost_n_found.c:142
msgid "lost+found dinode"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:144
+#: gfs2/fsck/lost_n_found.c:145
msgid "root"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:152
+#: gfs2/fsck/lost_n_found.c:153
#, c-format
msgid "lost+found directory is dinode %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:157
+#: gfs2/fsck/lost_n_found.c:158
msgid "Marking lost+found inode connected\n"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:182
+#: gfs2/fsck/lost_n_found.c:183
msgid "Trying to add lost+found to itself...skipping"
msgstr ""
-#: gfs2/fsck/lost_n_found.c:254
+#: gfs2/fsck/lost_n_found.c:255
#, c-format
msgid "Added inode #%llu (0x%llx) to lost+found\n"
msgstr ""
@@ -3527,118 +3555,124 @@ msgstr ""
msgid "rindex not fixed.\n"
msgstr ""
-#: gfs2/fsck/main.c:58
+#: gfs2/fsck/main.c:60
#, c-format
msgid "GFS2 fsck %s (built %s %s)\n"
msgstr ""
-#: gfs2/fsck/main.c:106
+#: gfs2/fsck/main.c:108
#, c-format
msgid "Invalid option %c\n"
msgstr ""
-#: gfs2/fsck/main.c:118
+#: gfs2/fsck/main.c:120
#, c-format
msgid "No device specified (Please use '-h' for help)\n"
msgstr ""
-#: gfs2/fsck/main.c:130
+#: gfs2/fsck/main.c:132
#, c-format
msgid "progress unknown.\n"
msgstr ""
-#: gfs2/fsck/main.c:132
+#: gfs2/fsck/main.c:134
#, c-format
msgid "processing block %llu out of %llu\n"
msgstr ""
-#: gfs2/fsck/main.c:137
+#: gfs2/fsck/main.c:139
msgid ""
"Do you want to abort gfs2_fsck, skip the rest of this pass or continue (a/s/"
"c)?"
msgstr ""
-#: gfs2/fsck/main.c:187
+#: gfs2/fsck/main.c:189
msgid "The statfs file is accurate.\n"
msgstr ""
-#: gfs2/fsck/main.c:190
+#: gfs2/fsck/main.c:192
msgid ""
"The statfs file is wrong:\n"
"\n"
msgstr ""
-#: gfs2/fsck/main.c:191
+#: gfs2/fsck/main.c:193
msgid "Current statfs values:\n"
msgstr ""
-#: gfs2/fsck/main.c:192 gfs2/fsck/main.c:203
+#: gfs2/fsck/main.c:194 gfs2/fsck/main.c:205
#, c-format
msgid "blocks: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/main.c:195 gfs2/fsck/main.c:206
+#: gfs2/fsck/main.c:197 gfs2/fsck/main.c:208
#, c-format
msgid "free: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/main.c:198
+#: gfs2/fsck/main.c:200
#, c-format
msgid ""
"dinodes: %lld (0x%llx)\n"
"\n"
msgstr ""
-#: gfs2/fsck/main.c:202
+#: gfs2/fsck/main.c:204
msgid "Calculated statfs values:\n"
msgstr ""
-#: gfs2/fsck/main.c:209
+#: gfs2/fsck/main.c:211
#, c-format
msgid "dinodes: %lld (0x%llx)\n"
msgstr ""
-#: gfs2/fsck/main.c:214
+#: gfs2/fsck/main.c:216
msgid "Okay to fix the master statfs file? (y/n)"
msgstr ""
-#: gfs2/fsck/main.c:215
+#: gfs2/fsck/main.c:217
msgid "The statfs file was not fixed.\n"
msgstr ""
-#: gfs2/fsck/main.c:220
+#: gfs2/fsck/main.c:222
msgid "The statfs file was fixed.\n"
msgstr ""
-#: gfs2/fsck/main.c:249
+#: gfs2/fsck/main.c:251
#, c-format
msgid "Starting %s\n"
msgstr ""
-#: gfs2/fsck/main.c:255
+#: gfs2/fsck/main.c:257
#, c-format
msgid "%s interrupted \n"
msgstr ""
-#: gfs2/fsck/main.c:258
+#: gfs2/fsck/main.c:260
#, c-format
msgid "%s complete \n"
msgstr ""
-#: gfs2/fsck/main.c:280
+#: gfs2/fsck/main.c:282
msgid "Initializing fsck\n"
msgstr ""
-#: gfs2/fsck/main.c:285
+#: gfs2/fsck/main.c:287
#, c-format
msgid "%s: clean.\n"
msgstr ""
-#: gfs2/fsck/main.c:315
+#: gfs2/fsck/main.c:317
msgid "Writing changes to disk\n"
msgstr ""
-#: gfs2/fsck/main.c:318
+#: gfs2/fsck/main.c:321
+msgid ""
+"Superblock was reset. Use tunegfs2 to manually set lock table before "
+"mounting.\n"
+msgstr ""
+
+#: gfs2/fsck/main.c:323
msgid "gfs2_fsck complete\n"
msgstr ""
@@ -4136,7 +4170,8 @@ msgstr ""
#: gfs2/fsck/pass1b.c:374
#, c-format
-msgid "Block %llu (0x%llx) has only one remaining valid reference.\n"
+msgid ""
+"Block %llu (0x%llx) has only one remaining valid inode referencing it.\n"
msgstr ""
#: gfs2/fsck/pass1b.c:385
10 years, 11 months
gfs2-utils: master - gfs2-utils: Add some missing gettext calls
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=244a1b60...
Commit: 244a1b60024758e4f5f06ae7e4f121f953a8cb3f
Parent: 387308852e075432b77cf04217d3a47c3f6e07ca
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Mon Jul 22 14:44:05 2013 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Mon Jul 22 14:44:05 2013 +0100
gfs2-utils: Add some missing gettext calls
Call gettext on some strings that were missed for translation.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/fs_recovery.c | 6 +++---
gfs2/fsck/initialize.c | 4 ++--
gfs2/mkfs/main_jadd.c | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gfs2/fsck/fs_recovery.c b/gfs2/fsck/fs_recovery.c
index 6c92d0e..71d9909 100644
--- a/gfs2/fsck/fs_recovery.c
+++ b/gfs2/fsck/fs_recovery.c
@@ -650,7 +650,7 @@ int ji_update(struct gfs2_sbd *sdp)
if (!(sdp->md.journal = calloc(sdp->md.journals,
sizeof(struct gfs2_inode *)))) {
- log_err("Unable to allocate journal index\n");
+ log_err(_("Unable to allocate journal index\n"));
return -1;
}
memset(journal_name, 0, sizeof(*journal_name));
@@ -662,8 +662,8 @@ int ji_update(struct gfs2_sbd *sdp)
if (!error)
break;
if (error != sizeof(struct gfs_jindex)){
- log_err("An error occurred while reading the"
- " journal index file.\n");
+ log_err(_("An error occurred while reading the"
+ " journal index file.\n"));
return -1;
}
gfs_jindex_in(&ji, buf);
diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c
index 869d2de..b45ae08 100644
--- a/gfs2/fsck/initialize.c
+++ b/gfs2/fsck/initialize.c
@@ -1365,7 +1365,7 @@ static int reconstruct_journals(struct gfs2_sbd *sdp)
struct gfs_jindex ji;
char buf[sizeof(struct gfs_jindex)];
- log_err("Clearing GFS journals (this may take a while)\n");
+ log_err(_("Clearing GFS journals (this may take a while)\n"));
for (i = 0; i < sdp->md.journals; i++) {
count = gfs2_readi(sdp->md.jiinode, buf,
i * sizeof(struct gfs_jindex),
@@ -1378,7 +1378,7 @@ static int reconstruct_journals(struct gfs2_sbd *sdp)
if (reconstruct_single_journal(sdp, i, ji.ji_nsegment))
return -1;
}
- log_err("\nJournals cleared.\n");
+ log_err(_("\nJournals cleared.\n"));
return 0;
}
diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
index 223dce7..58fb046 100644
--- a/gfs2/mkfs/main_jadd.c
+++ b/gfs2/mkfs/main_jadd.c
@@ -209,7 +209,7 @@ print_results(struct gfs2_sbd *sdp)
return;
if (sdp->expert)
- printf("Expert mode: on\n");
+ printf(_("Expert mode: on\n"));
printf( _("Filesystem: %s\n"), sdp->path_name);
printf( _("Old Journals: %u\n"), sdp->orig_journals);
10 years, 11 months
cluster: RHEL6 - Revert "cman: create and destroy lockfile on restart"
by Christine Caulfield
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=f0b76db91e8...
Commit: f0b76db91e8346e9abe3ea6fe4b85ffa03998fe3
Parent: 2352c4bad21a4a470ad7f51a18c1d28afcb23455
Author: Christine Caulfield <ccaulfie(a)redhat.com>
AuthorDate: Tue Jul 23 09:18:46 2013 +0100
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Tue Jul 23 09:18:46 2013 +0100
Revert "cman: create and destroy lockfile on restart"
This reverts commit 2352c4bad21a4a470ad7f51a18c1d28afcb23455.
This fix was alerady included in the script, using a slightly different method
---
cman/init.d/cman.in | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in
index 7933478..384fa2f 100644
--- a/cman/init.d/cman.in
+++ b/cman/init.d/cman.in
@@ -834,7 +834,6 @@ start()
fence_join_enabled \
"Joining fence domain"
- touch $LOCK_FILE
}
stop()
@@ -884,8 +883,6 @@ stop()
runwrap stop_configfs \
none \
"Unmounting configfs"
-
- rm -f $LOCK_FILE
}
cmanstatus()
@@ -936,7 +933,7 @@ fi
# See how we were called.
case "$1" in
start)
- start "$2"
+ start "$2" && touch $LOCK_FILE
if [ "$INITLOGLEVEL" = "quiet" ]; then
success
echo
@@ -947,7 +944,7 @@ stop)
if [ -n "$2" ] && [ "$2" = "remove" ]; then
cmanremove=remove
fi
- stop
+ stop && rm -f $LOCK_FILE
if [ "$INITLOGLEVEL" = "quiet" ]; then
success
echo
10 years, 11 months
cluster: RHEL510 - rgmanager: Fix unlikely NULL ptr deref
by Ryan McCabe
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=3d3bfb818b7...
Commit: 3d3bfb818b7332fe223aa534f52714a9026f1ea6
Parent: 33dedabacbdb48acd8a44abab88e6c2280fc9988
Author: Ryan McCabe <rmccabe(a)redhat.com>
AuthorDate: Fri Jul 12 15:46:27 2013 -0400
Committer: Ryan McCabe <rmccabe(a)redhat.com>
CommitterDate: Mon Jul 22 13:01:12 2013 -0400
rgmanager: Fix unlikely NULL ptr deref
Fix a couple of places where a very unlikely null pointer
dereference could occur.
Related: rhbz#968322
Signed-off-by: Ryan McCabe <rmccabe(a)redhat.com>
---
rgmanager/src/clulib/vft.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/rgmanager/src/clulib/vft.c b/rgmanager/src/clulib/vft.c
index 02b5bce..88a5eef 100644
--- a/rgmanager/src/clulib/vft.c
+++ b/rgmanager/src/clulib/vft.c
@@ -525,6 +525,9 @@ vf_buffer_join_msg(vf_msg_t *hdr, struct timeval *timeout)
hdr->vm_msg.vf_view,
hdr->vm_msg.vf_data, hdr->vm_msg.vf_datalen);
+ if (!newp)
+ return 0;
+
if (timeout && (timeout->tv_sec || timeout->tv_usec)) {
if (getuptime(&newp->vn_timeout) == -1) {
/* XXX What do we do here? */
@@ -809,6 +812,7 @@ vf_try_commit(key_node_t *key_node)
*/
if (key_node->kn_data == NULL) {
fprintf (stderr, "malloc fail err=%d\n", errno);
+ key_node->kn_datalen = 0;
return -1;
}
10 years, 11 months
cluster: RHEL510 - rgmanger: Don't destroy locked mutexes
by Ryan McCabe
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=33dedabacbd...
Commit: 33dedabacbdb48acd8a44abab88e6c2280fc9988
Parent: eec46c265deb7704dbf91d3274e4015995268c48
Author: Ryan McCabe <rmccabe(a)redhat.com>
AuthorDate: Fri Jul 12 15:42:45 2013 -0400
Committer: Ryan McCabe <rmccabe(a)redhat.com>
CommitterDate: Mon Jul 22 13:00:03 2013 -0400
rgmanger: Don't destroy locked mutexes
Unlock locked mutexes before calling pthread_mutex_destroy()
on them.
Related: rhbz#968322
Signed-off-by: Ryan McCabe <rmccabe(a)redhat.com>
---
rgmanager/src/daemons/rg_thread.c | 18 +++++-------------
1 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/rgmanager/src/daemons/rg_thread.c b/rgmanager/src/daemons/rg_thread.c
index 60bf0c6..cb047ea 100644
--- a/rgmanager/src/daemons/rg_thread.c
+++ b/rgmanager/src/daemons/rg_thread.c
@@ -545,20 +545,12 @@ resgroup_thread_main(void *arg)
raise(SIGSEGV);
}
+ pthread_mutex_unlock(&my_queue_mutex);
mystatus = pthread_mutex_destroy(&my_queue_mutex);
- if (mystatus != 0)
- {
- if (mystatus == EBUSY) {
- pthread_mutex_unlock(&my_queue_mutex);
- }
-
- mystatus = pthread_mutex_destroy(&my_queue_mutex);
- if (mystatus != 0) {
- fprintf (stderr, "mutex_destroy=%d err=%d %p\n",
- mystatus, errno, &my_queue_mutex);
-
- fflush (stderr);
- }
+ if (mystatus != 0) {
+ fprintf(stderr, "mutex_destroy=%d err=%d %p\n",
+ mystatus, errno, &my_queue_mutex);
+ fflush (stderr);
}
list_remove(&resthread_list, myself);
10 years, 11 months
cluster: RHEL510 - rgmanager: Fix for double pthread_mutex_unlock() calls
by Ryan McCabe
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=eec46c265de...
Commit: eec46c265deb7704dbf91d3274e4015995268c48
Parent: 9deeb287a75677409180478beb7b95f7be9d35f8
Author: Ryan McCabe <rmccabe(a)redhat.com>
AuthorDate: Fri Jul 12 15:36:35 2013 -0400
Committer: Ryan McCabe <rmccabe(a)redhat.com>
CommitterDate: Mon Jul 22 12:58:42 2013 -0400
rgmanager: Fix for double pthread_mutex_unlock() calls
Fix a few places where pthread_mutex_unlock() could be called
on an unlocked mutex.
Resolves: rhbz#968322
Signed-off-by: Ryan McCabe <rmccabe(a)redhat.com>
---
rgmanager/src/clulib/vft.c | 4 ++--
rgmanager/src/daemons/rg_event.c | 5 ++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/rgmanager/src/clulib/vft.c b/rgmanager/src/clulib/vft.c
index 26191b5..02b5bce 100644
--- a/rgmanager/src/clulib/vft.c
+++ b/rgmanager/src/clulib/vft.c
@@ -1034,7 +1034,6 @@ vf_key_init_nt(char *keyid, int timeout, vf_vote_cb_t vote_cb,
newnode = kn_find_key(keyid);
if (newnode) {
printf("Key %s already initialized\n", keyid);
- pthread_mutex_unlock(&key_list_mutex);
return -1;
}
@@ -1042,7 +1041,6 @@ vf_key_init_nt(char *keyid, int timeout, vf_vote_cb_t vote_cb,
if (newnode == NULL) {
fprintf(stderr, "malloc fail3 err=%d\n", errno);
- pthread_mutex_unlock(&key_list_mutex);
return -1;
}
@@ -1519,6 +1517,8 @@ vf_read(cluster_member_list_t *membership, char *keyid, uint64_t *view,
pthread_mutex_unlock(&vf_mutex);
return l;
}
+
+ pthread_mutex_lock(&key_list_mutex);
}
*data = malloc(key_node->kn_datalen);
diff --git a/rgmanager/src/daemons/rg_event.c b/rgmanager/src/daemons/rg_event.c
index fe532d7..0ae6ea8 100644
--- a/rgmanager/src/daemons/rg_event.c
+++ b/rgmanager/src/daemons/rg_event.c
@@ -371,9 +371,8 @@ event_master(void)
//clulog(LOG_DEBUG, "%d is master\n", mi->m_nodeid);
goto out;
}
- }
-
- pthread_mutex_unlock(&mi_mutex);
+ } else
+ pthread_mutex_unlock(&mi_mutex);
memset(&_master_lock, 0, sizeof(_master_lock));
if (clu_lock(LKM_EXMODE, &_master_lock, LKF_NOQUEUE,
10 years, 11 months
cluster: RHEL510 - rgmanager: Fix potential unlocked memory access
by Ryan McCabe
Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=9deeb287a75...
Commit: 9deeb287a75677409180478beb7b95f7be9d35f8
Parent: 6dbd73bff5c609a9b7aa57c8b15c7194554355df
Author: Ryan McCabe <rmccabe(a)redhat.com>
AuthorDate: Tue Feb 26 10:57:47 2013 -0500
Committer: Ryan McCabe <rmccabe(a)redhat.com>
CommitterDate: Mon Jul 22 12:58:21 2013 -0400
rgmanager: Fix potential unlocked memory access
Fix a potential unlocked access of the resource list.
Related: rhbz#968322
Signed-off-by: Ryan McCabe <rmccabe(a)redhat.com>
---
rgmanager/src/daemons/groups.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/rgmanager/src/daemons/groups.c b/rgmanager/src/daemons/groups.c
index 20ed2e1..13237da 100644
--- a/rgmanager/src/daemons/groups.c
+++ b/rgmanager/src/daemons/groups.c
@@ -1842,7 +1842,9 @@ init_resource_groups(int reconfigure, int do_init, int new_config_version)
do_condstops();
+ pthread_rwlock_rdlock(&resource_lock);
copy_incarnations(&_resources, &reslist);
+ pthread_rwlock_unlock(&resource_lock);
}
/* Swap in the new configuration */
10 years, 11 months