Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
List overview
Download
cluster-commits
January 2012
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
cluster-commits@lists.stg.fedorahosted.org
10 participants
147 discussions
Start a n
N
ew thread
cluster: STABLE32 - config: Fix typo in schema
by Lon Hohberger
30 Jan '12
30 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=7f…
Commit: 7fc46e322b78c59b160d6dade2699eb841353a61 Parent: e66cf5f585812e24f5e82a424d50cc2a4fec039d Author: Lon Hohberger <lhh(a)redhat.com> AuthorDate: Mon Jan 30 16:35:52 2012 -0500 Committer: Lon Hohberger <lhh(a)redhat.com> CommitterDate: Mon Jan 30 16:35:52 2012 -0500 config: Fix typo in schema Resolves: rhbz#785866 Signed-off-by: Lon Hohberger <lhh(a)redhat.com> --- config/tools/xml/cluster.rng.in.head | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/config/tools/xml/cluster.rng.in.head b/config/tools/xml/cluster.rng.in.head index a669c98..c2fed3e 100644 --- a/config/tools/xml/cluster.rng.in.head +++ b/config/tools/xml/cluster.rng.in.head @@ -20,7 +20,7 @@ cluster - rm - clvmd -Element defnitions: +Element definitions: - Resource - Fence
1
0
0
0
gfs2-utils: master - i18n: Update gfs2-utils.pot file
by cmaiolino
30 Jan '12
30 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=87…
Commit: 879e3d4e38d1c8ed238e1a8cbb14830733e56193 Parent: 6befade37357b6fec5093b1527e113dff016028b Author: Carlos Maiolino <cmaiolino(a)redhat.com> AuthorDate: Mon Jan 30 11:27:21 2012 -0200 Committer: Carlos Maiolino <cmaiolino(a)redhat.com> CommitterDate: Mon Jan 30 11:27:21 2012 -0200 i18n: Update gfs2-utils.pot file This patch will just update the current .pot file for an up2date version. --- po/gfs2-utils.pot | 2891 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 1748 insertions(+), 1143 deletions(-) diff --git a/po/gfs2-utils.pot b/po/gfs2-utils.pot index 246adee..3c514d8 100644 --- a/po/gfs2-utils.pot +++ b/po/gfs2-utils.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# 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: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-03 14:44+0000\n" +"Project-Id-Version: gfs2-utils master\n" +"Report-Msgid-Bugs-To: linux-cluster(a)redhat.com\n" +"POT-Creation-Date: 2012-01-30 11:26-0200\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,8 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: gfs2/fsck/eattr.c:42 gfs2/fsck/pass1b.c:305 gfs2/fsck/pass1.c:808 -#: gfs2/fsck/pass1c.c:197 +#: gfs2/fsck/eattr.c:42 gfs2/fsck/pass1b.c:316 gfs2/fsck/pass1.c:966 +#: gfs2/fsck/pass2.c:197 #, c-format msgid "" " Pointers Required: %d\n" @@ -30,177 +30,172 @@ msgstr "" msgid "Journal replay writing metadata block #%lld (0x%llx) for journal+0x%x\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:179 +#: gfs2/fsck/fs_recovery.c:131 gfs2/fsck/fs_recovery.c:243 +msgid "Out of memory when replaying journals.\n" +msgstr "" + +#: gfs2/fsck/fs_recovery.c:183 #, c-format msgid "" "Journal replay processing revoke for block #%lld (0x%llx) for journal+0x%x\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:233 +#: gfs2/fsck/fs_recovery.c:237 #, c-format msgid "Journal replay writing data block #%lld (0x%llx) for journal+0x%x\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:381 +#: gfs2/fsck/fs_recovery.c:390 #, c-format msgid "Journal block %u (0x%x): sequence no. 0x%llx out of order.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:383 +#: gfs2/fsck/fs_recovery.c:392 #, c-format msgid "Low: 0x%llx, High: 0x%llx, Prev: 0x%llx\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:390 +#: gfs2/fsck/fs_recovery.c:399 #, c-format msgid "Renumbering it as 0x%llx\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:444 +#: gfs2/fsck/fs_recovery.c:453 #, c-format msgid "jid=%u: Looking at journal...\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:450 +#: gfs2/fsck/fs_recovery.c:459 #, c-format -msgid "" -"Journal #%d (\"journal%d\") is corrupt.\n" -"Not fixing it due to the -n option.\n" +msgid "Journal #%d (\"journal%d\") is corrupt\n" +msgstr "" + +#: gfs2/fsck/fs_recovery.c:460 +msgid "Not fixing it due to the -n option.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:456 +#: gfs2/fsck/fs_recovery.c:464 #, c-format msgid "Journal #%d (\"journal%d\") is corrupt.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:458 +#: gfs2/fsck/fs_recovery.c:466 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:461 gfs2/fsck/fs_recovery.c:505 +#: gfs2/fsck/fs_recovery.c:469 gfs2/fsck/fs_recovery.c:512 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:466 +#: gfs2/fsck/fs_recovery.c:474 #, c-format msgid "" "\n" "Journal #%d (\"journal%d\") is corrupt. Okay to repair it? (y/n)" msgstr "" -#: gfs2/fsck/fs_recovery.c:469 +#: gfs2/fsck/fs_recovery.c:477 #, c-format msgid "jid=%u: The journal was not repaired.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:473 +#: gfs2/fsck/fs_recovery.c:481 #, c-format msgid "jid=%u: Repairing journal...\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:476 -#, c-format -msgid "jid=%u: Unable to repair the bad journal.\n" -msgstr "" - -#: gfs2/fsck/fs_recovery.c:482 +#: gfs2/fsck/fs_recovery.c:484 gfs2/fsck/fs_recovery.c:490 #, c-format msgid "jid=%u: Unable to fix the bad journal.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:486 +#: gfs2/fsck/fs_recovery.c:494 #, c-format msgid "jid=%u: The journal was successfully fixed.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:490 +#: gfs2/fsck/fs_recovery.c:498 #, c-format msgid "jid=%u: Journal is clean.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:495 +#: gfs2/fsck/fs_recovery.c:503 gfs2/fsck/fs_recovery.c:508 #, c-format -msgid "" -"Journal #%d (\"journal%d\") is dirty; not replaying due to the -n option.\n" +msgid "Journal #%d (\"journal%d\") is dirty\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:501 -#, c-format -msgid "Journal #%d (\"journal%d\") is dirty.\n" +#: gfs2/fsck/fs_recovery.c:504 +msgid "not replaying due to the -n option.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:502 +#: gfs2/fsck/fs_recovery.c:509 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:511 +#: gfs2/fsck/fs_recovery.c:518 #, c-format msgid "" "\n" "Journal #%d (\"journal%d\") is dirty. Okay to replay it? (y/n)" msgstr "" -#: gfs2/fsck/fs_recovery.c:515 +#: gfs2/fsck/fs_recovery.c:522 #, c-format msgid "jid=%u: Replaying journal...\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:527 +#: gfs2/fsck/fs_recovery.c:534 #, c-format msgid "jid=%u: Found %u revoke tags\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:532 +#: gfs2/fsck/fs_recovery.c:539 #, c-format msgid "jid=%u: Replayed %u of %u journaled data blocks\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:534 +#: gfs2/fsck/fs_recovery.c:541 #, c-format msgid "jid=%u: Replayed %u of %u metadata blocks\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:541 +#: gfs2/fsck/fs_recovery.c:548 #, c-format msgid "jid=%u: Done\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:544 +#: gfs2/fsck/fs_recovery.c:551 #, c-format msgid "jid=%u: Failed\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:546 +#: gfs2/fsck/fs_recovery.c:553 msgid "Do you want to clear the journal instead? (y/n)" msgstr "" -#: gfs2/fsck/fs_recovery.c:551 +#: gfs2/fsck/fs_recovery.c:558 #, c-format msgid "jid=%u: journal not cleared.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:582 gfs2/fsck/initialize.c:441 -msgid "Unable to read in jindex inode.\n" -msgstr "" - -#: gfs2/fsck/fs_recovery.c:588 +#: gfs2/fsck/fs_recovery.c:587 #, c-format msgid "" "File system journal \"journal%d\" is missing: pass1 will try to recreate " "it.\n" msgstr "" -#: gfs2/fsck/fs_recovery.c:608 +#: gfs2/fsck/fs_recovery.c:607 msgid "Recovering journals (this may take a while)\n" msgstr "" -#: gfs2/fsck/initialize.c:111 +#: gfs2/fsck/initialize.c:112 msgid "Freeing buffers.\n" msgstr "" @@ -208,970 +203,1060 @@ msgstr "" msgid "Setting block ranges...\n" msgstr "" -#: gfs2/fsck/initialize.c:156 +#: gfs2/fsck/initialize.c:157 msgid "This file system is too big for this computer to handle.\n" msgstr "" -#: gfs2/fsck/initialize.c:157 +#: gfs2/fsck/initialize.c:158 #, c-format msgid "Last fs block = 0x%llx, but sizeof(unsigned long) is %zu bytes.\n" msgstr "" -#: gfs2/fsck/initialize.c:167 +#: gfs2/fsck/initialize.c:168 #, c-format msgid "Can't seek to last block in file system: %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/initialize.c:176 +#: gfs2/fsck/initialize.c:177 #, 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:237 -msgid "Okay to reclaim unlinked inodes? (y/n)" +#: gfs2/fsck/initialize.c:244 +#, c-format +msgid "Okay to reclaim unlinked inodes in resource group %lld (0x%llx)? (y/n)" msgstr "" -#: gfs2/fsck/initialize.c:254 +#: gfs2/fsck/initialize.c:267 #, c-format msgid "" "Error: resource group %lld (0x%llx): free space (%d) does not match bitmap " "(%d)\n" msgstr "" -#: gfs2/fsck/initialize.c:260 +#: gfs2/fsck/initialize.c:273 gfs2/fsck/initialize.c:295 #, c-format msgid "(%d blocks were reclaimed)\n" msgstr "" -#: gfs2/fsck/initialize.c:262 +#: gfs2/fsck/initialize.c:275 msgid "Fix the rgrp free blocks count? (y/n)" msgstr "" -#: gfs2/fsck/initialize.c:266 +#: gfs2/fsck/initialize.c:283 gfs2/fsck/initialize.c:301 msgid "The rgrp was fixed.\n" msgstr "" -#: gfs2/fsck/initialize.c:268 +#: gfs2/fsck/initialize.c:285 gfs2/fsck/initialize.c:303 msgid "The rgrp was not fixed.\n" msgstr "" -#: gfs2/fsck/initialize.c:293 +#: gfs2/fsck/initialize.c:289 +#, c-format +msgid "" +"Error: resource group %lld (0x%llx): free meta (%d) does not match bitmap " +"(%d)\n" +msgstr "" + +#: gfs2/fsck/initialize.c:297 +msgid "Fix the rgrp free meta blocks count? (y/n)" +msgstr "" + +#: gfs2/fsck/initialize.c:328 msgid "Checking the integrity of all resource groups.\n" msgstr "" -#: gfs2/fsck/initialize.c:309 +#: gfs2/fsck/initialize.c:345 #, c-format msgid "RGs: Consistent: %d Inconsistent: %d Fixed: %d Total: %d\n" msgstr "" -#: gfs2/fsck/initialize.c:323 +#: gfs2/fsck/initialize.c:360 msgid "The system master directory seems to be destroyed.\n" msgstr "" -#: gfs2/fsck/initialize.c:324 +#: gfs2/fsck/initialize.c:361 msgid "Okay to rebuild it? (y/n)" msgstr "" -#: gfs2/fsck/initialize.c:325 +#: gfs2/fsck/initialize.c:362 msgid "System master not rebuilt; aborting.\n" msgstr "" -#: gfs2/fsck/initialize.c:328 +#: gfs2/fsck/initialize.c:365 msgid "Trying to rebuild the master directory.\n" msgstr "" -#: gfs2/fsck/initialize.c:391 -msgid "Master directory rebuilt.\n" +#: gfs2/fsck/initialize.c:378 +#, c-format +msgid "Error %d adding jindex directory\n" msgstr "" -#: gfs2/fsck/initialize.c:414 -msgid "Initializing special inodes...\n" +#: gfs2/fsck/initialize.c:385 +#, c-format +msgid "Error %d building jindex\n" msgstr "" -#: gfs2/fsck/initialize.c:421 -msgid "The gfs2 system rindex inode is missing. Okay to rebuild it? (y/n) " +#: gfs2/fsck/initialize.c:396 +#, c-format +msgid "Error %d adding per_node directory\n" +msgstr "" + +#: gfs2/fsck/initialize.c:404 +#, c-format +msgid "Error %d building per_node directory\n" +msgstr "" + +#: gfs2/fsck/initialize.c:416 +#, c-format +msgid "Error %d adding inum inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:422 +#, c-format +msgid "Error %d building inum inode\n" msgstr "" #: gfs2/fsck/initialize.c:434 -msgid "The gfs2 system jindex inode is missing. Okay to rebuild it? (y/n) " +#, c-format +msgid "Error %d adding statfs inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:440 +#, c-format +msgid "Error %d building statfs inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:452 +#, c-format +msgid "Error %d adding rindex inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:458 +#, c-format +msgid "Error %d building rindex inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:469 +#, c-format +msgid "Error %d adding quota inode\n" msgstr "" -#: gfs2/fsck/initialize.c:448 +#: gfs2/fsck/initialize.c:475 +#, c-format +msgid "Error %d building quota inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:480 +msgid "Master directory rebuilt.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:509 +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:515 +msgid "" +"The gfs2 system per_node directory inode is missing. Okay to rebuild it? (y/" +"n) " +msgstr "" + +#: gfs2/fsck/initialize.c:521 +#, c-format +msgid "Error %d rebuilding per_node directory\n" +msgstr "" + +#: gfs2/fsck/initialize.c:528 +msgid "Unable to rebuild per_node; aborting.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:542 +msgid "Checking if all rgrp and rindex values are good" +msgstr "" + +#: gfs2/fsck/initialize.c:543 +msgid "Checking if rindex values may be easily repaired" +msgstr "" + +#: gfs2/fsck/initialize.c:544 +msgid "Calculating where the rgrps should be if evenly spaced" +msgstr "" + +#: gfs2/fsck/initialize.c:545 +msgid "Trying to rebuild rindex assuming evenly spaced rgrps" +msgstr "" + +#: gfs2/fsck/initialize.c:546 +msgid "Trying to rebuild rindex assuming unevenly spaced rgrps" +msgstr "" + +#: gfs2/fsck/initialize.c:549 +msgid "Some damage was found; we need to take remedial measures" +msgstr "" + +#: gfs2/fsck/initialize.c:550 +msgid "rindex is unevenly spaced: either gfs1-style or corrupt" +msgstr "" + +#: gfs2/fsck/initialize.c:551 +msgid "rindex calculations don't match: uneven rgrp boundaries" +msgstr "" + +#: gfs2/fsck/initialize.c:552 +msgid "Too many rgrp misses: rgrps must be unevenly spaced" +msgstr "" + +#: gfs2/fsck/initialize.c:553 +msgid "Too much damage found: we cannot rebuild this rindex" +msgstr "" + +#: gfs2/fsck/initialize.c:558 msgid "Validating Resource Group index.\n" msgstr "" -#: gfs2/fsck/initialize.c:450 +#: gfs2/fsck/initialize.c:562 #, c-format -msgid "Level %d RG check.\n" +msgid "Level %d rgrp check: %s.\n" msgstr "" -#: gfs2/fsck/initialize.c:453 +#: gfs2/fsck/initialize.c:566 #, c-format msgid "(level %d passed)\n" msgstr "" -#: gfs2/fsck/initialize.c:457 +#: gfs2/fsck/initialize.c:570 +#, c-format +msgid "(level %d failed: %s)\n" +msgstr "" + +#: gfs2/fsck/initialize.c:573 #, c-format -msgid "(level %d failed)\n" +msgid "(level %d failed at block %lld (0x%llx): %s)\n" msgstr "" -#: gfs2/fsck/initialize.c:460 -msgid "RG recovery impossible; I can't fix this file system.\n" +#: gfs2/fsck/initialize.c:583 +msgid "Resource Group recovery impossible; I can't fix this file system.\n" msgstr "" -#: gfs2/fsck/initialize.c:463 +#: gfs2/fsck/initialize.c:587 #, c-format msgid "%u resource groups found.\n" msgstr "" -#: gfs2/fsck/initialize.c:473 +#: gfs2/fsck/initialize.c:610 +msgid "Initializing special inodes...\n" +msgstr "" + +#: gfs2/fsck/initialize.c:626 msgid "The gfs2 system inum inode is missing. Okay to rebuild it? (y/n) " msgstr "" -#: gfs2/fsck/initialize.c:484 +#: gfs2/fsck/initialize.c:628 +msgid "fsck.gfs2 cannot continue without a valid inum file; aborting.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:634 +#, c-format +msgid "Error %d rebuilding inum inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:650 +#, c-format +msgid "Error %d reading system inum inode. Aborting.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:663 msgid "The gfs2 system statfs inode is missing. Okay to rebuild it? (y/n) " msgstr "" -#: gfs2/fsck/initialize.c:488 +#: gfs2/fsck/initialize.c:665 gfs2/fsck/initialize.c:677 msgid "fsck.gfs2 cannot continue without a valid statfs file; aborting.\n" msgstr "" -#: gfs2/fsck/initialize.c:502 +#: gfs2/fsck/initialize.c:671 +#, c-format +msgid "Error %d rebuilding statfs inode\n" +msgstr "" + +#: gfs2/fsck/initialize.c:676 +msgid "Rebuild of statfs system file failed." +msgstr "" + +#: gfs2/fsck/initialize.c:689 +#, c-format +msgid "Error %d reading statfs file. Aborting.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:705 msgid "The gfs2 system quota inode is missing. Okay to rebuild it? (y/n) " msgstr "" -#: gfs2/fsck/initialize.c:509 -msgid "" -"The gfs2 system per_node directory inode is missing. Okay to rebuild it? (y/" -"n) " +#: gfs2/fsck/initialize.c:713 +#, c-format +msgid "Error %d rebuilding quota inode\n" msgstr "" -#: gfs2/fsck/initialize.c:519 +#: gfs2/fsck/initialize.c:733 msgid "Unable to determine the boundaries of the file system.\n" msgstr "" -#: gfs2/fsck/initialize.c:526 +#: gfs2/fsck/initialize.c:740 msgid "" "This system doesn't have enough memory and swap space to fsck this file " "system.\n" msgstr "" -#: gfs2/fsck/initialize.c:527 +#: gfs2/fsck/initialize.c:741 #, c-format msgid "Additional memory needed is approximately: %lluMB\n" msgstr "" -#: gfs2/fsck/initialize.c:529 +#: gfs2/fsck/initialize.c:743 msgid "" "Please increase your swap space by that amount and run gfs2_fsck again.\n" msgstr "" -#: gfs2/fsck/initialize.c:551 +#: gfs2/fsck/initialize.c:765 msgid "Lock protocol determined to be: lock_nolock\n" msgstr "" -#: gfs2/fsck/initialize.c:552 +#: gfs2/fsck/initialize.c:766 msgid "Stand-alone file system: No need for a lock table.\n" msgstr "" -#: gfs2/fsck/initialize.c:557 +#: gfs2/fsck/initialize.c:771 msgid "Lock protocol assumed to be: " msgstr "" -#: gfs2/fsck/initialize.c:570 +#: gfs2/fsck/initialize.c:784 msgid "Error: Unable to determine cluster name from /etc/cluster.conf\n" msgstr "" -#: gfs2/fsck/initialize.c:582 +#: gfs2/fsck/initialize.c:796 #, c-format msgid "Lock table determined to be: %s\n" msgstr "" -#: gfs2/fsck/initialize.c:621 +#: gfs2/fsck/initialize.c:835 #, c-format msgid "Found system master directory at: 0x%llx.\n" msgstr "" -#: gfs2/fsck/initialize.c:630 +#: gfs2/fsck/initialize.c:846 #, c-format msgid "Found system jindex file at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:642 +#: gfs2/fsck/initialize.c:860 gfs2/fsck/initialize.c:1174 #, c-format msgid "Found system master directory at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:653 +#: gfs2/fsck/initialize.c:872 #, c-format msgid "Found system per_node directory at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:660 +#: gfs2/fsck/initialize.c:879 #, c-format msgid "From per_node's '..' I backtracked the master directory to: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:666 +#: gfs2/fsck/initialize.c:885 #, c-format msgid "Unknown system directory at block 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:673 +#: gfs2/fsck/initialize.c:892 #, c-format msgid "Found system inum file at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:679 +#: gfs2/fsck/initialize.c:898 #, c-format msgid "Found system statfs file at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:685 +#: gfs2/fsck/initialize.c:904 #, c-format msgid "Found system rindex file at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:693 +#: gfs2/fsck/initialize.c:912 #, c-format msgid "Found system quota file at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:718 +#: gfs2/fsck/initialize.c:941 #, c-format msgid "Found the root directory at: 0x%llx.\n" msgstr "" -#: gfs2/fsck/initialize.c:723 +#: gfs2/fsck/initialize.c:946 #, c-format msgid "" "The root dinode should be at block 0x%llx but it seems to be destroyed.\n" msgstr "" -#: gfs2/fsck/initialize.c:726 +#: gfs2/fsck/initialize.c:949 #, c-format msgid "Found a copy of the root directory in a journal at block: 0x%llx.\n" msgstr "" -#: gfs2/fsck/initialize.c:729 +#: gfs2/fsck/initialize.c:952 msgid "Do you want to replace the root dinode from the copy? (y/n)" msgstr "" -#: gfs2/fsck/initialize.c:731 +#: gfs2/fsck/initialize.c:954 msgid "Damaged root dinode not fixed.\n" msgstr "" -#: gfs2/fsck/initialize.c:738 +#: gfs2/fsck/initialize.c:961 msgid "Root directory copied from the journal.\n" msgstr "" -#: gfs2/fsck/initialize.c:746 +#: gfs2/fsck/initialize.c:969 gfs2/fsck/initialize.c:1180 #, c-format -msgid "fsck found the root inode at: 0x%llx\n" +msgid "Found the root directory at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:762 +#: gfs2/fsck/initialize.c:985 gfs2/fsck/initialize.c:1146 #, c-format msgid "Found a possible root at: 0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:816 +#: gfs2/fsck/initialize.c:1039 #, c-format msgid "boff:%d bsize2:%d rg:0x%llx, rb:0x%llx\n" msgstr "" -#: gfs2/fsck/initialize.c:831 +#: gfs2/fsck/initialize.c:1054 #, c-format msgid "Block size determined to be: %d\n" msgstr "" -#: gfs2/fsck/initialize.c:861 -msgid "Found several gfs (version 1) dinodes; aborting.\n" -msgstr "" - -#: gfs2/fsck/initialize.c:893 +#: gfs2/fsck/initialize.c:1103 msgid "" "Gathering information to repair the gfs2 superblock. This may take some " "time.\n" msgstr "" -#: gfs2/fsck/initialize.c:900 +#: gfs2/fsck/initialize.c:1110 msgid "Block size not apparent; checking elsewhere.\n" msgstr "" -#: gfs2/fsck/initialize.c:913 +#: gfs2/fsck/initialize.c:1122 msgid "" "Unable to determine the block size; this does not look like a gfs2 file " "system.\n" msgstr "" -#: gfs2/fsck/initialize.c:923 +#: gfs2/fsck/initialize.c:1132 msgid "Unable to locate the system master directory.\n" msgstr "" -#: gfs2/fsck/initialize.c:929 +#: gfs2/fsck/initialize.c:1138 msgid "Unable to locate the root directory.\n" msgstr "" -#: gfs2/fsck/initialize.c:933 +#: gfs2/fsck/initialize.c:1142 msgid "Can't find any dinodes that might be the root; using master - 1.\n" msgstr "" -#: gfs2/fsck/initialize.c:937 -#, c-format -msgid "Found a root directory candidate at 0x%llx\n" -msgstr "" - -#: gfs2/fsck/initialize.c:945 +#: gfs2/fsck/initialize.c:1154 msgid "The root dinode block is destroyed.\n" msgstr "" -#: gfs2/fsck/initialize.c:946 +#: gfs2/fsck/initialize.c:1155 msgid "" "At this point I recommend reinitializing it.\n" "Hopefully everything will later be put into lost+found.\n" msgstr "" -#: gfs2/fsck/initialize.c:950 +#: gfs2/fsck/initialize.c:1159 msgid "Okay to reinitialize the root dinode? (y/n)" msgstr "" -#: gfs2/fsck/initialize.c:952 +#: gfs2/fsck/initialize.c:1161 msgid "The root dinode was not reinitialized; aborting.\n" msgstr "" -#: gfs2/fsck/initialize.c:964 +#: gfs2/fsck/initialize.c:1173 msgid "Okay to fix the GFS2 superblock? (y/n)" msgstr "" -#: gfs2/fsck/initialize.c:965 -#, c-format -msgid "Master system directory found at: 0x%llx\n" -msgstr "" - -#: gfs2/fsck/initialize.c:971 -#, c-format -msgid "Root directory found at: 0x%llx\n" -msgstr "" - -#: gfs2/fsck/initialize.c:980 +#: gfs2/fsck/initialize.c:1189 msgid "" "GFS2 superblock not fixed; fsck cannot proceed without a valid superblock.\n" msgstr "" -#: gfs2/fsck/initialize.c:1000 gfs2/mkfs/main_grow.c:320 +#: gfs2/fsck/initialize.c:1211 gfs2/mkfs/main_grow.c:351 msgid "Initializing lists...\n" msgstr "" -#: gfs2/fsck/initialize.c:1010 +#: gfs2/fsck/initialize.c:1221 msgid "GFS superblock is larger than the blocksize!\n" msgstr "" -#: gfs2/fsck/initialize.c:1016 gfs2/mkfs/main_grow.c:326 -#: gfs2/mkfs/main_jadd.c:519 gfs2/mkfs/main_mkfs.c:593 -#, c-format +#: gfs2/fsck/initialize.c:1227 msgid "Bad constants (1)\n" msgstr "" -#: gfs2/fsck/initialize.c:1056 +#: gfs2/fsck/initialize.c:1354 +msgid "The gfs2 system rindex inode is missing. Okay to rebuild it? (y/n) " +msgstr "" + +#: gfs2/fsck/initialize.c:1356 +msgid "Error: Cannot proceed without a valid rindex.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:1360 +#, c-format +msgid "Error %d rebuilding rindex\n" +msgstr "" + +#: gfs2/fsck/initialize.c:1385 +msgid "The gfs2 system jindex inode is missing. Okay to rebuild it? (y/n) " +msgstr "" + +#: gfs2/fsck/initialize.c:1387 +msgid "Error: cannot proceed without a valid jindex file.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:1401 +#, c-format +msgid "Error %d rebuilding jindex\n" +msgstr "" + +#: gfs2/fsck/initialize.c:1408 +msgid "Unable to read in jindex inode.\n" +msgstr "" + +#: gfs2/fsck/initialize.c:1435 #, c-format msgid "Unable to open device: %s\n" msgstr "" -#: gfs2/fsck/initialize.c:1097 +#: gfs2/fsck/initialize.c:1481 msgid "Unable to block other mounters\n" msgstr "" -#: gfs2/fsck/initialize.c:1125 +#: gfs2/fsck/initialize.c:1533 msgid "" "\n" "Journal recovery complete.\n" msgstr "" -#: gfs2/fsck/initialize.c:1137 +#: gfs2/fsck/initialize.c:1545 #, c-format msgid "Device %s is busy.\n" msgstr "" -#: gfs2/fsck/initialize.c:1145 +#: gfs2/fsck/initialize.c:1553 msgid "Unable to unblock other mounters - manual intervention required\n" msgstr "" -#: gfs2/fsck/initialize.c:1146 +#: gfs2/fsck/initialize.c:1554 msgid "Use 'gfs2_tool sb <device> proto' to fix\n" msgstr "" -#: gfs2/fsck/initialize.c:1148 +#: gfs2/fsck/initialize.c:1556 msgid "Syncing the device.\n" msgstr "" -#: gfs2/fsck/initialize.c:1159 +#: gfs2/fsck/initialize.c:1567 msgid "fsck.gfs2: Non-fatal error dropping caches.\n" msgstr "" -#: gfs2/fsck/inode_hash.c:51 +#: gfs2/fsck/inode_hash.c:52 msgid "Unable to allocate inode_info structure\n" msgstr "" -#: gfs2/fsck/inode_hash.c:55 +#: gfs2/fsck/inode_hash.c:56 msgid "Error while zeroing inode_info structure\n" msgstr "" -#: gfs2/fsck/link.c:40 +#: gfs2/fsck/link.c:43 #, c-format -msgid "" -"Directory %lld (0x%llx) incremented counted links to %u for %llu (0x%llx) " -"via %s\n" +msgid "Dir (0x%llx) incremented counted links to %u for (0x%llx) via %s\n" msgstr "" -#: gfs2/fsck/link.c:48 +#: gfs2/fsck/link.c:50 #, c-format -msgid "" -"Ref: %llu (0x%llx) No match found when incrementing link for %llu (0x%llx)!\n" +msgid "Ref: (0x%llx) No match found when incrementing link for (0x%llx)!\n" msgstr "" #: gfs2/fsck/link.c:74 #, c-format -msgid "Directory %llu (0x%llx)'s link to %llu (0x%llx) via %s is zero!\n" +msgid "Dir (0x%llx)'s link to (0x%llx) via %s is zero!\n" msgstr "" -#: gfs2/fsck/link.c:83 +#: gfs2/fsck/link.c:81 #, c-format -msgid "" -"Directory %llu (0x%llx) decremented counted links to %u for %llu (0x%llx) " -"via %s\n" +msgid "Dir (0x%llx) decremented counted links to %u for (0x%llx) via %s\n" msgstr "" -#: gfs2/fsck/link.c:91 +#: gfs2/fsck/link.c:88 #, c-format -msgid "No match found when decrementing link for %llu (0x%llx)!\n" +msgid "No match found when decrementing link for (0x%llx)!\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:39 -msgid "Locating/Creating lost+found directory\n" +#: gfs2/fsck/lost_n_found.c:26 +#, c-format +msgid "" +"Adding .. entry to directory %llu (0x%llx) pointing back to lost+found\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:61 -msgid "lost+found dinode" +#: gfs2/fsck/lost_n_found.c:37 +#, c-format +msgid "Directory %lld (0x%llx) already had a \"..\" link to %lld (0x%llx).\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:65 -msgid "root" +#: gfs2/fsck/lost_n_found.c:44 +msgid ".. unlinked, moving to lost+found" msgstr "" -#: gfs2/fsck/lost_n_found.c:74 +#: gfs2/fsck/lost_n_found.c:49 #, c-format -msgid "lost+found directory is dinode %lld (0x%llx)\n" +msgid "Decrementing its links to %d\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:79 -msgid "Marking lost+found inode connected\n" +#: gfs2/fsck/lost_n_found.c:53 +msgid "Its link count is zero.\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:85 -msgid "Trying to add lost+found to itself...skipping" +#: gfs2/fsck/lost_n_found.c:55 +#, c-format +msgid "Its link count is %d! Changing it to 0.\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:92 +#: gfs2/fsck/lost_n_found.c:65 #, c-format -msgid "Adding .. entry pointing to lost+found for directory %llu (0x%llx)\n" +msgid "" +"Couldn't find a valid \"..\" entry for orphan directory %lld (0x%llx): '..' " +"= 0x%llx\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:103 +#: gfs2/fsck/lost_n_found.c:72 #, c-format -msgid "Directory %lld (0x%llx) already had a \"..\" link to %lld (0x%llx).\n" +msgid "Couldn't find directory %lld (0x%llx) in directory tree.\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:111 -msgid ".. unlinked, moving to lost+found" +#: gfs2/fsck/lost_n_found.c:78 +msgid "add_inode_to_lf: Unable to remove \"..\" directory entry.\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:115 +#: gfs2/fsck/lost_n_found.c:84 #, c-format -msgid "Decrementing its links to %d\n" +msgid "Error adding .. directory: %s\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:119 -msgid "Its link count is zero.\n" +#: gfs2/fsck/lost_n_found.c:150 +msgid "Locating/Creating lost+found directory\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:121 +#: gfs2/fsck/lost_n_found.c:165 #, c-format -msgid "Its link count is %d! Changing it to 0.\n" +msgid "Error creating lost+found: %s\n" +msgstr "" + +#: gfs2/fsck/lost_n_found.c:187 +msgid "lost+found dinode" +msgstr "" + +#: gfs2/fsck/lost_n_found.c:191 +msgid "root" msgstr "" -#: gfs2/fsck/lost_n_found.c:130 +#: gfs2/fsck/lost_n_found.c:202 #, c-format -msgid "Couldn't find a valid \"..\" entry for orphan directory %lld (0x%llx)\n" +msgid "lost+found directory is dinode %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:135 -msgid "add_inode_to_lf: Unable to remove \"..\" directory entry.\n" +#: gfs2/fsck/lost_n_found.c:207 +msgid "Marking lost+found inode connected\n" +msgstr "" + +#: gfs2/fsck/lost_n_found.c:213 +msgid "Trying to add lost+found to itself...skipping" +msgstr "" + +#: gfs2/fsck/lost_n_found.c:270 gfs2/fsck/pass2.c:679 gfs2/fsck/pass2.c:899 +#: gfs2/fsck/pass3.c:60 +#, c-format +msgid "Error adding directory %s: %s\n" msgstr "" -#: gfs2/fsck/lost_n_found.c:189 +#: gfs2/fsck/lost_n_found.c:281 msgid "from lost+found" msgstr "" -#: gfs2/fsck/lost_n_found.c:193 +#: gfs2/fsck/lost_n_found.c:285 msgid "to lost+found" msgstr "" -#: gfs2/fsck/lost_n_found.c:195 +#: gfs2/fsck/lost_n_found.c:287 #, c-format -msgid "Added inode #%llu (0x%llx) to lost+found dir\n" +msgid "Added inode #%llu (0x%llx) to lost+found\n" msgstr "" -#: gfs2/fsck/main.c:57 +#: gfs2/fsck/main.c:58 #, c-format msgid "GFS2 fsck %s (built %s %s)\n" msgstr "" -#: gfs2/fsck/main.c:102 gfs2/fsck/main.c:113 gfs2/mkfs/main_grow.c:96 -#: gfs2/mkfs/main_jadd.c:132 gfs2/mkfs/main_mkfs.c:155 +#: gfs2/fsck/main.c:103 gfs2/fsck/main.c:114 gfs2/mkfs/main_grow.c:109 +#: gfs2/mkfs/main_jadd.c:138 gfs2/mkfs/main_mkfs.c:185 #, c-format -msgid "Please use '-h' for usage.\n" +msgid "Please use '-h' for help.\n" msgstr "" -#: gfs2/fsck/main.c:105 gfs2/mkfs/main_grow.c:99 +#: gfs2/fsck/main.c:106 gfs2/mkfs/main_grow.c:112 #, c-format -msgid "Unknown option %c\n" +msgid "Invalid option %c\n" msgstr "" -#: gfs2/fsck/main.c:117 +#: gfs2/fsck/main.c:118 #, c-format -msgid "No device specified. Use '-h' for usage.\n" +msgid "No device specified (Please use '-h' for help)\n" msgstr "" -#: gfs2/fsck/main.c:129 +#: gfs2/fsck/main.c:130 #, c-format msgid "progress unknown.\n" msgstr "" -#: gfs2/fsck/main.c:131 +#: gfs2/fsck/main.c:132 #, c-format msgid "processing block %llu out of %llu\n" msgstr "" -#: gfs2/fsck/main.c:136 +#: gfs2/fsck/main.c:137 msgid "" "Do you want to abort gfs2_fsck, skip the rest of this pass or continue (a/s/" "c)?" msgstr "" -#: gfs2/fsck/main.c:181 +#: gfs2/fsck/main.c:187 msgid "The statfs file is accurate.\n" msgstr "" -#: gfs2/fsck/main.c:184 +#: gfs2/fsck/main.c:190 msgid "" "The statfs file is wrong:\n" "\n" msgstr "" -#: gfs2/fsck/main.c:185 +#: gfs2/fsck/main.c:191 msgid "Current statfs values:\n" msgstr "" -#: gfs2/fsck/main.c:186 gfs2/fsck/main.c:197 +#: gfs2/fsck/main.c:192 gfs2/fsck/main.c:203 #, c-format msgid "blocks: %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/main.c:189 gfs2/fsck/main.c:200 +#: gfs2/fsck/main.c:195 gfs2/fsck/main.c:206 #, c-format msgid "free: %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/main.c:192 +#: gfs2/fsck/main.c:198 #, c-format msgid "" "dinodes: %lld (0x%llx)\n" "\n" msgstr "" -#: gfs2/fsck/main.c:196 +#: gfs2/fsck/main.c:202 msgid "Calculated statfs values:\n" msgstr "" -#: gfs2/fsck/main.c:203 +#: gfs2/fsck/main.c:209 #, c-format msgid "dinodes: %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/main.c:208 +#: gfs2/fsck/main.c:214 msgid "Okay to fix the master statfs file? (y/n)" msgstr "" -#: gfs2/fsck/main.c:209 +#: gfs2/fsck/main.c:215 msgid "The statfs file was not fixed.\n" msgstr "" -#: gfs2/fsck/main.c:214 +#: gfs2/fsck/main.c:220 msgid "The statfs file was fixed.\n" msgstr "" -#: gfs2/fsck/main.c:234 -msgid "Initializing fsck\n" +#: gfs2/fsck/main.c:249 +#, c-format +msgid "Starting %s\n" msgstr "" -#: gfs2/fsck/main.c:239 +#: gfs2/fsck/main.c:255 #, c-format -msgid "%s: clean.\n" +msgid "%s interrupted \n" msgstr "" -#: gfs2/fsck/main.c:245 -msgid "Starting pass1\n" +#: gfs2/fsck/main.c:258 +#, c-format +msgid "%s complete \n" msgstr "" -#: gfs2/fsck/main.c:252 -msgid "Pass1 interrupted \n" +#: gfs2/fsck/main.c:280 +msgid "Initializing fsck\n" msgstr "" -#: gfs2/fsck/main.c:255 -msgid "Pass1 complete \n" +#: gfs2/fsck/main.c:285 +#, c-format +msgid "%s: clean.\n" msgstr "" -#: gfs2/fsck/main.c:260 -msgid "Starting pass1b\n" +#: gfs2/fsck/main.c:315 +msgid "Writing changes to disk\n" msgstr "" -#: gfs2/fsck/main.c:265 -msgid "Pass1b interrupted \n" +#: gfs2/fsck/main.c:318 +msgid "gfs2_fsck complete\n" msgstr "" -#: gfs2/fsck/main.c:268 -msgid "Pass1b complete\n" +#: gfs2/fsck/metawalk.c:40 +#, c-format +msgid "" +"Block %llu (0x%llx) is not represented in the system bitmap; part of an rgrp " +"or superblock.\n" msgstr "" -#: gfs2/fsck/main.c:273 -msgid "Starting pass1c\n" +#: gfs2/fsck/metawalk.c:54 +#, c-format +msgid "Block %llu (0x%llx) was '%s', should be %s.\n" msgstr "" -#: gfs2/fsck/main.c:278 -msgid "Pass1c interrupted \n" +#: gfs2/fsck/metawalk.c:58 +msgid "Fix the bitmap? (y/n)" msgstr "" -#: gfs2/fsck/main.c:281 -msgid "Pass1c complete\n" +#: gfs2/fsck/metawalk.c:95 +msgid "The bitmap was fixed.\n" msgstr "" -#: gfs2/fsck/main.c:286 -msgid "Starting pass2\n" +#: gfs2/fsck/metawalk.c:97 +msgid "The bitmap inconsistency was ignored.\n" msgstr "" -#: gfs2/fsck/main.c:291 -msgid "Pass2 interrupted \n" +#: gfs2/fsck/metawalk.c:132 +#, c-format +msgid "(%s:%d) %s inode found at block (0x%llx): marking as '%s'\n" msgstr "" -#: gfs2/fsck/main.c:294 -msgid "Pass2 complete \n" +#: gfs2/fsck/metawalk.c:143 gfs2/fsck/metawalk.c:154 +#, c-format +msgid "(%s:%d) inode (0x%llx) references %s block (0x%llx): marking as '%s'\n" msgstr "" -#: gfs2/fsck/main.c:299 -msgid "Starting pass3\n" +#: gfs2/fsck/metawalk.c:169 +msgid "This block is not represented in the bitmap.\n" msgstr "" -#: gfs2/fsck/main.c:304 -msgid "Pass3 interrupted \n" +#: gfs2/fsck/metawalk.c:360 +#, c-format +msgid "Checking leaf %llu (0x%llu)\n" msgstr "" -#: gfs2/fsck/main.c:307 -msgid "Pass3 complete \n" +#: gfs2/fsck/metawalk.c:365 +#, c-format +msgid "Invalid directory type %d specified\n" msgstr "" -#: gfs2/fsck/main.c:312 -msgid "Starting pass4\n" +#: gfs2/fsck/metawalk.c:383 +#, c-format +msgid "" +"Directory block %llu (0x%llx), entry %d of directory %llu (0x%llx) is " +"corrupt.\n" msgstr "" -#: gfs2/fsck/main.c:317 -msgid "Pass4 interrupted \n" +#: gfs2/fsck/metawalk.c:391 +msgid "Attempt to repair it? (y/n) " msgstr "" -#: gfs2/fsck/main.c:320 -msgid "Pass4 complete \n" +#: gfs2/fsck/metawalk.c:398 +msgid "" +"Unable to repair corrupt directory entry; the entry was removed instead.\n" msgstr "" -#: gfs2/fsck/main.c:325 -msgid "Starting pass5\n" +#: gfs2/fsck/metawalk.c:404 +msgid "Corrupt directory entry repaired.\n" msgstr "" -#: gfs2/fsck/main.c:330 -msgid "Pass5 interrupted \n" -msgstr "" - -#: gfs2/fsck/main.c:334 -msgid "Pass5 complete \n" -msgstr "" - -#: gfs2/fsck/main.c:356 -msgid "Writing changes to disk\n" -msgstr "" - -#: gfs2/fsck/main.c:359 -msgid "gfs2_fsck complete\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:40 -#, c-format -msgid "" -"Block %llu (0x%llx) is not represented in the system bitmap; part of an rgrp " -"or superblock.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:50 -#, c-format -msgid "" -"Block %llu (0x%llx) seems to be %s, but is marked as %s in the bitmap.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:55 -msgid "Okay to fix the bitmap? (y/n)" -msgstr "" - -#: gfs2/fsck/metawalk.c:84 -msgid "The bitmap was fixed.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:86 -msgid "The bitmap inconsistency was ignored.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:114 -#, c-format -msgid "%s inode found at block %lld (0x%llx): marking as '%s'\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:123 gfs2/fsck/metawalk.c:135 -#, c-format -msgid "" -"inode %lld (0x%llx) references %s block %lld (0x%llx): marking as '%s'\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:152 -msgid "This block is not represented in the bitmap.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:323 -#, c-format -msgid "Checking leaf %llu (0x%llu)\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:328 -#, c-format -msgid "Invalid directory type %d specified\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:346 -#, c-format -msgid "" -"Directory block %llu (0x%llx), entry %d of directory %llu(0x%llx) is " -"corrupt.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:354 -msgid "Attempt to repair it? (y/n) " -msgstr "" - -#: gfs2/fsck/metawalk.c:361 -msgid "" -"Unable to repair corrupt directory entry; the entry was removed instead.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:367 -msgid "Corrupt directory entry repaired.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:372 gfs2/fsck/metawalk.c:395 +#: gfs2/fsck/metawalk.c:409 gfs2/fsck/metawalk.c:432 #, c-format msgid "Corrupt directory entry ignored, stopped after checking %d entries.\n" msgstr "" -#: gfs2/fsck/metawalk.c:380 +#: gfs2/fsck/metawalk.c:417 msgid "First dirent is a sentinel (place holder).\n" msgstr "" -#: gfs2/fsck/metawalk.c:383 +#: gfs2/fsck/metawalk.c:420 #, 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:390 +#: gfs2/fsck/metawalk.c:427 msgid "Attempt to remove it? (y/n) " msgstr "" -#: gfs2/fsck/metawalk.c:392 +#: gfs2/fsck/metawalk.c:429 msgid "The corrupt directory entry was removed.\n" msgstr "" -#: gfs2/fsck/metawalk.c:404 +#: gfs2/fsck/metawalk.c:441 msgid "First dirent is a Sentinel (place holder).\n" msgstr "" -#: gfs2/fsck/metawalk.c:424 +#: gfs2/fsck/metawalk.c:461 #, c-format msgid "Last entry processed for %lld->%lld (0x%llx->0x%llx).\n" msgstr "" -#: gfs2/fsck/metawalk.c:453 +#: gfs2/fsck/metawalk.c:493 #, c-format msgid "Directory Inode %llu (0x%llx) points to leaf %llu (0x%llx) %s.\n" msgstr "" -#: gfs2/fsck/metawalk.c:461 +#: gfs2/fsck/metawalk.c:501 msgid "Attempt to patch around it? (y/n) " msgstr "" -#: gfs2/fsck/metawalk.c:466 +#: gfs2/fsck/metawalk.c:506 #, c-format msgid "Directory Inode %llu (0x%llx) repaired.\n" msgstr "" -#: gfs2/fsck/metawalk.c:471 +#: gfs2/fsck/metawalk.c:510 msgid "Bad leaf left in place.\n" msgstr "" -#: gfs2/fsck/metawalk.c:496 -msgid "Error: Cannot allocate memory to fix the leaf pointers.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:504 gfs2/fsck/metawalk.c:518 -msgid "Error: bad read while fixing leaf pointers.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:547 -#, c-format -msgid "" -"Directory #%llu (0x%llx) has an invalid number of pointers to leaf #%llu (0x" -"%llx)\n" -"\tFound: %u, which is not a factor of 2.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:555 gfs2/fsck/metawalk.c:576 -msgid "Attempt to fix it? (y/n) " -msgstr "" - -#: gfs2/fsck/metawalk.c:556 -msgid "Directory inode was not fixed.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:563 -msgid "Directory inode was fixed.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:568 +#: gfs2/fsck/metawalk.c:534 #, c-format msgid "" -"Directory #%llu (0x%llx) has an incorrect number of pointers to leaf #%llu " -"(0x%llx)\n" -"\tFound: %u, Expected: %u\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:577 -msgid "Directory leaf was not fixed.\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:582 -#, c-format -msgid "Leaf depth was %d, changed to %d\n" +"Leaf block #%llu (0x%llx) is out of range for directory #%llu (0x%llx).\n" msgstr "" -#: gfs2/fsck/metawalk.c:588 -msgid "Directory leaf was fixed.\n" +#: gfs2/fsck/metawalk.c:540 +msgid "that is out of range" msgstr "" -#: gfs2/fsck/metawalk.c:624 -#, c-format -msgid "Directory #%llu (0x%llx) has no valid leaf blocks\n" +#: gfs2/fsck/metawalk.c:548 +msgid "that is not really a leaf" msgstr "" -#: gfs2/fsck/metawalk.c:664 +#: gfs2/fsck/metawalk.c:554 #, c-format msgid "" -"Leaf block #%llu (0x%llx) is out of range for directory #%llu (0x%llx).\n" -msgstr "" - -#: gfs2/fsck/metawalk.c:674 -msgid "that is out of range" +"Previous reference to leaf %lld (0x%llx) has already checked it; skipping.\n" msgstr "" -#: gfs2/fsck/metawalk.c:685 -msgid "that is not really a leaf" -msgstr "" - -#: gfs2/fsck/metawalk.c:704 +#: gfs2/fsck/metawalk.c:569 #, c-format -msgid "incorrect lf_dirent_format at leaf #%llu\n" +msgid "incorrect lf_dirent_format at leaf #%<PRIu64>\n" msgstr "" -#: gfs2/fsck/metawalk.c:707 +#: gfs2/fsck/metawalk.c:573 msgid "Fixing lf_dirent_format.\n" msgstr "" -#: gfs2/fsck/metawalk.c:712 +#: gfs2/fsck/metawalk.c:578 #, c-format msgid "Inode %llu (0x%llx) points to bad leaf %llu (0x%llx).\n" msgstr "" -#: gfs2/fsck/metawalk.c:743 +#: gfs2/fsck/metawalk.c:584 +msgid "that is not a leaf" +msgstr "" + +#: gfs2/fsck/metawalk.c:606 #, c-format msgid "" -"Leaf %llu (0x%llx) entry count in directory %llu (0x%llx) doesn't match " +"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:755 +#: gfs2/fsck/metawalk.c:614 msgid "Update leaf entry count? (y/n) " msgstr "" -#: gfs2/fsck/metawalk.c:758 +#: gfs2/fsck/metawalk.c:617 msgid "Leaf entry count updated\n" msgstr "" -#: gfs2/fsck/metawalk.c:760 +#: gfs2/fsck/metawalk.c:619 msgid "Leaf entry count left in inconsistant state\n" msgstr "" -#: gfs2/fsck/metawalk.c:769 +#: gfs2/fsck/metawalk.c:672 +#, c-format +msgid "Directory #%llu (0x%llx) has no valid leaf blocks\n" +msgstr "" + +#: gfs2/fsck/metawalk.c:722 +#, c-format +msgid "Leaf chain (0x%llx) detected.\n" +msgstr "" + +#: gfs2/fsck/metawalk.c:778 #, c-format -msgid "Leaf chain 0x%llx detected.\n" +msgid "Bad extended attribute found at block %lld (0x%llx)" msgstr "" -#: gfs2/fsck/metawalk.c:825 +#: gfs2/fsck/metawalk.c:785 msgid "Repair the bad Extended Attribute? (y/n) " msgstr "" -#: gfs2/fsck/metawalk.c:837 gfs2/fsck/metawalk.c:1487 gfs2/fsck/pass1.c:879 -#: gfs2/fsck/pass1.c:961 +#: gfs2/fsck/metawalk.c:797 gfs2/fsck/metawalk.c:1511 gfs2/fsck/pass1.c:1044 msgid "extended attribute" msgstr "" -#: gfs2/fsck/metawalk.c:839 +#: gfs2/fsck/metawalk.c:799 msgid "The EA was fixed.\n" msgstr "" -#: gfs2/fsck/metawalk.c:843 +#: gfs2/fsck/metawalk.c:803 msgid "The bad EA was not fixed.\n" msgstr "" -#: gfs2/fsck/metawalk.c:879 +#: gfs2/fsck/metawalk.c:841 #, c-format msgid "Checking EA leaf block #%llu (0x%llx).\n" msgstr "" -#: gfs2/fsck/metawalk.c:938 +#: gfs2/fsck/metawalk.c:899 #, c-format msgid "" -"%s block %lld (0x%llx), part of inode %lld (0x%llx), was already free.\n" +"Removing duplicate status of block %llu (0x%llx) referenced as %s by dinode " +"%llu (0x%llx)\n" +msgstr "" + +#: gfs2/fsck/metawalk.c:906 +msgid "This leaves only one reference: it's no longer a duplicate.\n" +msgstr "" + +#: gfs2/fsck/metawalk.c:910 +#, c-format +msgid "%d block reference(s) remain.\n" msgstr "" -#: gfs2/fsck/metawalk.c:948 +#: gfs2/fsck/metawalk.c:951 #, c-format -msgid "Removing duplicate reference %d to block %lld (0x%llx).\n" +msgid "" +"%s block %lld (0x%llx), part of inode %lld (0x%llx), was already free.\n" msgstr "" #: gfs2/fsck/metawalk.c:980 @@ -1188,696 +1273,789 @@ msgstr "" msgid "Extended attributes exist for inode #%llu (0x%llx).\n" msgstr "" -#: gfs2/fsck/metawalk.c:1188 +#: gfs2/fsck/metawalk.c:1193 #, c-format msgid "Skipping block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/metawalk.c:1194 +#: gfs2/fsck/metawalk.c:1199 #, c-format msgid "Skipping invalid block %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/metawalk.c:1361 +#: gfs2/fsck/metawalk.c:1372 #, c-format msgid "" "\rLarge file at %lld (0x%llx) - 100 percent " "complete. \n" msgstr "" -#: gfs2/fsck/metawalk.c:1436 +#: gfs2/fsck/metawalk.c:1448 #, c-format msgid "Removing dentry %llu (0x%llx) from directory %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/metawalk.c:1441 -msgid "Parent directory out of range\n" +#: gfs2/fsck/metawalk.c:1453 +msgid "Parent directory is invalid\n" msgstr "" -#: gfs2/fsck/metawalk.c:1449 +#: gfs2/fsck/metawalk.c:1461 msgid "Parent block is not a directory...ignoring\n" msgstr "" -#: gfs2/fsck/metawalk.c:1462 gfs2/fsck/pass1.c:851 gfs2/fsck/pass1.c:933 +#: gfs2/fsck/metawalk.c:1474 gfs2/fsck/pass1.c:1016 msgid "metadata" msgstr "" -#: gfs2/fsck/metawalk.c:1468 gfs2/fsck/pass1.c:857 gfs2/fsck/pass1.c:939 +#: gfs2/fsck/metawalk.c:1479 gfs2/fsck/pass1.c:1022 msgid "leaf" msgstr "" -#: gfs2/fsck/metawalk.c:1473 gfs2/fsck/pass1.c:393 gfs2/fsck/pass1.c:427 -#: gfs2/fsck/pass1.c:863 gfs2/fsck/pass1.c:945 +#: gfs2/fsck/metawalk.c:1484 gfs2/fsck/pass1.c:563 gfs2/fsck/pass1.c:583 +#: gfs2/fsck/pass1.c:1028 msgid "data" msgstr "" -#: gfs2/fsck/metawalk.c:1480 gfs2/fsck/pass1.c:871 gfs2/fsck/pass1.c:953 +#: gfs2/fsck/metawalk.c:1493 gfs2/fsck/pass1.c:1036 msgid "indirect extended attribute" msgstr "" -#: gfs2/fsck/metawalk.c:1503 +#: gfs2/fsck/metawalk.c:1534 #, c-format msgid "" "%s reference to new metadata block %lld (0x%llx) is now marked as indirect.\n" msgstr "" -#: gfs2/fsck/metawalk.c:1522 +#: gfs2/fsck/metawalk.c:1553 #, c-format msgid "%s reference to new data block %lld (0x%llx) is now marked as data.\n" msgstr "" -#: gfs2/fsck/metawalk.c:1541 +#: gfs2/fsck/metawalk.c:1571 msgid "newly allocated leaf" msgstr "" -#: gfs2/fsck/metawalk.c:1581 +#: gfs2/fsck/metawalk.c:1611 #, c-format msgid "%s had blocks added; reprocessing its metadata tree at height=%d.\n" msgstr "" -#: gfs2/fsck/metawalk.c:1585 +#: gfs2/fsck/metawalk.c:1615 #, c-format msgid "Error %d reprocessing the %s metadata tree.\n" msgstr "" -#: gfs2/fsck/pass1b.c:153 +#: gfs2/fsck/pass1b.c:159 #, c-format msgid "" "Duplicate block %llu (0x%llx) is in file or directory %llu (0x%llx) named " "%s\n" msgstr "" -#: gfs2/fsck/pass1b.c:223 +#: gfs2/fsck/pass1b.c:229 msgid "no longer valid" msgstr "" -#: gfs2/fsck/pass1b.c:229 +#: gfs2/fsck/pass1b.c:235 #, c-format msgid "" "Not clearing duplicate reference in inode \"%s\" at block #%llu (0x%llx) to " "block #%llu (0x%llx) because it's valid for another inode.\n" msgstr "" -#: gfs2/fsck/pass1b.c:232 +#: gfs2/fsck/pass1b.c:238 msgid "unknown name" msgstr "" -#: gfs2/fsck/pass1b.c:236 +#: gfs2/fsck/pass1b.c:242 #, c-format msgid "Inode %s is in directory %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass1b.c:333 +#: gfs2/fsck/pass1b.c:344 #, c-format msgid "Block %lld (0x%llx) is not gfs2 metadata.\n" msgstr "" -#: gfs2/fsck/pass1b.c:380 +#: gfs2/fsck/pass1b.c:416 gfs2/fsck/pass1b.c:469 msgid "Invalid " msgstr "" -#: gfs2/fsck/pass1b.c:381 +#: gfs2/fsck/pass1b.c:417 #, c-format msgid "" "Inode %s (%lld/0x%llx) has %d reference(s) to block %llu (0x%llx) (%s)\n" msgstr "" -#: gfs2/fsck/pass1b.c:414 +#: gfs2/fsck/pass1b.c:497 +#, 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:505 #, c-format -msgid "Okay to clear %s inode %lld (0x%llx)? (y/n) " +msgid "Okay to delete %s inode %lld (0x%llx)? (y/n) " msgstr "" -#: gfs2/fsck/pass1b.c:415 +#: gfs2/fsck/pass1b.c:507 msgid "invalidated" msgstr "" -#: gfs2/fsck/pass1b.c:418 -msgid "The bad inode was not cleared...\n" +#: gfs2/fsck/pass1b.c:510 +msgid "The bad inode was not cleared." msgstr "" -#: gfs2/fsck/pass1b.c:421 +#: gfs2/fsck/pass1b.c:519 #, c-format -msgid "Clearing inode %lld (0x%llx)....\n" +msgid "Clearing inode %lld (0x%llx)...\n" msgstr "" -#: gfs2/fsck/pass1b.c:434 -msgid "bad" +#: gfs2/fsck/pass1b.c:536 +msgid "duplicate referencing bad" msgstr "" -#: gfs2/fsck/pass1b.c:492 +#: gfs2/fsck/pass1b.c:574 #, c-format msgid "" -"Inode %s (%lld/0x%llx) has a reference to data block %llu (0x%llx), but the " -"block is really metadata.\n" -msgstr "" - -#: gfs2/fsck/pass1b.c:499 -msgid "Clear the inode? (y/n) " +"Block %llu (0x%llx) has %d inodes referencing it for a total of %d duplicate " +"references:\n" msgstr "" -#: gfs2/fsck/pass1b.c:502 +#: gfs2/fsck/pass1b.c:632 #, c-format -msgid "Clearing inode %lld (0x%llx)...\n" +msgid "" +"----------------------------------------------\n" +"Step 1: Eliminate references to block %llu (0x%llx) that were previously " +"marked invalid.\n" msgstr "" -#: gfs2/fsck/pass1b.c:512 -msgid "inode with bad duplicate" +#: gfs2/fsck/pass1b.c:648 +#, c-format +msgid "" +"----------------------------------------------\n" +"Step 2: Eliminate references to block %llu (0x%llx) that need the wrong " +"block type.\n" msgstr "" -#: gfs2/fsck/pass1b.c:516 -msgid "The bad inode was not cleared." +#: gfs2/fsck/pass1b.c:663 +#, c-format +msgid "" +"----------------------------------------------\n" +"Step 3: Choose one reference to block %llu (0x%llx) to keep.\n" msgstr "" -#: gfs2/fsck/pass1b.c:522 +#: gfs2/fsck/pass1b.c:674 #, c-format -msgid "Block %llu (0x%llx) has only one remaining reference.\n" +msgid "Block %llu (0x%llx) has no more references; Marking as 'free'.\n" msgstr "" -#: gfs2/fsck/pass1b.c:529 +#: gfs2/fsck/pass1b.c:685 #, c-format -msgid "" -"Block %llu (0x%llx) has %d inodes referencing it for a total of %d duplicate " -"references\n" +msgid "Block %llu (0x%llx) has only one remaining reference.\n" msgstr "" -#: gfs2/fsck/pass1b.c:555 +#: gfs2/fsck/pass1b.c:696 #, c-format msgid "" -"Resetting the type based on the remaining reference in inode %lld (0x%llx).\n" +"----------------------------------------------\n" +"Step 4. Set block type based on the remaining reference in inode %lld (0x" +"%llx).\n" msgstr "" -#: gfs2/fsck/pass1b.c:563 +#: gfs2/fsck/pass1b.c:705 #, c-format msgid "" "The remaining reference inode %lld (0x%llx) is marked invalid: Marking the " "block as free.\n" msgstr "" -#: gfs2/fsck/pass1b.c:569 gfs2/fsck/pass1b.c:578 +#: gfs2/fsck/pass1b.c:711 gfs2/fsck/pass1b.c:722 msgid "reference-repaired leaf" msgstr "" -#: gfs2/fsck/pass1b.c:573 +#: gfs2/fsck/pass1b.c:717 msgid "reference-repaired data" msgstr "" -#: gfs2/fsck/pass1b.c:582 +#: gfs2/fsck/pass1b.c:726 msgid "reference-repaired indirect" msgstr "" -#: gfs2/fsck/pass1b.c:587 +#: gfs2/fsck/pass1b.c:731 msgid "reference-repaired extended attribute" msgstr "" -#: gfs2/fsck/pass1b.c:592 -msgid "All duplicate references were resolved.\n" +#: gfs2/fsck/pass1b.c:737 +msgid "All duplicate references were processed.\n" msgstr "" -#: gfs2/fsck/pass1b.c:608 +#: gfs2/fsck/pass1b.c:753 msgid "Looking for duplicate blocks...\n" msgstr "" -#: gfs2/fsck/pass1b.c:612 +#: gfs2/fsck/pass1b.c:757 msgid "No duplicate blocks found\n" msgstr "" -#: gfs2/fsck/pass1b.c:618 +#: gfs2/fsck/pass1b.c:763 msgid "Scanning filesystem for inodes containing duplicate blocks...\n" msgstr "" -#: gfs2/fsck/pass1b.c:619 +#: gfs2/fsck/pass1b.c:764 #, c-format msgid "Filesystem has %llu (0x%llx) blocks total\n" msgstr "" -#: gfs2/fsck/pass1b.c:627 +#: gfs2/fsck/pass1b.c:772 #, c-format msgid "Found all %d original references to duplicates.\n" msgstr "" -#: gfs2/fsck/pass1b.c:639 +#: gfs2/fsck/pass1b.c:784 #, c-format msgid "Checking invalidated duplicate dinode %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass1b.c:654 +#: gfs2/fsck/pass1b.c:799 msgid "Handling duplicate blocks\n" msgstr "" -#: gfs2/fsck/pass1.c:127 gfs2/fsck/pass1.c:226 gfs2/fsck/pass1.c:300 +#: gfs2/fsck/pass1.c:129 msgid "itself" msgstr "" -#: gfs2/fsck/pass1.c:128 +#: gfs2/fsck/pass1.c:130 #, c-format msgid "" -"Bad indirect block pointer (out of range) found in system inode %lld (0x" -"%llx).\n" +"Bad indirect block pointer (invalid or out of range) found in system inode " +"%lld (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:135 gfs2/fsck/pass1.c:188 +#: gfs2/fsck/pass1.c:137 gfs2/fsck/pass1.c:191 msgid "system file" msgstr "" -#: gfs2/fsck/pass1.c:170 +#: gfs2/fsck/pass1.c:172 #, c-format msgid "" "Block # referenced by system directory entry %s in inode %lld (0x%llx) is " -"out of range; ignored.\n" +"invalid or out of range; ignored.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:226 +msgid "Error: Cannot allocate memory to fix the leaf pointers.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:234 gfs2/fsck/pass1.c:252 +msgid "Error: bad read while fixing leaf pointers.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:301 +#, c-format +msgid "" +"Directory #%llu (0x%llx) has an invalid number of pointers to leaf #%llu (0x" +"%llx)\n" +"\tFound: %u, which is not a factor of 2.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:308 gfs2/fsck/pass1.c:329 +msgid "Attempt to fix it? (y/n) " +msgstr "" + +#: gfs2/fsck/pass1.c:309 +msgid "Directory inode was not fixed.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:316 +msgid "Directory inode was fixed.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:322 +#, c-format +msgid "" +"Directory #%llu (0x%llx) has an incorrect number of pointers to leaf #%llu " +"(0x%llx)\n" +"\tFound: %u, Expected: %u\n" +msgstr "" + +#: gfs2/fsck/pass1.c:330 +msgid "Directory leaf was not fixed.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:335 +#, c-format +msgid "Leaf depth was %d, changed to %d\n" +msgstr "" + +#: gfs2/fsck/pass1.c:340 +msgid "Directory leaf was fixed.\n" msgstr "" -#: gfs2/fsck/pass1.c:208 +#: gfs2/fsck/pass1.c:355 +#, 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:369 msgid "directory leaf" msgstr "" -#: gfs2/fsck/pass1.c:227 +#: gfs2/fsck/pass1.c:391 gfs2/fsck/pass1.c:468 +msgid "bad block referencing" +msgstr "" + +#: gfs2/fsck/pass1.c:392 #, c-format msgid "" -"Bad indirect block pointer (out of range) found in inode %lld (0x%llx).\n" +"Bad indirect block (invalid/out of range) found in inode %lld (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:236 +#: gfs2/fsck/pass1.c:401 msgid "a directory hash table block" msgstr "" -#: gfs2/fsck/pass1.c:239 +#: gfs2/fsck/pass1.c:404 msgid "a journaled data block" msgstr "" -#: gfs2/fsck/pass1.c:243 +#: gfs2/fsck/pass1.c:408 #, 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:257 +#: gfs2/fsck/pass1.c:422 #, 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:265 gfs2/fsck/pass1.c:326 gfs2/fsck/pass1.c:343 +#: gfs2/fsck/pass1.c:430 gfs2/fsck/pass1.c:481 gfs2/fsck/pass1.c:498 msgid "bad indirect" msgstr "" -#: gfs2/fsck/pass1.c:281 +#: gfs2/fsck/pass1.c:450 msgid "indirect" msgstr "" -#: gfs2/fsck/pass1.c:310 -#, c-format -msgid "" -"Reversing duplicate status of block %llu (0x%llx) referenced as metadata in " -"indirect block for dinode %llu (0x%llx)\n" +#: gfs2/fsck/pass1.c:476 +msgid "Metadata" msgstr "" -#: gfs2/fsck/pass1.c:354 +#: gfs2/fsck/pass1.c:509 #, c-format -msgid "inode %lld (0x%llx) has a bad data block pointer %lld (out of range)\n" +msgid "" +"inode %lld (0x%llx) has a bad data block pointer %lld (invalid or out of " +"range)\n" msgstr "" -#: gfs2/fsck/pass1.c:363 gfs2/fsck/pass1.c:409 +#: gfs2/fsck/pass1.c:518 msgid "bad (out of range) data" msgstr "" -#: gfs2/fsck/pass1.c:369 +#: gfs2/fsck/pass1.c:524 #, c-format msgid "" "Found duplicate %s block %llu (0x%llx) referenced as data by dinode %llu (0x" "%llx)\n" msgstr "" -#: gfs2/fsck/pass1.c:377 +#: gfs2/fsck/pass1.c:532 msgid "Seems to be a normal duplicate; I'll sort it out in pass1b.\n" msgstr "" -#: gfs2/fsck/pass1.c:387 +#: gfs2/fsck/pass1.c:542 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:415 +#: gfs2/fsck/pass1.c:552 #, c-format -msgid "" -"Reversing duplicate status of block %llu (0x%llx) referenced as data by " -"dinode %llu (0x%llx)\n" +msgid "Block %lld (0x%llx) is a GFS1 rindex block\n" msgstr "" -#: gfs2/fsck/pass1.c:450 +#: gfs2/fsck/pass1.c:555 +msgid "rgrp" +msgstr "" + +#: gfs2/fsck/pass1.c:558 +#, c-format +msgid "Block %lld (0x%llx) is a GFS1 journaled data block\n" +msgstr "" + +#: gfs2/fsck/pass1.c:561 +msgid "jdata" +msgstr "" + +#: gfs2/fsck/pass1.c:578 +msgid "bad (invalid or out of range) data" +msgstr "" + +#: gfs2/fsck/pass1.c:604 #, c-format msgid "" "Moving inode %lld (0x%llx)'s duplicate reference to %lld (0x%llx) from the " "valid to the invalid reference list.\n" msgstr "" -#: gfs2/fsck/pass1.c:471 +#: gfs2/fsck/pass1.c:625 #, c-format msgid "Duplicate reference to %lld (0x%llx) not moved.\n" msgstr "" -#: gfs2/fsck/pass1.c:490 +#: gfs2/fsck/pass1.c:644 #, c-format msgid "Inode %lld (0x%llx) has unrecoverable Extended Attribute errors.\n" msgstr "" -#: gfs2/fsck/pass1.c:493 +#: gfs2/fsck/pass1.c:647 msgid "Clear all Extended Attributes from the inode? (y/n) " msgstr "" -#: gfs2/fsck/pass1.c:495 +#: gfs2/fsck/pass1.c:649 msgid "Extended attributes were removed.\n" msgstr "" -#: gfs2/fsck/pass1.c:497 +#: gfs2/fsck/pass1.c:651 msgid "Unable to remove inode eattr pointer; the error remains.\n" msgstr "" -#: gfs2/fsck/pass1.c:500 +#: gfs2/fsck/pass1.c:654 msgid "Extended attributes were not removed.\n" msgstr "" -#: gfs2/fsck/pass1.c:517 +#: gfs2/fsck/pass1.c:671 #, c-format msgid "Inode #%llu (0x%llx): %s" msgstr "" -#: gfs2/fsck/pass1.c:520 +#: gfs2/fsck/pass1.c:674 #, c-format msgid " at block #%lld (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:522 +#: gfs2/fsck/pass1.c:676 msgid "Clear the bad Extended Attribute? (y/n) " msgstr "" -#: gfs2/fsck/pass1.c:525 +#: gfs2/fsck/pass1.c:679 msgid "The bad extended attribute was removed.\n" msgstr "" -#: gfs2/fsck/pass1.c:529 +#: gfs2/fsck/pass1.c:683 msgid "bad extended attribute" msgstr "" -#: gfs2/fsck/pass1.c:533 +#: gfs2/fsck/pass1.c:687 msgid "The bad Extended Attribute was not fixed.\n" msgstr "" -#: gfs2/fsck/pass1.c:567 +#: gfs2/fsck/pass1.c:721 msgid "Bad indirect Extended Attribute duplicate found" msgstr "" -#: gfs2/fsck/pass1.c:573 +#: gfs2/fsck/pass1.c:727 msgid "Extended Attribute indirect block has incorrect type" msgstr "" -#: gfs2/fsck/pass1.c:578 +#: gfs2/fsck/pass1.c:732 #, c-format msgid "" "Inode #%llu (0x%llx): Duplicate Extended Attribute indirect block found at #" "%llu (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:590 +#: gfs2/fsck/pass1.c:744 msgid "indirect Extended Attribute" msgstr "" -#: gfs2/fsck/pass1.c:606 +#: gfs2/fsck/pass1.c:760 #, c-format msgid "Marking inode #%llu (0x%llx) with extended attribute block\n" msgstr "" -#: gfs2/fsck/pass1.c:624 +#: gfs2/fsck/pass1.c:778 #, c-format msgid "" "Inode %lld (0x%llx) has recoverable indirect Extended Attribute errors.\n" msgstr "" -#: gfs2/fsck/pass1.c:628 +#: gfs2/fsck/pass1.c:782 msgid "Okay to fix the block count for the inode? (y/n) " msgstr "" -#: gfs2/fsck/pass1.c:632 +#: gfs2/fsck/pass1.c:786 msgid "Block count fixed.\n" msgstr "" -#: gfs2/fsck/pass1.c:635 +#: gfs2/fsck/pass1.c:789 msgid "Block count not fixed.\n" msgstr "" -#: gfs2/fsck/pass1.c:657 +#: gfs2/fsck/pass1.c:814 msgid "Bad Extended Attribute duplicate found" msgstr "" -#: gfs2/fsck/pass1.c:660 +#: gfs2/fsck/pass1.c:817 msgid "Extended Attribute leaf block has incorrect type" msgstr "" -#: gfs2/fsck/pass1.c:667 +#: gfs2/fsck/pass1.c:824 #, c-format msgid "Duplicate block found at #%lld (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:680 +#: gfs2/fsck/pass1.c:837 msgid "Extended Attribute block removed due to previous errors.\n" msgstr "" -#: gfs2/fsck/pass1.c:688 +#: gfs2/fsck/pass1.c:845 msgid "Extended Attribute" msgstr "" -#: gfs2/fsck/pass1.c:717 +#: gfs2/fsck/pass1.c:874 #, c-format msgid "" "Inode #%llu (0x%llx): Extended Attribute block %llu (0x%llx) has an extended " -"leaf block #%llu (0x%llx) that is out of range.\n" +"leaf block #%llu (0x%llx) that is invalid or out of range.\n" msgstr "" -#: gfs2/fsck/pass1.c:727 +#: gfs2/fsck/pass1.c:884 msgid "bad (out of range) Extended Attribute " msgstr "" -#: gfs2/fsck/pass1.c:750 +#: gfs2/fsck/pass1.c:907 #, c-format msgid "Setting inode %lld (0x%llx) as having eattr block(s) attached.\n" msgstr "" -#: gfs2/fsck/pass1.c:761 +#: gfs2/fsck/pass1.c:918 #, c-format msgid "" -"Inode #%llu (0x%llx): Extended Attribute leaf block #%llu (0x%llx) is out of " -"range.\n" +"Inode #%llu (0x%llx): Extended Attribute leaf block #%llu (0x%llx) is " +"invalid or out of range.\n" msgstr "" -#: gfs2/fsck/pass1.c:767 +#: gfs2/fsck/pass1.c:925 msgid "bad (out of range) Extended Attribute leaf" msgstr "" -#: gfs2/fsck/pass1.c:834 +#: gfs2/fsck/pass1.c:999 #, c-format msgid "" -"%s block %lld (0x%llx), part of inode %lld (0x%llx), was free so the invalid " -"reference is ignored.\n" +"%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:902 +#: gfs2/fsck/pass1.c:1073 #, c-format msgid "" -"Bad %s block pointer (out of range #%ld) found in inode %lld (0x%llx).\n" +"Bad %s block pointer (invalid or out of range #%ld) found in inode %lld (0x" +"%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:916 +#: gfs2/fsck/pass1.c:1087 #, c-format msgid "" -"Duplicated %s block pointer (violation #%ld) found in inode %lld (0x%llx).\n" +"Duplicated %s block pointer (violation %ld, block %lld (0x%llx)) found in " +"inode %lld (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass1.c:993 +#: gfs2/fsck/pass1.c:1162 #, c-format msgid "Error: inode %llu (0x%llx) has more than %d bad pointers.\n" msgstr "" -#: gfs2/fsck/pass1.c:999 +#: gfs2/fsck/pass1.c:1168 msgid "badly corrupt" msgstr "" -#: gfs2/fsck/pass1.c:1006 -msgid "directory" -msgstr "" - -#: gfs2/fsck/pass1.c:1013 -msgid "file" -msgstr "" - -#: gfs2/fsck/pass1.c:1018 -msgid "symlink" -msgstr "" - -#: gfs2/fsck/pass1.c:1023 -msgid "block device" -msgstr "" - -#: gfs2/fsck/pass1.c:1028 -msgid "character device" -msgstr "" - -#: gfs2/fsck/pass1.c:1033 -msgid "fifo" -msgstr "" - -#: gfs2/fsck/pass1.c:1038 -msgid "socket" -msgstr "" - -#: gfs2/fsck/pass1.c:1055 -msgid "invalid mode" -msgstr "" - -#: gfs2/fsck/pass1.c:1066 +#: gfs2/fsck/pass1.c:1200 #, c-format msgid "" "Directory dinode block #%llu (0x%llx) has bad depth. Found %u, Expected %u\n" msgstr "" -#: gfs2/fsck/pass1.c:1072 +#: gfs2/fsck/pass1.c:1206 msgid "bad depth" msgstr "" -#: gfs2/fsck/pass1.c:1084 +#: gfs2/fsck/pass1.c:1218 #, c-format msgid "Error: inode %llu (0x%llx) has unrecoverable errors; invalidating.\n" msgstr "" -#: gfs2/fsck/pass1.c:1095 +#: gfs2/fsck/pass1.c:1229 msgid "corrupt" msgstr "" -#: gfs2/fsck/pass1.c:1107 +#: gfs2/fsck/pass1.c:1241 #, c-format msgid "" "Inode #%llu (0x%llx): Ondisk block count (%llu) does not match what fsck " "found (%llu)\n" msgstr "" -#: gfs2/fsck/pass1.c:1114 +#: gfs2/fsck/pass1.c:1248 #, c-format msgid "" "inode has: %lld, but fsck counts: Dinode:1 + indir:%lld + data: %lld + ea: " "%lld\n" msgstr "" -#: gfs2/fsck/pass1.c:1120 +#: gfs2/fsck/pass1.c:1254 msgid "Fix ondisk block count? (y/n) " msgstr "" -#: gfs2/fsck/pass1.c:1124 +#: gfs2/fsck/pass1.c:1258 #, c-format msgid "Block count for #%llu (0x%llx) fixed\n" msgstr "" -#: gfs2/fsck/pass1.c:1128 +#: gfs2/fsck/pass1.c:1262 #, c-format msgid "Bad block count for #%llu (0x%llx) not fixed\n" msgstr "" -#: gfs2/fsck/pass1.c:1154 +#: gfs2/fsck/pass1.c:1288 #, c-format msgid "" "Found a duplicate inode block at #%llu (0x%llx) previously marked as a %s\n" msgstr "" -#: gfs2/fsck/pass1.c:1164 +#: gfs2/fsck/pass1.c:1298 #, c-format msgid "Inode #%llu (0x%llx): Bad inode address found: %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass1.c:1169 +#: gfs2/fsck/pass1.c:1303 #, c-format msgid "Fix address in inode at block #%llu (0x%llx)? (y/n) " msgstr "" -#: gfs2/fsck/pass1.c:1175 +#: gfs2/fsck/pass1.c:1309 #, c-format msgid "Address in inode at block #%llu (0x%llx) not fixed\n" msgstr "" -#: gfs2/fsck/pass1.c:1199 +#: gfs2/fsck/pass1.c:1333 #, c-format msgid "Checking system inode '%s'\n" msgstr "" -#: gfs2/fsck/pass1.c:1204 +#: gfs2/fsck/pass1.c:1338 #, c-format msgid "System inode for '%s' is located at block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass1.c:1209 +#: gfs2/fsck/pass1.c:1343 #, c-format msgid "Found invalid system dinode at block #%llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass1.c:1225 +#: gfs2/fsck/pass1.c:1359 msgid "The inode exists but the block is not marked 'in use'; fixing it.\n" msgstr "" -#: gfs2/fsck/pass1.c:1235 +#: gfs2/fsck/pass1.c:1369 #, c-format msgid "System inode for '%s' is corrupt or missing.\n" msgstr "" -#: gfs2/fsck/pass1.c:1242 +#: gfs2/fsck/pass1.c:1376 #, c-format msgid "Invalid or missing %s system inode (should be %d, is %d).\n" msgstr "" -#: gfs2/fsck/pass1.c:1244 +#: gfs2/fsck/pass1.c:1378 #, c-format msgid "Create new %s system inode? (y/n) " msgstr "" -#: gfs2/fsck/pass1.c:1245 +#: gfs2/fsck/pass1.c:1379 #, c-format msgid "Rebuilding system file \"%s\"\n" msgstr "" -#: gfs2/fsck/pass1.c:1249 +#: gfs2/fsck/pass1.c:1383 #, c-format msgid "Error trying to rebuild system file %s: Cannot continue\n" msgstr "" -#: gfs2/fsck/pass1.c:1261 +#: gfs2/fsck/pass1.c:1395 #, c-format msgid "Cannot continue without valid %s inode\n" msgstr "" -#: gfs2/fsck/pass1.c:1403 +#: gfs2/fsck/pass1.c:1413 #, c-format -msgid "Checking metadata in Resource Group #%llu\n" +msgid "Error found in %s while checking directory entries.\n" msgstr "" -#: gfs2/fsck/pass1.c:1407 +#: gfs2/fsck/pass1.c:1432 #, c-format -msgid "rgrp block %lld (0x%llx) is now marked as 'rgrp data'\n" +msgid "Error %d building journal\n" msgstr "" -#: gfs2/fsck/pass1.c:1436 -#, c-format -msgid "Skipping pass 1 is not a good idea.\n" +#: gfs2/fsck/pass1.c:1508 +msgid "gfs1 statfs inode" msgstr "" -#: gfs2/fsck/pass1.c:1441 -#, c-format -msgid "Already processed system inode %lld (0x%llx)\n" +#: gfs2/fsck/pass1.c:1510 +msgid "gfs1 jindex inode" msgstr "" -#: gfs2/fsck/pass1.c:1451 -#, c-format -msgid "Found invalid inode at block #%llu (0x%llx)\n" +#: gfs2/fsck/pass1.c:1512 +msgid "gfs1 rindex inode" msgstr "" -#: gfs2/fsck/pass1c.c:29 +#: gfs2/fsck/pass1.c:1514 +msgid "gfs1 quota inode" +msgstr "" + +#: gfs2/fsck/pass1.c:1578 +#, c-format +msgid "Checking metadata in Resource Group #%llu\n" +msgstr "" + +#: gfs2/fsck/pass1.c:1582 +#, c-format +msgid "rgrp block %lld (0x%llx) is now marked as 'rgrp data'\n" +msgstr "" + +#: gfs2/fsck/pass1.c:1608 +#, c-format +msgid "Skipping rindex indir block %lld (0x%llx)\n" +msgstr "" + +#: gfs2/fsck/pass1.c:1622 +#, c-format +msgid "Skipping pass 1 is not a good idea.\n" +msgstr "" + +#: gfs2/fsck/pass1.c:1627 +#, c-format +msgid "Already processed system inode %lld (0x%llx)\n" +msgstr "" + +#: gfs2/fsck/pass1.c:1655 +#, c-format +msgid "Deferring GFS1 metadata block #%<PRIu64> (0x%<PRIx64>)\n" +msgstr "" + +#: gfs2/fsck/pass1.c:1665 +#, c-format +msgid "Found invalid inode at block #%llu (0x%llx)\n" +msgstr "" + +#: gfs2/fsck/pass1c.c:29 #, c-format msgid "Bad Extended Attribute at block #%llu (0x%llx) removed.\n" msgstr "" @@ -1886,7 +2064,7 @@ msgstr "" msgid "Remove the bad Extended Attribute entry? (y/n) " msgstr "" -#: gfs2/fsck/pass1c.c:57 gfs2/fsck/pass1c.c:69 +#: gfs2/fsck/pass1c.c:57 gfs2/fsck/pass1c.c:70 msgid "Bad Extended Attribute not removed.\n" msgstr "" @@ -1898,74 +2076,81 @@ msgstr "" msgid "Bad Extended Attribute removed.\n" msgstr "" -#: gfs2/fsck/pass1c.c:82 +#: gfs2/fsck/pass1c.c:83 #, c-format msgid "" "Extended attributes indirect block #%llu (0x%llx) for inode #%llu (0x%llx) " -"out of range...removing\n" +"is invalid...removing\n" msgstr "" -#: gfs2/fsck/pass1c.c:93 +#: gfs2/fsck/pass1c.c:94 #, c-format msgid "" "Extended attributes indirect block #%llu (0x%llx) for inode #%llu (0x%llx) " -"invalid.\n" +"is invalid.\n" msgstr "" -#: gfs2/fsck/pass1c.c:117 +#: gfs2/fsck/pass1c.c:118 #, c-format -msgid "Extended attributes block for inode #%llu (0x%llx) out of range.\n" +msgid "Extended attributes block for inode #%llu (0x%llx) is invalid.\n" msgstr "" -#: gfs2/fsck/pass1c.c:125 +#: gfs2/fsck/pass1c.c:126 #, c-format msgid "Extended attributes block for inode #%llu (0x%llx) invalid.\n" msgstr "" -#: gfs2/fsck/pass1c.c:150 gfs2/fsck/pass1c.c:166 +#: gfs2/fsck/pass1c.c:151 gfs2/fsck/pass1c.c:167 msgid "EA has name length of zero\n" msgstr "" -#: gfs2/fsck/pass1c.c:155 +#: gfs2/fsck/pass1c.c:156 msgid "EA rec length too long\n" msgstr "" -#: gfs2/fsck/pass1c.c:161 +#: gfs2/fsck/pass1c.c:162 msgid "last EA has no last entry flag\n" msgstr "" -#: gfs2/fsck/pass1c.c:177 +#: gfs2/fsck/pass1c.c:178 #, c-format msgid "EA (%s) type is invalid (%d > %d).\n" msgstr "" -#: gfs2/fsck/pass1c.c:191 +#: gfs2/fsck/pass1c.c:192 #, c-format msgid "EA (%s) has incorrect number of pointers.\n" msgstr "" -#: gfs2/fsck/pass1c.c:192 +#: gfs2/fsck/pass1c.c:193 #, c-format msgid "" " Required: %d\n" " Reported: %d\n" msgstr "" -#: gfs2/fsck/pass1c.c:241 +#: gfs2/fsck/pass1c.c:198 +#, c-format +msgid "" +" Pointers Required: %d\n" +" Pointers Reported: %d\n" +msgstr "" + +#: gfs2/fsck/pass1c.c:242 msgid "Looking for inodes containing ea blocks...\n" msgstr "" -#: gfs2/fsck/pass1c.c:251 +#: gfs2/fsck/pass1c.c:252 #, c-format msgid "EA in inode %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass1c.c:258 +#: gfs2/fsck/pass1c.c:259 #, c-format msgid "Found eattr at %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:30 gfs2/fsck/pass2.c:88 +#: gfs2/fsck/pass2.c:30 #, c-format msgid "Unable to find block %llu (0x%llx) in dir_info list\n" msgstr "" @@ -1982,31 +2167,35 @@ msgstr "" msgid "Child %lld (0x%llx) has parent %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:76 +#: gfs2/fsck/pass2.c:70 +#, c-format +msgid "Unable to find block %<PRIu64> (0x%<PRIx64>) in dir_info tree\n" +msgstr "" + +#: gfs2/fsck/pass2.c:85 #, c-format -msgid "Dotdot parent already set for block %llu (0x%llx) -> %llu (0x%llx)\n" +msgid "Dotdot parent already set for block %llu (0x%llx)-> %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:157 +#: gfs2/fsck/pass2.c:155 msgid "Invalid block type\n" msgstr "" -#: gfs2/fsck/pass2.c:210 +#: gfs2/fsck/pass2.c:263 #, c-format msgid "" -"Block # referenced by directory entry %s in inode %lld (0x%llx) is out of " -"range\n" +"Block # referenced by directory entry %s in inode %lld (0x%llx) is invalid\n" msgstr "" -#: gfs2/fsck/pass2.c:214 +#: gfs2/fsck/pass2.c:267 msgid "Clear directory entry to out of range block? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:218 +#: gfs2/fsck/pass2.c:271 msgid "Directory entry to out of range block remains\n" msgstr "" -#: gfs2/fsck/pass2.c:228 +#: gfs2/fsck/pass2.c:281 #, c-format msgid "" "Dir entry with bad record or name length\n" @@ -2014,23 +2203,23 @@ msgid "" "\tName length = %u\n" msgstr "" -#: gfs2/fsck/pass2.c:231 +#: gfs2/fsck/pass2.c:284 msgid "Clear the directory entry? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:232 +#: gfs2/fsck/pass2.c:285 msgid "Directory entry not fixed.\n" msgstr "" -#: gfs2/fsck/pass2.c:236 +#: gfs2/fsck/pass2.c:289 msgid "corrupt directory entry" msgstr "" -#: gfs2/fsck/pass2.c:238 +#: gfs2/fsck/pass2.c:291 msgid "Bad directory entry deleted.\n" msgstr "" -#: gfs2/fsck/pass2.c:244 +#: gfs2/fsck/pass2.c:297 #, c-format msgid "" "Dir entry with bad hash or name length\n" @@ -2038,304 +2227,311 @@ msgid "" "\tFilename = %s\n" msgstr "" -#: gfs2/fsck/pass2.c:248 +#: gfs2/fsck/pass2.c:301 #, c-format msgid "" "\tName length found = %u\n" "\tHash expected = %u (0x%x)\n" msgstr "" -#: gfs2/fsck/pass2.c:251 +#: gfs2/fsck/pass2.c:304 #, c-format msgid "Fix directory hash for %s? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:253 +#: gfs2/fsck/pass2.c:306 #, c-format msgid "Directory entry hash for %s not fixed.\n" msgstr "" -#: gfs2/fsck/pass2.c:260 +#: gfs2/fsck/pass2.c:313 #, c-format msgid "Directory entry hash for %s fixed.\n" msgstr "" -#: gfs2/fsck/pass2.c:270 +#: gfs2/fsck/pass2.c:335 #, c-format -msgid "Found a bad directory entry: %s\n" +msgid "Found directory entry '%s' pointing to invalid block %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:272 +#: gfs2/fsck/pass2.c:340 msgid "Delete inode containing bad blocks? (y/n)" msgstr "" -#: gfs2/fsck/pass2.c:273 +#: gfs2/fsck/pass2.c:341 msgid "Entry to inode containing bad blocks remains\n" msgstr "" -#: gfs2/fsck/pass2.c:286 +#: gfs2/fsck/pass2.c:359 msgid "bad directory entry" msgstr "" -#: gfs2/fsck/pass2.c:290 +#: gfs2/fsck/pass2.c:360 +#, c-format +msgid "Inode %lld (0x%llx) was deleted.\n" +msgstr "" + +#: gfs2/fsck/pass2.c:366 #, 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:298 +#: gfs2/fsck/pass2.c:374 msgid "was previously marked invalid" msgstr "" -#: gfs2/fsck/pass2.c:299 +#: gfs2/fsck/pass2.c:375 msgid "was deleted or is not an inode" msgstr "" -#: gfs2/fsck/pass2.c:301 +#: gfs2/fsck/pass2.c:377 msgid "Clear directory entry to non-inode block? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:303 +#: gfs2/fsck/pass2.c:379 msgid "Directory entry to non-inode block remains\n" msgstr "" -#: gfs2/fsck/pass2.c:328 +#: gfs2/fsck/pass2.c:404 #, 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:335 +#: gfs2/fsck/pass2.c:411 #, c-format msgid "Directory entry type is %d, block type is %d.\n" msgstr "" -#: gfs2/fsck/pass2.c:341 +#: gfs2/fsck/pass2.c:417 #, 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:347 +#: gfs2/fsck/pass2.c:423 msgid "Clear stale directory entry? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:348 +#: gfs2/fsck/pass2.c:424 msgid "Stale directory entry remains\n" msgstr "" -#: gfs2/fsck/pass2.c:362 -msgid "Found . dentry\n" +#: gfs2/fsck/pass2.c:438 +#, c-format +msgid "Found . dentry in directory %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:365 +#: gfs2/fsck/pass2.c:443 #, c-format msgid "Already found '.' entry in directory %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:369 +#: gfs2/fsck/pass2.c:447 msgid "Clear duplicate '.' entry? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:370 +#: gfs2/fsck/pass2.c:448 msgid "Duplicate '.' entry remains\n" msgstr "" -#: gfs2/fsck/pass2.c:390 +#: gfs2/fsck/pass2.c:468 #, 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:400 +#: gfs2/fsck/pass2.c:478 msgid "Remove '.' reference? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:401 +#: gfs2/fsck/pass2.c:479 msgid "Invalid '.' reference remains\n" msgstr "" -#: gfs2/fsck/pass2.c:420 -msgid "Found .. dentry\n" +#: gfs2/fsck/pass2.c:498 +#, c-format +msgid "Found '..' dentry in directory %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:422 +#: gfs2/fsck/pass2.c:502 #, c-format -msgid "Already found '..' entry in directory %llu(0x%llx)\n" +msgid "Already had a '..' entry in directory %llu(0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:426 +#: gfs2/fsck/pass2.c:506 msgid "Clear duplicate '..' entry? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:427 +#: gfs2/fsck/pass2.c:507 msgid "Duplicate '..' entry remains\n" msgstr "" -#: gfs2/fsck/pass2.c:446 +#: gfs2/fsck/pass2.c:526 #, c-format msgid "" "Found '..' entry in directory %llu (0x%llx) pointing to something that's not " "a directory" msgstr "" -#: gfs2/fsck/pass2.c:450 +#: gfs2/fsck/pass2.c:530 msgid "Clear bad '..' directory entry? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:451 +#: gfs2/fsck/pass2.c:531 msgid "Bad '..' directory entry remains\n" msgstr "" -#: gfs2/fsck/pass2.c:480 +#: gfs2/fsck/pass2.c:560 #, c-format msgid "Found non-dir inode dentry pointing to %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:490 +#: gfs2/fsck/pass2.c:570 #, c-format msgid "%s: Hard link to block %llu (0x%llx) detected.\n" msgstr "" -#: gfs2/fsck/pass2.c:495 +#: gfs2/fsck/pass2.c:575 msgid "Clear hard link to directory? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:498 +#: gfs2/fsck/pass2.c:578 msgid "Hard link to directory remains\n" msgstr "" -#: gfs2/fsck/pass2.c:508 +#: gfs2/fsck/pass2.c:588 msgid "valid reference" msgstr "" -#: gfs2/fsck/pass2.c:516 +#: gfs2/fsck/pass2.c:596 #, c-format msgid "Bad directory entry '%s' cleared.\n" msgstr "" -#: gfs2/fsck/pass2.c:544 +#: gfs2/fsck/pass2.c:624 #, c-format msgid "Checking system directory inode '%s'\n" msgstr "" -#: gfs2/fsck/pass2.c:573 +#: gfs2/fsck/pass2.c:655 #, c-format msgid "No '.' entry found for %s directory.\n" msgstr "" -#: gfs2/fsck/pass2.c:574 gfs2/fsck/pass2.c:768 +#: gfs2/fsck/pass2.c:656 gfs2/fsck/pass2.c:873 msgid "Is it okay to add '.' entry? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:580 +#: gfs2/fsck/pass2.c:662 msgid "Unable to allocate name string\n" msgstr "" -#: gfs2/fsck/pass2.c:586 +#: gfs2/fsck/pass2.c:668 msgid "Unable to zero name string\n" msgstr "" -#: gfs2/fsck/pass2.c:591 +#: gfs2/fsck/pass2.c:673 msgid "Adding '.' entry\n" msgstr "" -#: gfs2/fsck/pass2.c:603 gfs2/fsck/pass2.c:808 +#: gfs2/fsck/pass2.c:692 gfs2/fsck/pass2.c:920 msgid "The directory was not fixed.\n" msgstr "" -#: gfs2/fsck/pass2.c:606 +#: gfs2/fsck/pass2.c:695 #, c-format msgid "%s inode %llu (0x%llx): Entries is %d - should be %d\n" msgstr "" -#: gfs2/fsck/pass2.c:611 +#: gfs2/fsck/pass2.c:700 #, c-format msgid "Fix entries for %s inode %llu (0x%llx)? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:617 +#: gfs2/fsck/pass2.c:706 msgid "Entries updated\n" msgstr "" -#: gfs2/fsck/pass2.c:619 +#: gfs2/fsck/pass2.c:708 #, c-format msgid "Entries for inode %llu (0x%llx) left out of sync\n" msgstr "" -#: gfs2/fsck/pass2.c:682 +#: gfs2/fsck/pass2.c:785 msgid "Checking directory inodes.\n" msgstr "" -#: gfs2/fsck/pass2.c:698 +#: gfs2/fsck/pass2.c:801 #, c-format msgid "Checking directory inode at block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:727 gfs2/fsck/pass3.c:125 +#: gfs2/fsck/pass2.c:832 gfs2/fsck/pass3.c:149 #, c-format msgid "" "Remove directory entry for bad inode %llu (0x%llx) in %llu (0x%llx)? (y/n)" msgstr "" -#: gfs2/fsck/pass2.c:741 +#: gfs2/fsck/pass2.c:846 #, c-format msgid "Unable to find dentry for %llu (0x%llx) in %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:749 gfs2/fsck/pass3.c:146 +#: gfs2/fsck/pass2.c:854 gfs2/fsck/pass3.c:170 msgid "Directory entry removed\n" msgstr "" -#: gfs2/fsck/pass2.c:751 +#: gfs2/fsck/pass2.c:856 msgid "Directory entry to invalid inode remains.\n" msgstr "" -#: gfs2/fsck/pass2.c:752 +#: gfs2/fsck/pass2.c:857 #, c-format msgid "Directory block %lld (0x%llx) is now marked as 'invalid'\n" msgstr "" -#: gfs2/fsck/pass2.c:763 +#: gfs2/fsck/pass2.c:868 #, c-format msgid "No '.' entry found for directory inode at block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:776 gfs2/fsck/pass3.c:38 +#: gfs2/fsck/pass2.c:881 gfs2/fsck/pass3.c:38 msgid "Unable to allocate name\n" msgstr "" -#: gfs2/fsck/pass2.c:782 gfs2/fsck/pass3.c:45 +#: gfs2/fsck/pass2.c:887 gfs2/fsck/pass3.c:45 msgid "Unable to zero name\n" msgstr "" -#: gfs2/fsck/pass2.c:794 gfs2/fsck/pass3.c:61 +#: gfs2/fsck/pass2.c:906 gfs2/fsck/pass3.c:67 #, c-format msgid "Directory at %lld (0x%llx)" msgstr "" -#: gfs2/fsck/pass2.c:803 +#: gfs2/fsck/pass2.c:915 msgid "\". (itself)\"" msgstr "" -#: gfs2/fsck/pass2.c:806 +#: gfs2/fsck/pass2.c:918 msgid "The directory was fixed.\n" msgstr "" -#: gfs2/fsck/pass2.c:813 +#: gfs2/fsck/pass2.c:925 #, c-format msgid "Entries is %d - should be %d for inode block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass2.c:818 +#: gfs2/fsck/pass2.c:930 msgid "Fix the entry count? (y/n) " msgstr "" -#: gfs2/fsck/pass2.c:822 +#: gfs2/fsck/pass2.c:934 msgid "The entry count was not fixed.\n" msgstr "" @@ -2347,142 +2543,156 @@ msgstr "" msgid "old \"..\"" msgstr "" -#: gfs2/fsck/pass3.c:66 +#: gfs2/fsck/pass3.c:72 msgid "new \"..\"" msgstr "" -#: gfs2/fsck/pass3.c:85 +#: gfs2/fsck/pass3.c:94 +#, c-format +msgid "Orphaned directory at block %llu (0x%llx) moved to lost+found\n" +msgstr "" + +#: gfs2/fsck/pass3.c:103 #, c-format msgid "" "Directory '..' and treewalk connections disagree for inode %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass3.c:88 +#: gfs2/fsck/pass3.c:106 #, c-format msgid "'..' has %llu (0x%llx), treewalk has %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass3.c:105 +#: gfs2/fsck/pass3.c:122 msgid "Orphaned directory, move to lost+found\n" msgstr "" -#: gfs2/fsck/pass3.c:109 +#: gfs2/fsck/pass3.c:126 #, c-format msgid "Treewalk parent is correct, fixing dotdot -> %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass3.c:120 -msgid ".. parent is valid, but treewalkis bad - reattaching to lost+found" +#: gfs2/fsck/pass3.c:137 +msgid "Both .. and treewalk parents are directories, going with treewalk...\n" msgstr "" -#: gfs2/fsck/pass3.c:139 -#, c-format -msgid "Unable to find dentry for block %llu (0x%llx) in %llu (0x%llx)\n" +#: gfs2/fsck/pass3.c:144 +msgid ".. parent is valid, but treewalk is bad - reattaching to lost+found" msgstr "" -#: gfs2/fsck/pass3.c:148 +#: gfs2/fsck/pass3.c:155 msgid "Directory entry to invalid inode remains\n" msgstr "" -#: gfs2/fsck/pass3.c:150 +#: gfs2/fsck/pass3.c:164 +#, c-format +msgid "Unable to find dentry for block %llu (0x%llx) in %llu (0x%llx)\n" +msgstr "" + +#: gfs2/fsck/pass3.c:171 msgid "Marking directory unlinked\n" msgstr "" -#: gfs2/fsck/pass3.c:155 -msgid "" -"Both .. and treewalk parents are directories, going with treewalk for " -"now...\n" +#: gfs2/fsck/pass3.c:196 +msgid "Marking root inode connected\n" msgstr "" -#: gfs2/fsck/pass3.c:168 -#, c-format -msgid "Orphaned directory at block %llu (0x%llx) moved to lost+found\n" +#: gfs2/fsck/pass3.c:202 +msgid "Marking GFS1 statfs file inode connected\n" msgstr "" -#: gfs2/fsck/pass3.c:194 -msgid "Marking root inode connected\n" +#: gfs2/fsck/pass3.c:208 +msgid "Marking GFS1 jindex file inode connected\n" +msgstr "" + +#: gfs2/fsck/pass3.c:214 +msgid "Marking GFS1 rindex file inode connected\n" +msgstr "" + +#: gfs2/fsck/pass3.c:220 +msgid "Marking GFS1 quota file inode connected\n" msgstr "" -#: gfs2/fsck/pass3.c:199 +#: gfs2/fsck/pass3.c:227 msgid "Marking master directory inode connected\n" msgstr "" -#: gfs2/fsck/pass3.c:207 +#: gfs2/fsck/pass3.c:237 msgid "Checking directory linkage.\n" msgstr "" -#: gfs2/fsck/pass3.c:220 +#: gfs2/fsck/pass3.c:250 #, c-format msgid "Directory at block %llu (0x%llx) connected\n" msgstr "" -#: gfs2/fsck/pass3.c:228 +#: gfs2/fsck/pass3.c:258 msgid "Found unlinked directory containing bad block\n" msgstr "" -#: gfs2/fsck/pass3.c:230 +#: gfs2/fsck/pass3.c:260 msgid "Clear unlinked directory with bad blocks? (y/n) " msgstr "" -#: gfs2/fsck/pass3.c:232 gfs2/fsck/pass3.c:260 +#: gfs2/fsck/pass3.c:262 gfs2/fsck/pass3.c:289 #, c-format msgid "inode %lld (0x%llx) is now marked as free\n" msgstr "" -#: gfs2/fsck/pass3.c:246 +#: gfs2/fsck/pass3.c:276 msgid "Unlinked directory with bad block remains\n" msgstr "" -#: gfs2/fsck/pass3.c:252 +#: gfs2/fsck/pass3.c:281 msgid "Unlinked block marked as an inode is not an inode\n" msgstr "" -#: gfs2/fsck/pass3.c:254 +#: gfs2/fsck/pass3.c:283 msgid "Clear the unlinked block? (y/n) " msgstr "" -#: gfs2/fsck/pass3.c:256 +#: gfs2/fsck/pass3.c:285 msgid "The block was not cleared\n" msgstr "" -#: gfs2/fsck/pass3.c:270 +#: gfs2/fsck/pass3.c:299 msgid "The block was cleared\n" msgstr "" -#: gfs2/fsck/pass3.c:274 +#: gfs2/fsck/pass3.c:303 #, c-format msgid "Found unlinked directory at block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass3.c:280 +#: gfs2/fsck/pass3.c:309 msgid "Unlinked directory has zero size.\n" msgstr "" -#: gfs2/fsck/pass3.c:282 +#: gfs2/fsck/pass3.c:311 msgid "Remove zero-size unlinked directory? (y/n) " msgstr "" -#: gfs2/fsck/pass3.c:285 +#: gfs2/fsck/pass3.c:314 msgid "zero-sized unlinked inode" msgstr "" -#: gfs2/fsck/pass3.c:290 +#: gfs2/fsck/pass3.c:319 msgid "Zero-size unlinked directory remains\n" msgstr "" -#: gfs2/fsck/pass3.c:294 +#: gfs2/fsck/pass3.c:323 msgid "Add unlinked directory to lost+found? (y/n) " msgstr "" -#: gfs2/fsck/pass3.c:301 +#: gfs2/fsck/pass3.c:330 msgid "Directory relinked to lost+found\n" msgstr "" -#: gfs2/fsck/pass3.c:303 +#: gfs2/fsck/pass3.c:332 msgid "Unlinked directory remains unlinked\n" msgstr "" -#: gfs2/fsck/pass3.c:310 +#: gfs2/fsck/pass3.c:339 #, c-format msgid "At end of pass3, lost+found entries is %u\n" msgstr "" @@ -2501,420 +2711,501 @@ msgstr "" msgid "osi_tree broken in scan_info_list!!\n" msgstr "" -#: gfs2/fsck/pass4.c:62 +#: gfs2/fsck/pass4.c:69 #, c-format msgid "Found unlinked inode at %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass4.c:67 +#: gfs2/fsck/pass4.c:74 #, c-format -msgid "Unlinked inode %llu (0x%llx) containsbad blocks\n" +msgid "Unlinked inode %llu (0x%llx) contains bad blocks\n" msgstr "" -#: gfs2/fsck/pass4.c:71 +#: gfs2/fsck/pass4.c:78 msgid "Delete unlinked inode with bad blocks? (y/n) " msgstr "" -#: gfs2/fsck/pass4.c:78 +#: gfs2/fsck/pass4.c:85 msgid "bad unlinked" msgstr "" -#: gfs2/fsck/pass4.c:83 +#: gfs2/fsck/pass4.c:90 msgid "Unlinked inode with bad blocks not cleared\n" msgstr "" -#: gfs2/fsck/pass4.c:92 +#: gfs2/fsck/pass4.c:98 #, c-format msgid "Unlinked block %lld (0x%llx) marked as inode is not an inode (%d)\n" msgstr "" -#: gfs2/fsck/pass4.c:98 +#: gfs2/fsck/pass4.c:104 msgid "Delete unlinked inode? (y/n) " msgstr "" -#: gfs2/fsck/pass4.c:103 +#: gfs2/fsck/pass4.c:109 msgid "invalid unlinked" msgstr "" -#: gfs2/fsck/pass4.c:106 +#: gfs2/fsck/pass4.c:112 msgid "The inode was deleted\n" msgstr "" -#: gfs2/fsck/pass4.c:108 +#: gfs2/fsck/pass4.c:114 msgid "The inode was not deleted\n" msgstr "" -#: gfs2/fsck/pass4.c:120 +#: gfs2/fsck/pass4.c:126 msgid "Unlinked inode has zero size\n" msgstr "" -#: gfs2/fsck/pass4.c:121 +#: gfs2/fsck/pass4.c:127 msgid "Clear zero-size unlinked inode? (y/n) " msgstr "" -#: gfs2/fsck/pass4.c:124 +#: gfs2/fsck/pass4.c:130 msgid "unlinked zero-length" msgstr "" -#: gfs2/fsck/pass4.c:131 +#: gfs2/fsck/pass4.c:137 msgid "Add unlinked inode to lost+found? (y/n)" msgstr "" -#: gfs2/fsck/pass4.c:142 +#: gfs2/fsck/pass4.c:148 msgid "Unlinked inode left unlinked\n" msgstr "" -#: gfs2/fsck/pass4.c:146 +#: gfs2/fsck/pass4.c:152 #, c-format msgid "" "Link count inconsistent for inode %llu (0x%llx) has %u but fsck found %u.\n" msgstr "" -#: gfs2/fsck/pass4.c:153 +#: gfs2/fsck/pass4.c:159 #, c-format msgid "Update link count for inode %llu (0x%llx) ? (y/n) " msgstr "" -#: gfs2/fsck/pass4.c:161 +#: gfs2/fsck/pass4.c:167 #, c-format msgid "Link count updated to %d for inode %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/pass4.c:167 +#: gfs2/fsck/pass4.c:173 #, c-format msgid "Link count for inode %llu (0x%llx) still incorrect\n" msgstr "" -#: gfs2/fsck/pass4.c:172 +#: gfs2/fsck/pass4.c:178 #, c-format msgid "block %llu (0x%llx) has link count %d\n" msgstr "" -#: gfs2/fsck/pass4.c:179 +#: gfs2/fsck/pass4.c:185 msgid "Unable to find lost+found inode in inode_hash!!\n" msgstr "" -#: gfs2/fsck/pass4.c:201 +#: gfs2/fsck/pass4.c:207 #, c-format msgid "At beginning of pass4, lost+found entries is %u\n" msgstr "" -#: gfs2/fsck/pass4.c:203 +#: gfs2/fsck/pass4.c:209 msgid "Checking inode reference counts.\n" msgstr "" -#: gfs2/fsck/pass4.c:210 +#: gfs2/fsck/pass4.c:216 #, c-format msgid "At end of pass4, lost+found entries is %u\n" msgstr "" -#: gfs2/fsck/pass5.c:47 +#: gfs2/fsck/pass5.c:53 gfs2/fsck/pass5.c:97 #, c-format msgid "Invalid block type %d found\n" msgstr "" -#: gfs2/fsck/pass5.c:84 +#: gfs2/fsck/pass5.c:92 #, c-format -msgid "Unlinked inode block found at block %llu (0x%llx).\n" +msgid "Invalid freemeta type %d found\n" msgstr "" -#: gfs2/fsck/pass5.c:88 -msgid "Do you want to fix the bitmap? (y/n) " +#: gfs2/fsck/pass5.c:133 +#, c-format +msgid "Invalid status for block %llu (0x%llx).\n" msgstr "" -#: gfs2/fsck/pass5.c:90 +#: gfs2/fsck/pass5.c:145 #, c-format -msgid "Unlinked block %llu (0x%llx) bitmap not fixed.\n" +msgid "Unlinked inode found at block %llu (0x%llx).\n" +msgstr "" + +#: gfs2/fsck/pass5.c:149 +msgid "Do you want to reclaim the block? (y/n) " msgstr "" -#: gfs2/fsck/pass5.c:96 +#: gfs2/fsck/pass5.c:152 #, c-format -msgid "Unlinked block %llu (0x%llx) bitmap fixed.\n" +msgid "Unlinked block %llu (0x%llx) bitmap not fixed.\n" msgstr "" -#: gfs2/fsck/pass5.c:101 +#: gfs2/fsck/pass5.c:158 #, c-format -msgid "Unlinked block found at block %llu (0x%llx), left unchanged.\n" +msgid "Unlinked block %llu (0x%llx) bitmap fixed.\n" msgstr "" -#: gfs2/fsck/pass5.c:110 +#: gfs2/fsck/pass5.c:163 #, c-format -msgid "Ondisk and fsck bitmaps differ at block %llu (0x%llx) \n" +msgid "Unlinked block found at block %llu (0x%llx), left unchanged.\n" msgstr "" -#: gfs2/fsck/pass5.c:114 +#: gfs2/fsck/pass5.c:172 #, c-format -msgid "Ondisk status is %u (%s) but FSCK thinks it should be " +msgid "Block %llu (0x%llx) bitmap says %u (%s) but FSCK saw %u (%s)\n" msgstr "" -#: gfs2/fsck/pass5.c:117 +#: gfs2/fsck/pass5.c:179 #, c-format msgid "Metadata type is %u (%s)\n" msgstr "" -#: gfs2/fsck/pass5.c:120 +#: gfs2/fsck/pass5.c:182 #, c-format msgid "Fix bitmap for block %llu (0x%llx) ? (y/n) " msgstr "" -#: gfs2/fsck/pass5.c:124 -msgid "Failed.\n" +#: gfs2/fsck/pass5.c:186 +msgid "Repair failed.\n" msgstr "" -#: gfs2/fsck/pass5.c:126 -msgid "Succeeded.\n" +#: gfs2/fsck/pass5.c:188 +msgid "Fixed.\n" msgstr "" -#: gfs2/fsck/pass5.c:128 +#: gfs2/fsck/pass5.c:190 #, c-format msgid "Bitmap at block %llu (0x%llx) left inconsistent\n" msgstr "" -#: gfs2/fsck/pass5.c:163 +#: gfs2/fsck/pass5.c:228 #, c-format msgid "RG #%llu (0x%llx) free count inconsistent: is %u should be %u\n" msgstr "" -#: gfs2/fsck/pass5.c:172 +#: gfs2/fsck/pass5.c:237 #, c-format -msgid "Inode count inconsistent: is %u should be %u\n" +msgid "RG #%llu (0x%llx) Inode count inconsistent: is %u should be %u\n" +msgstr "" + +#: gfs2/fsck/pass5.c:246 +#, c-format +msgid "" +"RG #%llu (0x%llx) Used metadata count inconsistent: is %u should be %u\n" +msgstr "" + +#: gfs2/fsck/pass5.c:255 +#, c-format +msgid "" +"RG #%llu (0x%llx) Free metadata count inconsistent: is %u should be %u\n" msgstr "" -#: gfs2/fsck/pass5.c:181 +#: gfs2/fsck/pass5.c:267 msgid "Internal fsck error - AAHHH!\n" msgstr "" -#: gfs2/fsck/pass5.c:185 +#: gfs2/fsck/pass5.c:271 msgid "Update resource group counts? (y/n) " msgstr "" -#: gfs2/fsck/pass5.c:186 +#: gfs2/fsck/pass5.c:272 msgid "Resource group counts updated\n" msgstr "" -#: gfs2/fsck/pass5.c:190 +#: gfs2/fsck/pass5.c:279 msgid "Resource group counts left inconsistent\n" msgstr "" -#: gfs2/fsck/pass5.c:211 +#: gfs2/fsck/pass5.c:301 #, c-format msgid "Verifying Resource Group #%llu\n" msgstr "" -#: gfs2/fsck/rgrepair.c:24 +#: gfs2/fsck/rgrepair.c:27 #, c-format msgid "rindex #%d " msgstr "" -#: gfs2/fsck/rgrepair.c:52 +#: gfs2/fsck/rgrepair.c:55 #, c-format -msgid "Checking for RGs in journal%d.\n" +msgid "Checking for rgrps in journal%d.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:61 +#: gfs2/fsck/rgrepair.c:64 #, c-format -msgid "False RG found at block 0x%llx\n" +msgid "False rgrp found at block 0x%llx\n" msgstr "" -#: gfs2/fsck/rgrepair.c:137 +#: gfs2/fsck/rgrepair.c:111 #, c-format -msgid "RG found at block 0x%llx\n" +msgid "rgrp found at block 0x%llx\n" msgstr "" -#: gfs2/fsck/rgrepair.c:158 +#: gfs2/fsck/rgrepair.c:133 msgid "(shortest so far)\n" msgstr "" -#: gfs2/fsck/rgrepair.c:177 +#: gfs2/fsck/rgrepair.c:149 #, c-format -msgid "First RG distance: 0x%llx\n" +msgid "First rgrp distance: 0x%llx\n" msgstr "" -#: gfs2/fsck/rgrepair.c:178 +#: gfs2/fsck/rgrepair.c:150 #, c-format -msgid "Distance between RGs: 0x%llx\n" +msgid "Distance between rgrps: 0x%llx\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:160 +msgid "rgrp 2 is damaged: getting dist from index: " msgstr "" -#: gfs2/fsck/rgrepair.c:188 -msgid "RG 2 is damaged: getting dist from index: " +#: gfs2/fsck/rgrepair.c:165 +msgid "rgrp index 2 is damaged: extrapolating dist: " msgstr "" -#: gfs2/fsck/rgrepair.c:193 -msgid "RG index 2 is damaged: extrapolating dist: " +#: gfs2/fsck/rgrepair.c:171 +#, c-format +msgid "Adjusted first rgrp distance: 0x%llx\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:331 +#, c-format +msgid "rgrp found at 0x%llx, length=%d, used=%llu, free=%d\n" msgstr "" -#: gfs2/fsck/rgrepair.c:199 +#: gfs2/fsck/rgrepair.c:365 #, c-format -msgid "Adjusted first RG distance: 0x%llx\n" +msgid "rgrp found at 0x%llx, length=%lld\n" msgstr "" -#: gfs2/fsck/rgrepair.c:210 +#: gfs2/fsck/rgrepair.c:461 #, c-format msgid "Block 0x%llx\n" msgstr "" -#: gfs2/fsck/rgrepair.c:217 -msgid "Can't allocate memory for rg repair.\n" +#: gfs2/fsck/rgrepair.c:468 +msgid "Can't allocate memory for rgrp repair.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:230 +#: gfs2/fsck/rgrepair.c:478 #, c-format -msgid "Missing or damaged RG at block %llu (0x%llx)\n" +msgid "Missing or damaged rgrp at block %llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/rgrepair.c:234 -msgid "Error: too many bad RGs.\n" +#: gfs2/fsck/rgrepair.c:483 +msgid "" +"Error: too many missing or damaged rgrps using this method. Time to try " +"another method.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:270 gfs2/fsck/rgrepair.c:302 +#: gfs2/fsck/rgrepair.c:520 gfs2/fsck/rgrepair.c:574 #, c-format msgid "Prev ri_data set to: %lx.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:274 +#: gfs2/fsck/rgrepair.c:525 #, c-format -msgid "%c RG %d at block 0x%llX %s" +msgid " rgrp %d at block 0x%llx intact" msgstr "" -#: gfs2/fsck/rgrepair.c:286 +#: gfs2/fsck/rgrepair.c:528 #, c-format -msgid " [length 0x%llx]\n" +msgid "* rgrp %d at block 0x%llx *** DAMAGED ***" msgstr "" -#: gfs2/fsck/rgrepair.c:309 -msgid "RG index rebuilt as follows:\n" +#: gfs2/fsck/rgrepair.c:551 gfs2/fsck/rgrepair.c:554 +#, c-format +msgid " [length 0x%llx]\n" msgstr "" -#: gfs2/fsck/rgrepair.c:343 gfs2/mkfs/main_grow.c:317 -#: gfs2/mkfs/main_mkfs.c:601 -#, c-format -msgid "Geometry error\n" +#: gfs2/fsck/rgrepair.c:581 +msgid "rindex rebuilt as follows:\n" msgstr "" -#: gfs2/fsck/rgrepair.c:347 gfs2/mkfs/main_grow.c:333 -#: gfs2/mkfs/main_mkfs.c:618 +#: gfs2/fsck/rgrepair.c:648 #, c-format -msgid "Device is too small (%llu bytes)\n" +msgid "rgsize must be: %lld (0x%llx)\n" msgstr "" -#: gfs2/fsck/rgrepair.c:356 +#: gfs2/fsck/rgrepair.c:658 #, c-format -msgid "fs_total_size = 0x%llX blocks.\n" +msgid "fs_total_size = 0x%llx blocks.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:366 +#: gfs2/fsck/rgrepair.c:660 #, c-format -msgid "L2: number of rgs in the index = %d.\n" +msgid "L3: number of rgs in the index = %d.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:384 +#: gfs2/fsck/rgrepair.c:674 #, c-format -msgid "" -"Block #%lld (0x%llx) (%d of %d) is neither GFS2_METATYPE_RB nor " -"GFS2_METATYPE_RG.\n" +msgid "Block #%lld (0x%llx) (%d of %d) is not %s.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:389 +#: gfs2/fsck/rgrepair.c:678 msgid "Fix the Resource Group? (y/n)" msgstr "" -#: gfs2/fsck/rgrepair.c:390 -msgid "Attempting to repair the RG.\n" +#: gfs2/fsck/rgrepair.c:679 +msgid "Attempting to repair the rgrp.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:467 +#: gfs2/fsck/rgrepair.c:766 msgid "The rindex file does not meet our expectations.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:488 -msgid "Error rebuilding rg list.\n" +#: gfs2/fsck/rgrepair.c:792 gfs2/fsck/rgrepair.c:804 +msgid "Error rebuilding rgrp list.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:498 +#: gfs2/fsck/rgrepair.c:814 msgid "WARNING: rindex file is corrupt.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:503 +#: gfs2/fsck/rgrepair.c:819 #, c-format msgid "L%d: number of rgs expected = %lld.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:506 +#: gfs2/fsck/rgrepair.c:822 #, c-format msgid "L%d: They don't match; either (1) the fs was extended, (2) an odd\n" msgstr "" -#: gfs2/fsck/rgrepair.c:507 +#: gfs2/fsck/rgrepair.c:824 #, c-format -msgid "L%d: rg size was used, or (3) we have a corrupt rg index.\n" +msgid "L%d: rgrp size was used, or (3) we have a corrupt rg index.\n" msgstr "" -#: gfs2/fsck/rgrepair.c:536 +#: gfs2/fsck/rgrepair.c:850 #, c-format -msgid "Level %d didn't work. Too many descepencies.\n" +msgid "%d addr: 0x%llx < 0x%llx * mismatch\n" msgstr "" -#: gfs2/fsck/rgrepair.c:538 +#: gfs2/fsck/rgrepair.c:857 #, c-format -msgid "%d out of %d RGs did not match what was expected.\n" +msgid "%d addr: 0x%llx > 0x%llx * mismatch\n" msgstr "" -#: gfs2/fsck/rgrepair.c:563 +#: gfs2/fsck/rgrepair.c:867 +#, c-format +msgid "%d addr: 0x%llx 0x%llx * has mismatch\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:878 +#, c-format +msgid "Level %d didn't work. Too many discrepancies.\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:880 +#, c-format +msgid "%d out of %d rgrps (%d percent) did not match what was expected.\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:905 +#, c-format +msgid "Entry missing from rindex: 0x%llx\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:910 +msgid "Out of memory!\n" +msgstr "" + +#: gfs2/fsck/rgrepair.c:929 msgid "Fix the index? (y/n)" msgstr "" -#: gfs2/fsck/rgrepair.c:582 -msgid "RG index not fixed.\n" +#: gfs2/fsck/rgrepair.c:950 +msgid "rindex not fixed.\n" msgstr "" -#: gfs2/fsck/util.c:47 +#: gfs2/fsck/util.c:52 #, c-format msgid "" "\rChecking %lld%c of %lld%c of file at %lld (0x%llx)- %llu percent " "complete. \r" msgstr "" -#: gfs2/fsck/util.c:78 +#: gfs2/fsck/util.c:84 #, c-format msgid "\r%llu percent complete.\r" msgstr "" -#: gfs2/fsck/util.c:260 +#: gfs2/fsck/util.c:348 msgid "Unable to allocate inode_with_dups structure\n" msgstr "" -#: gfs2/fsck/util.c:265 +#: gfs2/fsck/util.c:353 msgid "Unable to zero inode_with_dups structure\n" msgstr "" -#: gfs2/fsck/util.c:282 +#: gfs2/fsck/util.c:378 #, c-format msgid "" "Found %d reference(s) to block %llu (0x%llx) as %s in inode #%llu (0x%llx)\n" msgstr "" -#: gfs2/fsck/util.c:289 +#: gfs2/fsck/util.c:385 msgid "This is the original reference.\n" msgstr "" -#: gfs2/fsck/util.c:291 +#: gfs2/fsck/util.c:387 #, c-format -msgid "This brings the total to: %d\n" +msgid "This brings the total to: %d duplicate references\n" msgstr "" -#: gfs2/fsck/util.c:315 +#: gfs2/fsck/util.c:412 msgid "Unable to allocate dir_info structure\n" msgstr "" -#: gfs2/fsck/util.c:319 +#: gfs2/fsck/util.c:416 msgid "Error while zeroing dir_info structure\n" msgstr "" +#: gfs2/fsck/util.c:568 +msgid "directory" +msgstr "" + +#: gfs2/fsck/util.c:575 +msgid "file" +msgstr "" + +#: gfs2/fsck/util.c:579 +msgid "symlink" +msgstr "" + +#: gfs2/fsck/util.c:584 +msgid "block device" +msgstr "" + +#: gfs2/fsck/util.c:589 +msgid "character device" +msgstr "" + +#: gfs2/fsck/util.c:594 +msgid "fifo" +msgstr "" + +#: gfs2/fsck/util.c:599 +msgid "socket" +msgstr "" + +#: gfs2/fsck/util.c:604 +msgid "invalid mode" +msgstr "" + #: gfs2/mkfs/main.c:51 msgid "Unknown mode\n" msgstr "" -#: gfs2/mkfs/main_grow.c:52 +#: gfs2/mkfs/main_grow.c:65 #, c-format msgid "" "Usage:\n" @@ -2929,76 +3220,82 @@ msgid "" " -v Verbose, increase verbosity\n" msgstr "" -#: gfs2/mkfs/main_grow.c:86 +#: gfs2/mkfs/main_grow.c:99 #, c-format msgid "(Test mode--File system will not be changed)\n" msgstr "" -#: gfs2/mkfs/main_grow.c:195 +#: gfs2/mkfs/main_grow.c:200 #, c-format msgid "%d new rindex entries.\n" msgstr "" -#: gfs2/mkfs/main_grow.c:305 gfs2/mkfs/main_jadd.c:503 +#: gfs2/mkfs/main_grow.c:227 #, c-format -msgid "Not a valid GFS2 mount point: %s\n" +msgid "Incorrect rindex size. want %ld(%d RGs), have %ld\n" +msgstr "" + +#: gfs2/mkfs/main_grow.c:237 +msgid "Error writing first new rindex entry;aborted.\n" +msgstr "" + +#: gfs2/mkfs/main_grow.c:247 +msgid "Error writing new rindex entries;aborted.\n" msgstr "" -#: gfs2/mkfs/main_grow.c:314 gfs2/mkfs/main_mkfs.c:562 +#: gfs2/mkfs/main_grow.c:263 #, c-format -msgid "can't open device %s: %s\n" +msgid "truncating rindex to %ld\n" +msgstr "" + +#: gfs2/mkfs/main_grow.c:358 gfs2/mkfs/main_jadd.c:506 +#: gfs2/mkfs/main_mkfs.c:590 +msgid "Bad constants (1)" msgstr "" -#: gfs2/mkfs/main_grow.c:330 +#: gfs2/mkfs/main_grow.c:362 msgid "gfs: Error reading superblock.\n" msgstr "" -#: gfs2/mkfs/main_grow.c:339 gfs2/mkfs/main_jadd.c:513 -#, c-format -msgid "Error mounting GFS2 metafs: %s\n" +#: gfs2/mkfs/main_grow.c:364 +msgid "cannot grow gfs1 filesystem\n" msgstr "" -#: gfs2/mkfs/main_grow.c:348 +#: gfs2/mkfs/main_grow.c:376 msgid "GFS2 rindex not found. Please run gfs2_fsck.\n" msgstr "" -#: gfs2/mkfs/main_grow.c:364 +#: gfs2/mkfs/main_grow.c:390 +msgid "Error: No resource groups found.\n" +msgstr "" + +#: gfs2/mkfs/main_grow.c:398 msgid "Error: The device has grown by less than one Resource Group (RG).\n" msgstr "" -#: gfs2/mkfs/main_grow.c:366 +#: gfs2/mkfs/main_grow.c:400 #, c-format msgid "The device grew by %lluMB. " msgstr "" -#: gfs2/mkfs/main_grow.c:368 +#: gfs2/mkfs/main_grow.c:402 #, c-format msgid "One RG is %uMB for this file system.\n" msgstr "" -#: gfs2/mkfs/main_grow.c:388 +#: gfs2/mkfs/main_grow.c:423 msgid "gfs2_grow complete.\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:38 -#, c-format -msgid "error doing get flags (%d): %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:45 -#, c-format -msgid "error doing set flags (%d): %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:56 +#: gfs2/mkfs/main_jadd.c:62 msgid "rename2system (1)\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:61 +#: gfs2/mkfs/main_jadd.c:67 msgid "rename2system (2)\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:73 +#: gfs2/mkfs/main_jadd.c:79 #, c-format msgid "" "Usage:\n" @@ -3016,104 +3313,57 @@ msgid "" " -V Print program version information, then exit\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:139 gfs2/mkfs/main_mkfs.c:176 +#: gfs2/mkfs/main_jadd.c:145 gfs2/mkfs/main_mkfs.c:206 gfs2/tune/main.c:92 #, c-format -msgid "Unknown option: %c\n" +msgid "Invalid option: %c\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:148 +#: gfs2/mkfs/main_jadd.c:154 msgid "no path specified (try -h for help)\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:151 +#: gfs2/mkfs/main_jadd.c:157 gfs2/mkfs/main_mkfs.c:221 #, c-format -msgid "Unrecognized option: %s\n" +msgid "Unrecognized argument: %s\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:154 gfs2/mkfs/main_mkfs.c:194 +#: gfs2/mkfs/main_jadd.c:160 gfs2/mkfs/main_mkfs.c:224 #, c-format msgid "Command Line Arguments:\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:167 gfs2/mkfs/main_mkfs.c:316 +#: gfs2/mkfs/main_jadd.c:173 gfs2/mkfs/main_mkfs.c:369 msgid "no journals specified\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:169 gfs2/mkfs/main_mkfs.c:319 +#: gfs2/mkfs/main_jadd.c:175 gfs2/mkfs/main_mkfs.c:372 msgid "bad journal size\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:171 gfs2/mkfs/main_mkfs.c:325 +#: gfs2/mkfs/main_jadd.c:177 gfs2/mkfs/main_mkfs.c:375 msgid "bad quota change size\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:191 +#: gfs2/mkfs/main_jadd.c:197 #, c-format msgid "Filesystem: %s\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:192 +#: gfs2/mkfs/main_jadd.c:198 #, c-format msgid "Old Journals %u\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:193 +#: gfs2/mkfs/main_jadd.c:199 #, c-format msgid "New Journals %u\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:215 -#, c-format -msgid "can't unlink %s: %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:218 -#, c-format -msgid "can't create %s: %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:239 gfs2/mkfs/main_jadd.c:271 -#, c-format -msgid "write error: %s from %s:%d: offset 0\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:251 gfs2/mkfs/main_jadd.c:283 -#: gfs2/mkfs/main_jadd.c:351 gfs2/mkfs/main_jadd.c:472 -#, c-format -msgid "can't rename2system %s (%d): %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:310 gfs2/mkfs/main_jadd.c:330 -#: gfs2/mkfs/main_jadd.c:418 gfs2/mkfs/main_jadd.c:448 -#, c-format -msgid "write error: %s from %s:%d: block %lld (0x%llx)\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:342 gfs2/mkfs/main_jadd.c:463 -#, c-format -msgid "can't fsync: %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:360 -#, c-format -msgid "Could not statfs the filesystem %s: %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:377 -#, c-format -msgid "Could not find the jindex directory in gfs2meta mount! error: %s\n" -msgstr "" - -#: gfs2/mkfs/main_jadd.c:390 +#: gfs2/mkfs/main_jadd.c:389 msgid "There are no journals for this gfs2 fs! Did you mkfs.gfs2 correctly?\n" msgstr "" -#: gfs2/mkfs/main_jadd.c:498 -#, c-format -msgid "can't open root directory %s: %s\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:49 +#: gfs2/mkfs/main_mkfs.c:52 #, c-format msgid "" "Usage:\n" @@ -3128,242 +3378,234 @@ msgid "" " -h Print this help, then exit\n" " -J <MB> Size of journals\n" " -j <num> Number of journals\n" +" -K Don't try to discard unused blocks\n" " -O Don't ask for confirmation\n" " -p <name> Name of the locking protocol\n" " -q Don't print anything\n" " -r <MB> Resource Group Size\n" " -t <name> Name of the lock table\n" -" -u <MB> Size of unlinked file\n" " -V Print program version information, then exit\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:119 +#: gfs2/mkfs/main_mkfs.c:81 +#, c-format +msgid "Issuing discard ioctl: range: %llu - %llu..." +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:90 +#, c-format +msgid "Successful.\n" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:150 #, c-format msgid "lock protocol name %s is too long\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:134 +#: gfs2/mkfs/main_mkfs.c:165 #, c-format msgid "lock table name %s is too long\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:172 +#: gfs2/mkfs/main_mkfs.c:202 msgid "More than one device specified (try -h for help)\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:185 -msgid "no device specified (try -h for help)\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:191 +#: gfs2/mkfs/main_mkfs.c:215 gfs2/convert/gfs2_convert.c:1704 +#: gfs2/convert/gfs2_convert.c:1708 #, c-format -msgid "Unrecognized argument: %s\n" +msgid "No device specified. Please use '-h' for help\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:204 +#: gfs2/mkfs/main_mkfs.c:234 #, c-format msgid " rgsize = optimize for best performance\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:233 +#: gfs2/mkfs/main_mkfs.c:262 msgid "locktable error: contains space characters\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:235 +#: gfs2/mkfs/main_mkfs.c:264 msgid "locktable error: contains unprintable characters\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:240 +#: gfs2/mkfs/main_mkfs.c:269 msgid "locktable error: missing colon in the locktable\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:243 +#: gfs2/mkfs/main_mkfs.c:272 msgid "locktable error: missing cluster name\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:245 +#: gfs2/mkfs/main_mkfs.c:274 msgid "locktable error: cluster name too long\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:249 gfs2/mkfs/main_mkfs.c:255 +#: gfs2/mkfs/main_mkfs.c:278 gfs2/mkfs/main_mkfs.c:284 msgid "locktable error: missing filesystem name\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:252 +#: gfs2/mkfs/main_mkfs.c:281 gfs2/tune/super.c:205 +#, c-format msgid "locktable error: more than one colon present\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:257 +#: gfs2/mkfs/main_mkfs.c:286 msgid "locktable error: filesystem name too long\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:259 +#: gfs2/mkfs/main_mkfs.c:288 #, c-format msgid "lockproto error: %s unknown\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:275 +#: gfs2/mkfs/main_mkfs.c:306 +#, c-format +msgid "Are you sure you want to proceed? [y/n]" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:316 +msgid "aborted\n" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:336 #, c-format msgid "block size must be a power of two between 512 and %d\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:279 +#: gfs2/mkfs/main_mkfs.c:340 #, c-format msgid "Error: Block size %d is less than minimum logical block size (%d).\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:285 +#: gfs2/mkfs/main_mkfs.c:346 #, c-format msgid "" "WARNING: Block size %d is inefficient because it is less than the physical " "block size (%d).\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:291 gfs2/mkfs/main_mkfs.c:443 -#, c-format -msgid "" -"\n" -"Are you sure you want to proceed? [y/n] " -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:293 gfs2/mkfs/main_mkfs.c:445 -msgid "unable to read from stdin\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:296 gfs2/mkfs/main_mkfs.c:448 -msgid "aborted\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:309 gfs2/mkfs/main_mkfs.c:312 +#: gfs2/mkfs/main_mkfs.c:362 gfs2/mkfs/main_mkfs.c:365 msgid "bad resource group size\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:322 -msgid "bad unlinked size\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:410 +#: gfs2/mkfs/main_mkfs.c:460 #, c-format msgid "" "Content of file or device unknown (do you have GNU fileutils installed?)\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:414 +#: gfs2/mkfs/main_mkfs.c:464 #, c-format msgid "It appears to contain: %s" msgstr "" -#: gfs2/mkfs/main_mkfs.c:439 -#, c-format -msgid "Error: device %s not found.\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:440 -#, c-format -msgid "This will destroy any data on %s.\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:465 -#, c-format -msgid "could not stat device %s\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:467 -#, c-format -msgid "%s is not a block device\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:473 -#, c-format -msgid "device %s is busy\n" -msgstr "" - -#: gfs2/mkfs/main_mkfs.c:499 +#: gfs2/mkfs/main_mkfs.c:494 #, c-format msgid "Expert mode: on\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:501 +#: gfs2/mkfs/main_mkfs.c:496 #, c-format msgid "Device: %s\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:503 +#: gfs2/mkfs/main_mkfs.c:498 #, c-format msgid "Blocksize: %u\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:504 +#: gfs2/mkfs/main_mkfs.c:499 #, c-format msgid "Device Size %.2f GB (%llu blocks)\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:507 +#: gfs2/mkfs/main_mkfs.c:502 #, c-format msgid "Filesystem Size: %.2f GB (%llu blocks)\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:510 +#: gfs2/mkfs/main_mkfs.c:505 #, c-format msgid "Journals: %u\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:511 +#: gfs2/mkfs/main_mkfs.c:506 #, c-format msgid "Resource Groups: %llu\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:513 +#: gfs2/mkfs/main_mkfs.c:508 #, c-format msgid "Locking Protocol: \"%s\"\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:514 +#: gfs2/mkfs/main_mkfs.c:509 #, c-format msgid "Lock Table: \"%s\"\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:518 +#: gfs2/mkfs/main_mkfs.c:513 #, c-format msgid "Writes: %u\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:521 +#: gfs2/mkfs/main_mkfs.c:516 #, c-format msgid "UUID: %s\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:569 +#: gfs2/mkfs/main_mkfs.c:563 #, c-format -msgid "Device topology error\n" +msgid "This will destroy any data on %s.\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:609 +#: gfs2/mkfs/main_mkfs.c:599 #, c-format msgid "%s: Specified block count is bigger than the actual device.\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:611 +#: gfs2/mkfs/main_mkfs.c:601 #, c-format msgid "Device Size is %.2f GB (%llu blocks)\n" msgstr "" -#: gfs2/mkfs/main_mkfs.c:656 -#, c-format -msgid "can't fsync device (%d): %s\n" +#: gfs2/mkfs/main_mkfs.c:627 +msgid "Error building jindex" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:632 +msgid "Error building per-node directory" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:637 +msgid "Error building inum inode" msgstr "" -#: gfs2/mkfs/main_mkfs.c:660 +#: gfs2/mkfs/main_mkfs.c:643 +msgid "Error building statfs inode" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:649 +msgid "Error building rindex inode" +msgstr "" + +#: gfs2/mkfs/main_mkfs.c:654 +msgid "Error building quota inode" +msgstr "" + +#: gfs2/tune/main.c:99 #, c-format -msgid "error closing device (%d): %s\n" +msgid "Incorrect number of arguments\n" msgstr "" -#: gfs2/tune/main.c:91 +#: gfs2/tune/main.c:105 #, c-format -msgid "Invalid option.\n" +msgid "The -L and -o locktable= options are mutually exclusive\n" msgstr "" -#: gfs2/tune/main.c:102 +#: gfs2/tune/main.c:114 #, c-format msgid "Unable to open device %s\n" msgstr "" @@ -3383,19 +3625,14 @@ msgstr "" msgid "uuid %s has an invalid hex digit '%c' at offset %d.\n" msgstr "" -#: gfs2/tune/super.c:99 -#, c-format -msgid "Error reading from device" -msgstr "" - -#: gfs2/tune/super.c:104 +#: gfs2/tune/super.c:109 #, c-format msgid "Not a GFS/GFS2 device\n" msgstr "" #: gfs2/tune/super.c:127 #, c-format -msgid "Filesystem volume name: %.*s\n" +msgid "Filesystem volume name: %s\n" msgstr "" #: gfs2/tune/super.c:129 @@ -3430,40 +3667,408 @@ msgstr "" #: gfs2/tune/super.c:136 #, c-format -msgid "Lock Protocol: %.*s\n" +msgid "Lock Protocol: %s\n" msgstr "" -#: gfs2/tune/super.c:138 +#: gfs2/tune/super.c:137 #, c-format -msgid "Lock table: %.*s\n" +msgid "Lock table: %s\n" msgstr "" -#: gfs2/tune/super.c:148 +#: gfs2/tune/super.c:158 #, c-format -msgid "Unable to write super block\n" +msgid "UUID can be changed for a GFS2" msgstr "" -#: gfs2/tune/super.c:166 +#: gfs2/tune/super.c:159 #, c-format -msgid "Label too long\n" +msgid " device only\n" +msgstr "" + +#: gfs2/tune/super.c:173 +#, c-format +msgid "Lock protocol name too long\n" msgstr "" #: gfs2/tune/super.c:179 #, c-format -msgid "UUID can be changed for a GFS2" +msgid "Incorrect lock protocol specified\n" msgstr "" -#: gfs2/tune/super.c:180 +#: gfs2/tune/super.c:190 #, c-format -msgid " device only\n" +msgid "Lock table name too long\n" msgstr "" -#: gfs2/tune/super.c:195 +#: gfs2/tune/super.c:197 #, c-format -msgid "Incorrect lock protocol specified\n" +msgid "locktable error: mising colon in the locktable\n" +msgstr "" + +#: gfs2/tune/super.c:201 +#, c-format +msgid "locktable error: fsname too long\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:554 +msgid "Error: Can't allocate memory for indirect block fix\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:561 gfs2/convert/gfs2_convert.c:596 +#: gfs2/convert/gfs2_convert.c:696 +msgid "Error: Can't allocate memory for file conversion.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:589 gfs2/convert/gfs2_convert.c:690 +msgid "Error: Can't allocate memory for indirect block fix.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:836 gfs2/convert/gfs2_convert.c:871 +#: gfs2/convert/gfs2_convert.c:913 +msgid "Error: out of memory.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1007 +msgid "Converting inodes.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1026 gfs2/convert/gfs2_convert.c:1081 +#, c-format +msgid "\r%llu inodes from %d rgs converted." +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1122 +msgid "Error retrieving directory.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1147 gfs2/convert/gfs2_convert.c:2164 +#, c-format +msgid "\r%llu directories, %llu dirents fixed." +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1158 +#, c-format +msgid "Error retrieving inode 0x%llx\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1252 +msgid "fix_one_directory_exhash: error reading directory.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1268 +#, c-format +msgid "Error reading leaf %llx\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1296 +msgid "Error fixing exhash directory.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1303 +msgid "Error fixing linear directory.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1330 +msgid "" +"\n" +"Fixing file and directory information.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1345 +msgid "Error processing directory\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1381 gfs2/convert/gfs2_convert.c:1387 +#, c-format +msgid "Error retrieving inode at block %llx\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1403 +msgid "Error trying to fix cdpn dentry\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1437 +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:1443 +msgid "Unable to allocate journal index\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1447 +msgid "Unable to zero journal index\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1466 +msgid "An error occurred while reading the journal index file.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1476 +msgid "journal inode size invalid\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1525 gfs2/convert/gfs2_convert.c:1547 +#: gfs2/convert/gfs2_convert.c:1553 gfs2/convert/gfs2_convert.c:1564 +#: gfs2/convert/gfs2_convert.c:1570 gfs2/convert/gfs2_convert.c:2200 +msgid "Error: Bad constants (1)\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1581 +#, c-format +msgid "Error: %s does not look like a gfs1 filesystem.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1603 +#, c-format +msgid "Examining file system" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1605 +msgid "Unable to fill in resource group information.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1612 +#, c-format +msgid "%d rgs found.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1621 +#, c-format +msgid "This program will convert a gfs1 filesystem to a gfs2 filesystem.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1623 +#, c-format +msgid "" +"WARNING: This can't be undone. It is strongly advised that you:\n" +"\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1625 +#, c-format +msgid " 1. Back up your entire filesystem first.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1626 +#, c-format +msgid " 2. Run fsck.gfs2 first to ensure filesystem integrity.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1627 +#, c-format +msgid " 3. Make sure the filesystem is NOT mounted from any node.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1628 +#, c-format +msgid " 4. Make sure you have the latest software versions.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1636 +#, c-format +msgid "gfs2_convert version %s (built %s %s)\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1647 +#, c-format +msgid "" +"\n" +"Usage:\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1648 +#, c-format +msgid "" +"%s [-hnqvVy] <device>\n" +"\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1650 +#, c-format +msgid "\th - print this help message\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1651 +#, c-format +msgid "\tn - assume 'no' to all questions\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1652 +#, c-format +msgid "\tq - quieter output\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1653 +#, c-format +msgid "\tv - more verbose output\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1654 +#, c-format +msgid "\tV - print version information\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1655 +#, c-format +msgid "\ty - assume 'yes' to all questions\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1695 +#, c-format +msgid "Parameter not understood: %c\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1759 +msgid "Converting journal space to rg space.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1781 +msgid "Error: No suitable rg found for journal.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1784 +#, c-format +msgid "Addr 0x%llx comes after rg at addr 0x%llx\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1825 +msgid "gfs2_convert: Error converting bitmaps.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1855 +#, c-format +msgid "" +"\n" +"Next Inum: %llu\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1887 +msgid "Removing obsolete GFS1 file system structures.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1927 +#, c-format +msgid "Writing journal #%d..." +msgstr "" + +#: gfs2/convert/gfs2_convert.c:1935 +#, c-format +msgid "done.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2054 +#, c-format +msgid "Couldn't lookup new quota file: %d\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2089 +#, c-format +msgid "Convert %s from GFS1 to GFS2? (y/n)" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2100 +#, c-format +msgid "Bad response '%s', please type 'y' or 'n'.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2130 +#, c-format +msgid "%s not converted.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2139 +msgid "Converting resource groups." +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2144 +#, c-format +msgid "%s: Unable to convert resource groups.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2156 +#, c-format +msgid "" +"\n" +"%s: Error renumbering inodes.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2169 +#, c-format +msgid "" +"\n" +"%s: Error fixing directories.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2176 +#, c-format +msgid "\r%llu cdpn symlinks moved to empty directories." +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2180 +#, c-format +msgid "" +"\n" +"%s: Error fixing cdpn symlinks.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2186 +msgid "" +"\n" +"Converting journals.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2189 +#, c-format +msgid "%s: Error converting journal space.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2211 +#, c-format +msgid "" +"Reduced journal size to %u MB to accommodate GFS2 file system structures.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2219 +#, c-format +msgid "Error: could not build jindex: %s\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2222 +msgid "Building GFS2 file system structures.\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2226 +#, c-format +msgid "Error building per-node directories: %s\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2233 +#, c-format +msgid "Error building inum inode: %s\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2241 +#, c-format +msgid "Error building statfs inode: %s\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2251 +#, c-format +msgid "Error building rindex inode: %s\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2258 +#, c-format +msgid "Error building quota inode: %s\n" +msgstr "" + +#: gfs2/convert/gfs2_convert.c:2286 +msgid "Committing changes to disk.\n" msgstr "" -#: gfs2/tune/super.c:222 +#: gfs2/convert/gfs2_convert.c:2302 #, c-format -msgid "Lock table name too big\n" +msgid "%s: filesystem converted successfully to gfs2.\n" msgstr ""
1
0
0
0
gfs2-utils: master - Merge branch 'master' of ssh://git.fedorahosted.org/git/gfs2-utils
by cmaiolino
30 Jan '12
30 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=fb…
Commit: fb6dbd5929d73db81eb24908e17623f10ca7c889 Parent: 879e3d4e38d1c8ed238e1a8cbb14830733e56193 fb5c48467eabeb02da76a62a27be4220f451355b Author: Carlos Maiolino <cmaiolino(a)redhat.com> AuthorDate: Mon Jan 30 13:11:56 2012 -0200 Committer: Carlos Maiolino <cmaiolino(a)redhat.com> CommitterDate: Mon Jan 30 13:11:56 2012 -0200 Merge branch 'master' of
ssh://git.fedorahosted.org/git/gfs2-utils
gfs2/edit/hexedit.c | 30 ++---- gfs2/edit/hexedit.h | 1 - gfs2/fsck/Makefile.am | 4 +- gfs2/fsck/hash.c | 93 ----------------- gfs2/fsck/hash.h | 7 -- gfs2/fsck/initialize.c | 7 +- gfs2/fsck/inode_hash.c | 1 - gfs2/fsck/metawalk.c | 1 - gfs2/fsck/pass1b.c | 1 + gfs2/fsck/pass2.c | 13 ++- gfs2/fsck/util.c | 4 + gfs2/libgfs2/libgfs2.h | 52 +++++++--- gfs2/libgfs2/meta.c | 239 +++++++++++++++++++++++++------------------- gfs2/mkfs/gfs2_mkfs.h | 1 - gfs2/mkfs/main_mkfs.c | 4 + group/libgfscontrol/main.c | 18 +++- 16 files changed, 222 insertions(+), 254 deletions(-)
1
0
0
0
gfs2-utils: master - libgfs2: Add flags to metadata description
by Steven Whitehouse
27 Jan '12
27 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=fb…
Commit: fb5c48467eabeb02da76a62a27be4220f451355b Parent: c4dd20192c46397a9156c478f104299dfabf0060 Author: Steven Whitehouse <swhiteho(a)redhat.com> AuthorDate: Fri Jan 27 12:14:01 2012 +0000 Committer: Steven Whitehouse <swhiteho(a)redhat.com> CommitterDate: Fri Jan 27 12:14:01 2012 +0000 libgfs2: Add flags to metadata description This patch adds a flags field to the metadata description so that we can mark up the properties of certain fields. This can also be expanded in due course to accommodate further information if required. Also, this adds the missing jdata structure into the metadata description. I think every structure should be there now. Structures which consisted only of a single metaheader have been given their own structures so we can use the MH macro and keep the naming consistent across all the structures. Signed-off-by: Steven Whitehouse <swhiteho(a)redhat.com> --- gfs2/libgfs2/libgfs2.h | 52 ++++++++--- gfs2/libgfs2/meta.c | 239 +++++++++++++++++++++++++++--------------------- 2 files changed, 173 insertions(+), 118 deletions(-) diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h index c304a0c..ce1dae8 100644 --- a/gfs2/libgfs2/libgfs2.h +++ b/gfs2/libgfs2/libgfs2.h @@ -84,19 +84,20 @@ enum lgfs2_meta_type { LGFS2_MT_GFS2_INDIRECT = 8, LGFS2_MT_GFS_INDIRECT = 9, LGFS2_MT_DIR_LEAF = 10, - LGFS2_MT_GFS2_LOG_HEADER = 11, - LGFS2_MT_GFS_LOG_HEADER = 12, - LGFS2_MT_GFS2_LOG_DESC = 13, - LGFS2_MT_GFS_LOG_DESC = 14, - LGFS2_MT_GFS2_LOG_BLOCK = 15, - LGFS2_MT_EA_ATTR = 16, - LGFS2_MT_EA_DATA = 17, - LGFS2_MT_GFS2_QUOTA_CHANGE = 18, - LGFS2_MT_DIRENT = 19, - LGFS2_MT_EA_HEADER = 20, - LGFS2_MT_GFS2_INUM_RANGE = 21, - LGFS2_MT_STATFS_CHANGE = 22, - LGFS2_MT_GFS_JINDEX = 23, + LGFS2_MT_JRNL_DATA = 11, + LGFS2_MT_GFS2_LOG_HEADER = 12, + LGFS2_MT_GFS_LOG_HEADER = 13, + LGFS2_MT_GFS2_LOG_DESC = 14, + LGFS2_MT_GFS_LOG_DESC = 15, + LGFS2_MT_GFS2_LOG_BLOCK = 16, + LGFS2_MT_EA_ATTR = 17, + LGFS2_MT_EA_DATA = 18, + LGFS2_MT_GFS2_QUOTA_CHANGE = 19, + LGFS2_MT_DIRENT = 20, + LGFS2_MT_EA_HEADER = 21, + LGFS2_MT_GFS2_INUM_RANGE = 22, + LGFS2_MT_STATFS_CHANGE = 23, + LGFS2_MT_GFS_JINDEX = 24, LGFS2_MT_NR, }; @@ -110,8 +111,29 @@ struct lgfs2_metafield { const char *name; const unsigned offset; const unsigned length; - const unsigned reserved:1; - const unsigned pointer:1; + const unsigned flags; + +#define LGFS2_MFF_RESERVED 0x00001 /* Field is reserved */ +#define LGFS2_MFF_POINTER 0x00002 /* Field is a pointer to a block */ +#define LGFS2_MFF_ENUM 0x00004 /* Field is an enum */ +#define LGFS2_MFF_MASK 0x00008 /* Field is a bitmask */ +#define LGFS2_MFF_UUID 0x00010 /* Field is a UUID */ +#define LGFS2_MFF_STRING 0x00020 /* Field in an ASCII string */ +#define LGFS2_MFF_UID 0x00040 /* Field is a UID */ +#define LGFS2_MFF_GID 0x00080 /* Field is a GID */ +#define LGFS2_MFF_MODE 0x00100 /* Field is a file mode */ +#define LGFS2_MFF_FSBLOCKS 0x00200 /* Units are fs blocks */ +#define LGFS2_MFF_BYTES 0x00400 /* Units are bytes */ +#define LGFS2_MFF_SHIFT 0x00800 /* Log_{2} quantity */ +#define LGFS2_MFF_CHECK 0x01000 /* Field is a checksum */ +#define LGFS2_MFF_SECS 0x02000 /* Units are seconds */ +#define LGFS2_MFF_NSECS 0x04000 /* Units are nsecs */ +#define LGFS2_MFF_MAJOR 0x08000 /* Major device number */ +#define LGFS2_MFF_MINOR 0x10000 /* Minor device number */ + + /* If isenum or ismask are set, these must also be filled in */ + const struct lgfs2_symbolic *symtab; + const unsigned nsyms; }; struct lgfs2_metadata { diff --git a/gfs2/libgfs2/meta.c b/gfs2/libgfs2/meta.c index 64bdf91..65c535e 100644 --- a/gfs2/libgfs2/meta.c +++ b/gfs2/libgfs2/meta.c @@ -72,15 +72,15 @@ const unsigned lgfs2_di_flag_size = ARRAY_SIZE(lgfs2_di_flags); .offset = offsetof(struct STRUCT, f), \ .length = sizeof(((struct STRUCT *)(0))->f), \ __VA_ARGS__ }, -#define FP(f) F(f, .pointer=1) -#define RF(f) F(f, .reserved=1) -#define RFP(f) F(f, .pointer=1, .reserved=1) +#define FP(f) F(f, .flags = LGFS2_MFF_POINTER ) +#define RF(f) F(f, .flags = LGFS2_MFF_RESERVED) +#define RFP(f) F(f, .flags = LGFS2_MFF_POINTER|LGFS2_MFF_RESERVED) #define MH(f) F(f.mh_magic) \ - F(f.mh_type) \ + F(f.mh_type, .flags = LGFS2_MFF_ENUM, .symtab=lgfs2_metatypes, .nsyms=ARRAY_SIZE(lgfs2_metatypes)) \ RF(f.__pad0) \ - F(f.mh_format) \ + F(f.mh_format, .flags = LGFS2_MFF_ENUM, .symtab=lgfs2_metaformats, .nsyms=ARRAY_SIZE(lgfs2_metaformats)) \ F(f.mh_jid) #define IN(f) F(f.no_formal_ino) \ @@ -98,17 +98,17 @@ MH(sb_header) F(sb_fs_format) F(sb_multihost_format) RF(__pad0) -F(sb_bsize) -F(sb_bsize_shift) +F(sb_bsize, .flags = LGFS2_MFF_BYTES) +F(sb_bsize_shift, .flags = LGFS2_MFF_BYTES|LGFS2_MFF_SHIFT) RF(__pad1) IN(sb_master_dir) INR(__pad2) IN(sb_root_dir) -F(sb_lockproto) -F(sb_locktable) -IN( __pad3) -IN( __pad4) -F(sb_uuid) +F(sb_lockproto, .flags = LGFS2_MFF_STRING) +F(sb_locktable, .flags = LGFS2_MFF_STRING) +IN(__pad3) +IN(__pad4) +F(sb_uuid, .flags = LGFS2_MFF_UUID) }; #undef STRUCT @@ -119,14 +119,14 @@ MH(sb_header) F(sb_fs_format) F(sb_multihost_format) F(sb_flags) -F(sb_bsize) -F(sb_bsize_shift) -F(sb_seg_size) +F(sb_bsize, .flags = LGFS2_MFF_BYTES) +F(sb_bsize_shift, .flags = LGFS2_MFF_BYTES|LGFS2_MFF_SHIFT) +F(sb_seg_size, .flags = LGFS2_MFF_FSBLOCKS) IN(sb_jindex_di) IN(sb_rindex_di) IN(sb_root_di) -F(sb_lockproto) -F(sb_locktable) +F(sb_lockproto, .flags = LGFS2_MFF_STRING) +F(sb_locktable, .flags = LGFS2_MFF_STRING) IN(sb_quota_di) IN(sb_license_di) RF(sb_reserved) @@ -137,11 +137,11 @@ RF(sb_reserved) static const struct lgfs2_metafield gfs2_rindex_fields[] = { FP(ri_addr) -F(ri_length) +F(ri_length, .flags = LGFS2_MFF_FSBLOCKS) RF(__pad) FP(ri_data0) -F(ri_data) -F(ri_bitbytes) +F(ri_data, .flags = LGFS2_MFF_FSBLOCKS) +F(ri_bitbytes, .flags = LGFS2_MFF_BYTES) F(ri_reserved) }; @@ -151,8 +151,8 @@ F(ri_reserved) static const struct lgfs2_metafield gfs2_rgrp_fields[] = { MH(rg_header) F(rg_flags) -F(rg_free) -F(rg_dinodes) +F(rg_free, .flags = LGFS2_MFF_FSBLOCKS) +F(rg_dinodes, .flags = LGFS2_MFF_FSBLOCKS) RF(__pad) F(rg_igeneration) RF(rg_reserved) @@ -164,24 +164,21 @@ RF(rg_reserved) static const struct lgfs2_metafield gfs_rgrp_fields[] = { MH(rg_header) F(rg_flags) -F(rg_free) -F(rg_useddi) -F(rg_freedi) +F(rg_free, .flags = LGFS2_MFF_FSBLOCKS) +F(rg_useddi, .flags = LGFS2_MFF_FSBLOCKS) +F(rg_freedi, .flags = LGFS2_MFF_FSBLOCKS) IN(rg_freedi_list) -F(rg_usedmeta) -F(rg_freemeta) +F(rg_usedmeta, .flags = LGFS2_MFF_FSBLOCKS) +F(rg_freemeta, .flags = LGFS2_MFF_FSBLOCKS) RF(rg_reserved) }; #undef STRUCT -#define STRUCT gfs2_meta_header +struct gfs2_rgrp_bitmap { struct gfs2_meta_header rb_header; }; +#define STRUCT gfs2_rgrp_bitmap static const struct lgfs2_metafield gfs2_rgrp_bitmap_fields[] = { -F(mh_magic) -F(mh_type) -RF(__pad0) -F(mh_format) -F(mh_jid) +MH(rb_header) }; #undef STRUCT @@ -190,21 +187,21 @@ F(mh_jid) static const struct lgfs2_metafield gfs2_dinode_fields[] = { MH(di_header) IN(di_num) -F(di_mode) -F(di_uid) -F(di_gid) +F(di_mode, .flags = LGFS2_MFF_MODE) +F(di_uid, .flags = LGFS2_MFF_UID) +F(di_gid, .flags = LGFS2_MFF_GID) F(di_nlink) -F(di_size) -F(di_blocks) -F(di_atime) -F(di_mtime) -F(di_ctime) -F(di_major) -F(di_minor) +F(di_size, .flags = LGFS2_MFF_BYTES) +F(di_blocks, .flags = LGFS2_MFF_FSBLOCKS) +F(di_atime, .flags = LGFS2_MFF_SECS) +F(di_mtime, .flags = LGFS2_MFF_SECS) +F(di_ctime, .flags = LGFS2_MFF_SECS) +F(di_major, .flags = LGFS2_MFF_MAJOR) +F(di_minor, .flags = LGFS2_MFF_MINOR) FP(di_goal_meta) FP(di_goal_data) F(di_generation) -F(di_flags) +F(di_flags, .flags = LGFS2_MFF_MASK, .symtab=lgfs2_di_flags, .nsyms=ARRAY_SIZE(lgfs2_di_flags)) F(di_payload_format) RF(__pad1) F(di_height) @@ -214,9 +211,9 @@ F(di_depth) F(di_entries) INR(__pad4) FP(di_eattr) -F(di_atime_nsec) -F(di_mtime_nsec) -F(di_ctime_nsec) +F(di_atime_nsec, .flags = LGFS2_MFF_NSECS) +F(di_mtime_nsec, .flags = LGFS2_MFF_NSECS) +F(di_ctime_nsec, .flags = LGFS2_MFF_NSECS) RF(di_reserved) }; @@ -226,22 +223,22 @@ RF(di_reserved) static const struct lgfs2_metafield gfs_dinode_fields[] = { MH(di_header) IN(di_num) -F(di_mode) -F(di_uid) -F(di_gid) +F(di_mode, .flags = LGFS2_MFF_MODE) +F(di_uid, .flags = LGFS2_MFF_UID) +F(di_gid, .flags = LGFS2_MFF_GID) F(di_nlink) -F(di_size) -F(di_blocks) -F(di_atime) -F(di_mtime) -F(di_ctime) -F(di_major) -F(di_minor) +F(di_size, .flags = LGFS2_MFF_BYTES) +F(di_blocks, .flags = LGFS2_MFF_FSBLOCKS) +F(di_atime, .flags = LGFS2_MFF_SECS) +F(di_mtime, .flags = LGFS2_MFF_SECS) +F(di_ctime, .flags = LGFS2_MFF_SECS) +F(di_major, .flags = LGFS2_MFF_MAJOR) +F(di_minor, .flags = LGFS2_MFF_MINOR) FP(di_rgrp) FP(di_goal_rgrp) F(di_goal_dblk) F(di_goal_mblk) -F(di_flags) +F(di_flags, .flags = LGFS2_MFF_MASK, .symtab=lgfs2_di_flags, .nsyms=ARRAY_SIZE(lgfs2_di_flags)) F(di_payload_format) F(di_type) F(di_height) @@ -255,14 +252,11 @@ F(di_reserved) }; #undef STRUCT -#define STRUCT gfs2_meta_header +struct gfs2_indirect { struct gfs2_meta_header in_header; }; +#define STRUCT gfs2_indirect static const struct lgfs2_metafield gfs2_indirect_fields[] = { -F(mh_magic) -F(mh_type) -RF(__pad0) -F(mh_format) -F(mh_jid) +MH(in_header) }; #undef STRUCT @@ -286,6 +280,14 @@ RF(lf_reserved) }; #undef STRUCT +struct gfs2_jrnl_data { struct gfs2_meta_header jd_header; }; +#define STRUCT gfs2_jrnl_data + +static const struct lgfs2_metafield gfs2_jdata_fields[] = { +MH(jd_header) +}; + +#undef STRUCT #define STRUCT gfs2_log_header static const struct lgfs2_metafield gfs2_log_header_fields[] = { @@ -294,7 +296,7 @@ F(lh_sequence) F(lh_flags) F(lh_tail) F(lh_blkno) -F(lh_hash) +F(lh_hash, .flags = LGFS2_MFF_CHECK) }; #undef STRUCT @@ -317,7 +319,7 @@ RF(lh_reserved) static const struct lgfs2_metafield gfs2_log_desc_fields[] = { MH(ld_header) F(ld_type) -F(ld_length) +F(ld_length, .flags = LGFS2_MFF_FSBLOCKS) F(ld_data1) F(ld_data2) RF(ld_reserved) @@ -329,50 +331,41 @@ RF(ld_reserved) static const struct lgfs2_metafield gfs_log_desc_fields[] = { MH(ld_header) F(ld_type) -F(ld_length) +F(ld_length, .flags = LGFS2_MFF_FSBLOCKS) F(ld_data1) F(ld_data2) RF(ld_reserved) }; #undef STRUCT -#define STRUCT gfs2_meta_header +struct gfs2_log_block { struct gfs2_meta_header lb_header; }; +#define STRUCT gfs2_log_block static const struct lgfs2_metafield gfs2_log_block_fields[] = { -F(mh_magic) -F(mh_type) -RF(__pad0) -F(mh_format) -F(mh_jid) +MH(lb_header) }; #undef STRUCT -#define STRUCT gfs2_meta_header +struct gfs2_ea_attr { struct gfs2_meta_header ea_header; }; +#define STRUCT gfs2_ea_attr static const struct lgfs2_metafield gfs2_ea_attr_fields[] = { -F(mh_magic) -F(mh_type) -RF(__pad0) -F(mh_format) -F(mh_jid) +MH(ea_header) }; #undef STRUCT -#define STRUCT gfs2_meta_header +struct gfs2_ea_data { struct gfs2_meta_header ed_header; }; +#define STRUCT gfs2_ea_data static const struct lgfs2_metafield gfs2_ea_data_fields[] = { -F(mh_magic) -F(mh_type) -RF(__pad0) -F(mh_format) -F(mh_jid) +MH(ed_header) }; #undef STRUCT #define STRUCT gfs2_quota_change static const struct lgfs2_metafield gfs2_quota_change_fields[] = { -F(qc_change) +F(qc_change, .flags = LGFS2_MFF_FSBLOCKS) F(qc_flags) F(qc_id) }; @@ -382,9 +375,9 @@ F(qc_id) static const struct lgfs2_metafield gfs2_dirent_fields[] = { IN(de_inum) -F(de_hash) -F(de_rec_len) -F(de_name_len) +F(de_hash, .flags = LGFS2_MFF_CHECK) +F(de_rec_len, .flags = LGFS2_MFF_BYTES) +F(de_name_len, .flags = LGFS2_MFF_BYTES) F(de_type) RF(__pad) }; @@ -393,9 +386,9 @@ RF(__pad) #define STRUCT gfs2_ea_header static const struct lgfs2_metafield gfs2_ea_header_fields[] = { -F(ea_rec_len) -F(ea_data_len) -F(ea_name_len) +F(ea_rec_len, .flags = LGFS2_MFF_BYTES) +F(ea_data_len, .flags = LGFS2_MFF_BYTES) +F(ea_name_len, .flags = LGFS2_MFF_BYTES) F(ea_type) F(ea_flags) F(ea_num_ptrs) @@ -414,9 +407,9 @@ F(ir_length) #define STRUCT gfs2_statfs_change static const struct lgfs2_metafield gfs2_statfs_change_fields[] = { -F(sc_total) -F(sc_free) -F(sc_dinodes) +F(sc_total, .flags = LGFS2_MFF_FSBLOCKS) +F(sc_free, .flags = LGFS2_MFF_FSBLOCKS) +F(sc_dinodes, .flags = LGFS2_MFF_FSBLOCKS) }; #undef STRUCT @@ -484,7 +477,7 @@ const struct lgfs2_metadata lgfs2_metadata[] = { .header = 1, .mh_type = GFS2_METATYPE_RB, .mh_format = GFS2_FORMAT_RB, - .name = "gfs2_metaheader", + .name = "gfs2_rgrp_bitmap", .fields = gfs2_rgrp_bitmap_fields, .nfields = ARRAY_SIZE(gfs2_rgrp_bitmap_fields), .size = sizeof(struct gfs2_meta_header), @@ -514,7 +507,7 @@ const struct lgfs2_metadata lgfs2_metadata[] = { .header = 1, .mh_type = GFS2_METATYPE_IN, .mh_format = GFS2_FORMAT_IN, - .name = "gfs2_meta_header", + .name = "gfs2_indirect", .fields = gfs2_indirect_fields, .nfields = ARRAY_SIZE(gfs2_indirect_fields), .size = sizeof(struct gfs2_meta_header), @@ -540,6 +533,17 @@ const struct lgfs2_metadata lgfs2_metadata[] = { .nfields = ARRAY_SIZE(gfs2_leaf_fields), .size = sizeof(struct gfs2_leaf), }, + [LGFS2_MT_JRNL_DATA] = { + .gfs1 = 1, + .gfs2 = 1, + .header = 1, + .mh_type = GFS2_METATYPE_JD, + .mh_format = GFS2_FORMAT_JD, + .name = "gfs2_jdata", + .fields = gfs2_jdata_fields, + .nfields = ARRAY_SIZE(gfs2_jdata_fields), + .size = sizeof(struct gfs2_meta_header), + }, [LGFS2_MT_GFS2_LOG_HEADER] = { .gfs2 = 1, .header = 1, @@ -585,7 +589,7 @@ const struct lgfs2_metadata lgfs2_metadata[] = { .header = 1, .mh_type = GFS2_METATYPE_LB, .mh_format = GFS2_FORMAT_LB, - .name = "gfs2_meta_header", + .name = "gfs2_log_block", .fields = gfs2_log_block_fields, .nfields = ARRAY_SIZE(gfs2_log_block_fields), .size = sizeof(struct gfs2_meta_header), @@ -596,7 +600,7 @@ const struct lgfs2_metadata lgfs2_metadata[] = { .header = 1, .mh_type = GFS2_METATYPE_EA, .mh_format = GFS2_FORMAT_EA, - .name = "gfs2_meta_header", + .name = "gfs2_ea_attr", .fields = gfs2_ea_attr_fields, .nfields = ARRAY_SIZE(gfs2_ea_attr_fields), .size = sizeof(struct gfs2_meta_header), @@ -607,7 +611,7 @@ const struct lgfs2_metadata lgfs2_metadata[] = { .header = 1, .mh_type = GFS2_METATYPE_ED, .mh_format = GFS2_FORMAT_ED, - .name = "gfs2_meta_header", + .name = "gfs2_ea_data", .fields = gfs2_ea_data_fields, .nfields = ARRAY_SIZE(gfs2_ea_data_fields), .size = sizeof(struct gfs2_meta_header), @@ -665,6 +669,7 @@ static int check_metadata_sizes(void) { unsigned offset; int i, j; + int ret = 0; for (i = 0; i < lgfs2_metadata_size; i++) { const struct lgfs2_metadata *m = &lgfs2_metadata[i]; @@ -673,17 +678,44 @@ static int check_metadata_sizes(void) const struct lgfs2_metafield *f = &m->fields[j]; if (f->offset != offset) { fprintf(stderr, "%s: %s: offset is %u, expected %u\n", m->name, f->name, f->offset, offset); - return -1; + ret = -1; } offset += f->length; } if (offset != m->size) { fprintf(stderr, "%s: size mismatch between struct %u and fields %u\n", m->name, m->size, offset); - return -1; + ret = -1; } } - return 0; + return ret; +} + +static int check_symtab(void) +{ + int i, j; + int ret = 0; + + for (i = 0; i < lgfs2_metadata_size; i++) { + const struct lgfs2_metadata *m = &lgfs2_metadata[i]; + for (j = 0; j < m->nfields; j++) { + const struct lgfs2_metafield *f = &m->fields[j]; + if (f->flags & (LGFS2_MFF_MASK|LGFS2_MFF_ENUM)) { + if (f->symtab == NULL) { + fprintf(stderr, "%s: Missing symtab for %s\n", m->name, f->name); + ret = -1; + } + } + if (f->symtab) { + if (!(f->flags & (LGFS2_MFF_MASK|LGFS2_MFF_ENUM))) { + fprintf(stderr, "%s: Symtab for non-enum and non-mask field %s\n", m->name, f->name); + ret = -1; + } + } + } + } + + return ret; } int lgfs2_selfcheck(void) @@ -691,6 +723,7 @@ int lgfs2_selfcheck(void) int ret = 0; ret |= check_metadata_sizes(); + ret |= check_symtab(); return ret; }
1
0
0
0
dlm: master - dlm_controld: add stonith calls
by David Teigland
26 Jan '12
26 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=fe…
Commit: fe16e2fea6085b4bc94c1cca0b5a2c021e9aff5c Parent: c939ac3799a7e5088e2225eabf1d93210fed875c Author: David Teigland <teigland(a)redhat.com> AuthorDate: Thu Jan 26 12:21:54 2012 -0600 Committer: David Teigland <teigland(a)redhat.com> CommitterDate: Thu Jan 26 12:21:54 2012 -0600 dlm_controld: add stonith calls not used yet Signed-off-by: David Teigland <teigland(a)redhat.com> --- dlm_controld/cpg.c | 12 ++++++------ dlm_controld/dlm_daemon.h | 1 + dlm_controld/fence.c | 38 +++++++++++++++----------------------- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/dlm_controld/cpg.c b/dlm_controld/cpg.c index f490cf5..9a3134a 100644 --- a/dlm_controld/cpg.c +++ b/dlm_controld/cpg.c @@ -686,6 +686,11 @@ static int need_fencing(struct lockspace *ls) return 0; } +/* we don't need to ask fenced to initiate fencing; it does + so itself when it sees a fence domain member fail. Without + fenced we'll probably need to ask another daemon to initiate + fencing, then check with it above, like we check libfenced. */ + static void request_fencing(struct lockspace *ls) { struct node *node; @@ -693,12 +698,7 @@ static void request_fencing(struct lockspace *ls) list_for_each_entry(node, &ls->node_history, list) { if (!node->request_fencing) continue; - - /* we don't need to ask fenced to initiate fencing; it does - so itself when it sees a fence domain member fail. Without - fenced we'll probably need to ask another daemon to initiate - fencing, then check with it above, like we check libfenced. */ - + fence_request(node->nodeid); node->request_fencing = 0; } } diff --git a/dlm_controld/dlm_daemon.h b/dlm_controld/dlm_daemon.h index 497e6e8..3899550 100644 --- a/dlm_controld/dlm_daemon.h +++ b/dlm_controld/dlm_daemon.h @@ -348,6 +348,7 @@ void process_cluster_cfg(int ci); void kick_node_from_cluster(int nodeid); /* fence.c */ +void fence_request(int nodeid); int fence_node_time(int nodeid, uint64_t *last_fenced_time); int fence_in_progress(int *count); diff --git a/dlm_controld/fence.c b/dlm_controld/fence.c index 95a8bc1..f91d9de 100644 --- a/dlm_controld/fence.c +++ b/dlm_controld/fence.c @@ -7,38 +7,30 @@ */ #include "dlm_daemon.h" -//#include "libfenced.h" +#ifdef STONITH +#include <pacemaker/crm/stonith-ng.h> +#endif -int fence_node_time(int nodeid, uint64_t *last_fenced_time) +void fence_request(int nodeid) { -/* - struct fenced_node nodeinfo; +#ifdef STONITH int rv; + rv = stonith_api_kick_cs_helper(nodeid, 300, 1); + if (rv) + log_error("stonith_api_kick_cs_helper %d error %d", nodeid, rv); +#endif +} - memset(&nodeinfo, 0, sizeof(nodeinfo)); - - rv = fenced_node_info(nodeid, &nodeinfo); - if (rv < 0) - return rv; - - *last_fenced_time = nodeinfo.last_fenced_time; -*/ +int fence_node_time(int nodeid, uint64_t *last_fenced_time) +{ +#ifdef STONITH + *last_fenced_time = stonith_api_time_cs_helper(nodeid, 0); +#endif return 0; } int fence_in_progress(int *count) { -/* struct fenced_domain domain; - int rv; - - memset(&domain, 0, sizeof(domain)); - - rv = fenced_domain_info(&domain); - if (rv < 0) - return rv; - - *count = domain.victim_count; -*/ return 0; }
1
0
0
0
dlm: master - dlm_controld: use totem.cluster_name
by David Teigland
25 Jan '12
25 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=c9…
Commit: c939ac3799a7e5088e2225eabf1d93210fed875c Parent: abb3da4d5c2f2a09d777d7dd520d42b70d16ef15 Author: David Teigland <teigland(a)redhat.com> AuthorDate: Wed Jan 25 11:47:47 2012 -0600 Committer: David Teigland <teigland(a)redhat.com> CommitterDate: Wed Jan 25 11:47:47 2012 -0600 dlm_controld: use totem.cluster_name which is now the real location for it Signed-off-by: David Teigland <teigland(a)redhat.com> --- dlm_controld/action.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlm_controld/action.c b/dlm_controld/action.c index ae3f6cd..8aa84a4 100644 --- a/dlm_controld/action.c +++ b/dlm_controld/action.c @@ -67,14 +67,14 @@ static int detect_cluster_name(void) return -1; } - rv = cmap_get_string(handle, "cluster.name", &str); + rv = cmap_get_string(handle, "totem.cluster_name", &str); if (rv != CS_OK) { - log_error("cmap_get_string cluster.name error %d", rv); + log_error("cmap_get_string totem.cluster_name error %d", rv); goto out; } else err = 0; - log_debug("cmap cluster.name = '%s'", str); + log_debug("cmap totem.cluster_name = '%s'", str); strncpy(cluster_name, str, DLM_LOCKSPACE_LEN); out:
1
0
0
0
dlm: tag dlm-3.99.0 has been created
by David Teigland
25 Jan '12
25 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ab…
Commit: abb3da4d5c2f2a09d777d7dd520d42b70d16ef15 Parent: 46ed1ea8abb34772a205064ea57a4e7d1ac99c55 Author: David Teigland <teigland(a)redhat.com> AuthorDate: Tue Jan 24 13:06:48 2012 -0600 Committer: David Teigland <teigland(a)redhat.com> CommitterDate: Tue Jan 24 13:06:48 2012 -0600 release 3.99.0 Signed-off-by: David Teigland <teigland(a)redhat.com> --- include/version.cf | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/version.cf b/include/version.cf index b890cb3..1669bf4 100644 --- a/include/version.cf +++ b/include/version.cf @@ -1,6 +1,6 @@ #ifndef _RELEASE_VERSION_CF_ #define _RELEASE_VERSION_CF_ -#define RELEASE_VERSION "3.9.0" +#define RELEASE_VERSION "3.99.0" #endif
1
0
0
0
cluster: RHEL6 - libgfs2: Fix null pointer dereference in linked_leaf_search
by Bob Peterson
24 Jan '12
24 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=25…
Commit: 2552e504f228f2e6dafee9f43666fda871fdb92e Parent: 5c7611a6579afd3da91845b2c1004768e2833420 Author: Bob Peterson <rpeterso(a)redhat.com> AuthorDate: Thu Jan 12 15:31:18 2012 -0600 Committer: Bob Peterson <rpeterso(a)redhat.com> CommitterDate: Fri Jan 20 08:26:28 2012 -0600 libgfs2: Fix null pointer dereference in linked_leaf_search Fix a null pointer dereference by checking the value of the bh set by get_first_leaf(). Looking down the call tree the bh is set to NULL when __bread fails to allocate memory so we can use errno as the return value here. rhbz#675723 --- gfs2/fsck/lost_n_found.c | 3 +-- gfs2/libgfs2/fs_ops.c | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gfs2/fsck/lost_n_found.c b/gfs2/fsck/lost_n_found.c index 6f09de1..d0e036a 100644 --- a/gfs2/fsck/lost_n_found.c +++ b/gfs2/fsck/lost_n_found.c @@ -160,8 +160,7 @@ int add_inode_to_lf(struct gfs2_inode *ip){ lf_dip = createi(sdp->md.rooti, "lost+found", S_IFDIR | 0700, 0); if (lf_dip == NULL) { - log_crit(_("Error %d creating lost+found: %s\n"), - errno); + log_crit(_("Error %d creating lost+found\n"), errno); exit(FSCK_ERROR); } diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c index 4f1774c..330cedd 100644 --- a/gfs2/libgfs2/fs_ops.c +++ b/gfs2/libgfs2/fs_ops.c @@ -1514,6 +1514,8 @@ static int linked_leaf_search(struct gfs2_inode *dip, const char *filename, error = get_first_leaf(dip, lindex, &bh_next); if (error) return error; + if (bh_next == NULL) + return errno; /* Find the entry */ do{
1
0
0
0
cluster: RHEL6 - fsck.gfs2: Add return code checks and initializations
by Bob Peterson
24 Jan '12
24 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=5c…
Commit: 5c7611a6579afd3da91845b2c1004768e2833420 Parent: 6687f755a482f81f74b78af59fd7b560c7dd1d69 Author: Bob Peterson <rpeterso(a)redhat.com> AuthorDate: Thu Jan 12 15:29:17 2012 -0600 Committer: Bob Peterson <rpeterso(a)redhat.com> CommitterDate: Fri Jan 20 08:26:28 2012 -0600 fsck.gfs2: Add return code checks and initializations This patch fixes several problems detected by the coverity tool whereby variables could be accessed without being initialized, and where return codes should be checked and were not. rhbz#675723 --- gfs2/fsck/fs_recovery.c | 9 ++++ gfs2/fsck/initialize.c | 107 +++++++++++++++++++++++++++++++++++++--------- gfs2/fsck/lost_n_found.c | 18 ++++++- gfs2/fsck/pass1.c | 19 ++++++--- gfs2/fsck/pass2.c | 25 ++++++++--- gfs2/fsck/pass3.c | 11 +++- gfs2/fsck/pass5.c | 17 ++++++-- gfs2/libgfs2/fs_ops.c | 41 ++++++++++++------ gfs2/libgfs2/libgfs2.h | 2 +- 9 files changed, 190 insertions(+), 59 deletions(-) diff --git a/gfs2/fsck/fs_recovery.c b/gfs2/fsck/fs_recovery.c index 52303dd..d07a515 100644 --- a/gfs2/fsck/fs_recovery.c +++ b/gfs2/fsck/fs_recovery.c @@ -125,6 +125,10 @@ static int buf_lo_scan_elements(struct gfs2_inode *ip, unsigned int start, (unsigned long long)blkno, (unsigned long long)blkno, start); bh_ip = bget(sdp, blkno); + if (!bh_ip) { + log_err(_("Out of memory when replaying journals.\n")); + return FSCK_ERROR; + } memcpy(bh_ip->b_data, bh_log->b_data, sdp->bsize); check_magic = ((struct gfs2_meta_header *) @@ -233,6 +237,10 @@ static int databuf_lo_scan_elements(struct gfs2_inode *ip, unsigned int start, (unsigned long long)blkno, (unsigned long long)blkno, start); bh_ip = bget(sdp, blkno); + if (!bh_ip) { + log_err(_("Out of memory when replaying journals.\n")); + return FSCK_ERROR; + } memcpy(bh_ip->b_data, bh_log->b_data, sdp->bsize); /* Unescape */ @@ -357,6 +365,7 @@ static int fix_journal_seq_no(struct gfs2_inode *ip) uint32_t extlen; struct gfs2_buffer_head *bh; + memset(&lh, 0, sizeof(lh)); for (blk = 0; blk < jd_blocks; blk++) { error = get_log_header(ip, blk, &lh); if (error == 1) /* if not a log header */ diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c index 6a92992..28fe03d 100644 --- a/gfs2/fsck/initialize.c +++ b/gfs2/fsck/initialize.c @@ -352,6 +352,7 @@ static int rebuild_master(struct gfs2_sbd *sdp) { struct gfs2_inum inum; struct gfs2_buffer_head *bh; + int err = 0; log_err(_("The system master directory seems to be destroyed.\n")); if (!query(_("Okay to rebuild it? (y/n)"))) { @@ -368,59 +369,109 @@ static int rebuild_master(struct gfs2_sbd *sdp) if (fix_md.jiinode) { inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = fix_md.jiinode->i_di.di_num.no_addr; - dir_add(sdp->master_dir, "jindex", 6, &inum, - IF2DT(S_IFDIR | 0700)); + err = dir_add(sdp->master_dir, "jindex", 6, &inum, + IF2DT(S_IFDIR | 0700)); + if (err) { + log_crit(_("Error %d adding jindex directory\n"), errno); + exit(FSCK_ERROR); + } sdp->master_dir->i_di.di_nlink++; } else { - build_jindex(sdp); + err = build_jindex(sdp); + if (err) { + log_crit(_("Error %d building jindex\n"), err); + exit(FSCK_ERROR); + } } if (fix_md.pinode) { inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = fix_md.pinode->i_di.di_num.no_addr; - dir_add(sdp->master_dir, "per_node", 8, &inum, + err = dir_add(sdp->master_dir, "per_node", 8, &inum, IF2DT(S_IFDIR | 0700)); + if (err) { + log_crit(_("Error %d adding per_node directory\n"), + errno); + exit(FSCK_ERROR); + } sdp->master_dir->i_di.di_nlink++; } else { - build_per_node(sdp); + err = build_per_node(sdp); + if (err) { + log_crit(_("Error %d building per_node directory\n"), + err); + exit(FSCK_ERROR); + } } if (fix_md.inum) { inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = fix_md.inum->i_di.di_num.no_addr; - dir_add(sdp->master_dir, "inum", 4, &inum, + err = dir_add(sdp->master_dir, "inum", 4, &inum, IF2DT(S_IFREG | 0600)); + if (err) { + log_crit(_("Error %d adding inum inode\n"), errno); + exit(FSCK_ERROR); + } } else { - build_inum(sdp); + err = build_inum(sdp); + if (err) { + log_crit(_("Error %d building inum inode\n"), err); + exit(FSCK_ERROR); + } gfs2_lookupi(sdp->master_dir, "inum", 4, &sdp->md.inum); } if (fix_md.statfs) { inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = fix_md.statfs->i_di.di_num.no_addr; - dir_add(sdp->master_dir, "statfs", 6, &inum, - IF2DT(S_IFREG | 0600)); + err = dir_add(sdp->master_dir, "statfs", 6, &inum, + IF2DT(S_IFREG | 0600)); + if (err) { + log_crit(_("Error %d adding statfs inode\n"), errno); + exit(FSCK_ERROR); + } } else { - build_statfs(sdp); + err = build_statfs(sdp); + if (err) { + log_crit(_("Error %d building statfs inode\n"), err); + exit(FSCK_ERROR); + } gfs2_lookupi(sdp->master_dir, "statfs", 6, &sdp->md.statfs); } if (fix_md.riinode) { inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = fix_md.riinode->i_di.di_num.no_addr; - dir_add(sdp->master_dir, "rindex", 6, &inum, + err = dir_add(sdp->master_dir, "rindex", 6, &inum, IF2DT(S_IFREG | 0600)); + if (err) { + log_crit(_("Error %d adding rindex inode\n"), errno); + exit(FSCK_ERROR); + } } else { - build_rindex(sdp); + err = build_rindex(sdp); + if (err) { + log_crit(_("Error %d building rindex inode\n"), err); + exit(FSCK_ERROR); + } } if (fix_md.qinode) { inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = fix_md.qinode->i_di.di_num.no_addr; - dir_add(sdp->master_dir, "quota", 5, &inum, + err = dir_add(sdp->master_dir, "quota", 5, &inum, IF2DT(S_IFREG | 0600)); + if (err) { + log_crit(_("Error %d adding quota inode\n"), errno); + exit(FSCK_ERROR); + } } else { - build_quota(sdp); + err = build_quota(sdp); + if (err) { + log_crit(_("Error %d building quota inode\n"), err); + exit(FSCK_ERROR); + } } log_err(_("Master directory rebuilt.\n")); @@ -590,8 +641,13 @@ static int init_system_inodes(struct gfs2_sbd *sdp) } } /* Read inum entry into buffer */ - gfs2_readi(sdp->md.inum, &inumbuf, 0, - sdp->md.inum->i_di.di_size); + err = gfs2_readi(sdp->md.inum, &inumbuf, 0, + sdp->md.inum->i_di.di_size); + if (err != sdp->md.inum->i_di.di_size) { + log_crit(_("Error %d reading system inum inode. " + "Aborting.\n"), err); + goto fail; + } /* call gfs2_inum_range_in() to retrieve range */ sdp->md.next_inum = be64_to_cpu(inumbuf); } @@ -624,8 +680,14 @@ static int init_system_inodes(struct gfs2_sbd *sdp) if (sdp->md.statfs->i_di.di_size) { buf = malloc(sdp->md.statfs->i_di.di_size); if (buf) { - gfs2_readi(sdp->md.statfs, buf, 0, - sdp->md.statfs->i_di.di_size); + err = gfs2_readi(sdp->md.statfs, buf, 0, + sdp->md.statfs->i_di.di_size); + if (err != sdp->md.statfs->i_di.di_size) { + log_crit(_("Error %d reading statfs file. " + "Aborting.\n"), err); + free(buf); + goto fail; + } /* call gfs2_inum_range_in() to retrieve range */ gfs2_statfs_change_in(&sc, buf); free(buf); @@ -1251,14 +1313,17 @@ static int reconstruct_single_journal(struct gfs2_sbd *sdp, int jnum, */ static int reconstruct_journals(struct gfs2_sbd *sdp) { - int i; + int i, count; struct gfs_jindex ji; char buf[sizeof(struct gfs_jindex)]; log_err("Clearing GFS journals (this may take a while)\n"); for (i = 0; i < sdp->md.journals; i++) { - gfs2_readi(sdp->md.jiinode, buf, i * sizeof(struct gfs_jindex), - sizeof(struct gfs_jindex)); + count = gfs2_readi(sdp->md.jiinode, buf, + i * sizeof(struct gfs_jindex), + sizeof(struct gfs_jindex)); + if (count != sizeof(struct gfs_jindex)) + return 0; gfs_jindex_in(&ji, buf); if ((i % 2) == 0) log_err("."); diff --git a/gfs2/fsck/lost_n_found.c b/gfs2/fsck/lost_n_found.c index 70a9181..6f09de1 100644 --- a/gfs2/fsck/lost_n_found.c +++ b/gfs2/fsck/lost_n_found.c @@ -19,6 +19,7 @@ static void add_dotdot(struct gfs2_inode *ip) { struct dir_info *di; struct gfs2_sbd *sdp = ip->i_sbd; + int err; log_info( _("Adding .. entry to directory %llu (0x%llx) pointing back " "to lost+found\n"), @@ -75,8 +76,13 @@ static void add_dotdot(struct gfs2_inode *ip) log_warn( _("add_inode_to_lf: Unable to remove " "\"..\" directory entry.\n")); - dir_add(ip, "..", 2, &(lf_dip->i_di.di_num), - (sdp->gfs1 ? GFS_FILE_DIR : DT_DIR)); + err = dir_add(ip, "..", 2, &(lf_dip->i_di.di_num), + (sdp->gfs1 ? GFS_FILE_DIR : DT_DIR)); + if (err) { + log_crit(_("Error adding .. directory: %s\n"), + strerror(errno)); + exit(FSCK_ERROR); + } } static uint64_t find_free_blk(struct gfs2_sbd *sdp) @@ -133,6 +139,7 @@ int add_inode_to_lf(struct gfs2_inode *ip){ uint64_t lf_blocks; struct gfs2_sbd *sdp = ip->i_sbd; struct dir_info *di; + int err = 0; uint32_t mode; if (!lf_dip) { @@ -255,8 +262,13 @@ int add_inode_to_lf(struct gfs2_inode *ip){ break; } - dir_add(lf_dip, tmp_name, strlen(tmp_name), &(ip->i_di.di_num), + err = dir_add(lf_dip, tmp_name, strlen(tmp_name), &(ip->i_di.di_num), inode_type); + if (err) { + log_crit(_("Error adding directory %s: %s\n"), + tmp_name, strerror(errno)); + exit(FSCK_ERROR); + } /* If the lf directory had new blocks added we have to mark them properly in the bitmap so they're not freed. */ if (lf_dip->i_di.di_blocks != lf_blocks) diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c index b3ef7d4..52d4082 100644 --- a/gfs2/fsck/pass1.c +++ b/gfs2/fsck/pass1.c @@ -1326,7 +1326,7 @@ static int check_system_inode(struct gfs2_sbd *sdp, { uint64_t iblock = 0; struct dir_status ds = {0}; - int error; + int error, err = 0; log_info( _("Checking system inode '%s'\n"), filename); if (*sysinode) { @@ -1400,12 +1400,19 @@ static int check_system_inode(struct gfs2_sbd *sdp, sysdir_fxns.private = &bc; if ((*sysinode)->i_di.di_flags & GFS2_DIF_EXHASH) check_metatree(*sysinode, &sysdir_fxns); - else - check_linear_dir(*sysinode, (*sysinode)->i_bh, - &sysdir_fxns); + else { + err = check_linear_dir(*sysinode, (*sysinode)->i_bh, + &sysdir_fxns); + /* If we encountered an error in our directory check + we should still call handle_ip, but return the + error later. */ + if (err) + log_err(_("Error found in %s while checking " + "directory entries.\n"), filename); + } } error = handle_ip(sdp, *sysinode); - return error; + return error ? error : err; } static int build_a_journal(struct gfs2_sbd *sdp) @@ -1537,7 +1544,7 @@ int pass1(struct gfs2_sbd *sdp) { struct osi_node *n, *next = NULL; struct gfs2_buffer_head *bh; - uint64_t block; + uint64_t block = 0; struct rgrp_tree *rgd; int first; uint64_t i; diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c index be0e5fe..c772be3 100644 --- a/gfs2/fsck/pass2.c +++ b/gfs2/fsck/pass2.c @@ -667,10 +667,15 @@ static int check_system_dir(struct gfs2_inode *sysinode, const char *dirname, } memcpy(filename, tmp_name, filename_len); log_warn( _("Adding '.' entry\n")); - dir_add(sysinode, filename, filename_len, - &(sysinode->i_di.di_num), - (sysinode->i_sbd->gfs1 ? - GFS_FILE_DIR : DT_DIR)); + error = dir_add(sysinode, filename, filename_len, + &(sysinode->i_di.di_num), + (sysinode->i_sbd->gfs1 ? + GFS_FILE_DIR : DT_DIR)); + if (error) { + log_err(_("Error adding directory %s: %s\n"), + filename, strerror(errno)); + return -errno; + } if (cur_blks != sysinode->i_di.di_blocks) reprocess_inode(sysinode, dirname); /* This system inode is linked to itself via '.' */ @@ -881,9 +886,15 @@ int pass2(struct gfs2_sbd *sdp) memcpy(filename, tmp_name, filename_len); cur_blks = ip->i_di.di_blocks; - dir_add(ip, filename, filename_len, - &(ip->i_di.di_num), - (sdp->gfs1 ? GFS_FILE_DIR : DT_DIR)); + error = dir_add(ip, filename, filename_len, + &(ip->i_di.di_num), + (sdp->gfs1 ? GFS_FILE_DIR : + DT_DIR)); + if (error) { + log_err(_("Error adding directory %s: %s\n"), + filename, strerror(errno)); + return -errno; + } if (cur_blks != ip->i_di.di_blocks) { char dirname[80]; diff --git a/gfs2/fsck/pass3.c b/gfs2/fsck/pass3.c index e1accc9..daa1809 100644 --- a/gfs2/fsck/pass3.c +++ b/gfs2/fsck/pass3.c @@ -18,7 +18,7 @@ static int attach_dotdot_to(struct gfs2_sbd *sdp, uint64_t newdotdot, uint64_t olddotdot, uint64_t block) { char *filename; - int filename_len; + int filename_len, err; struct gfs2_inode *ip, *pip; uint64_t cur_blks; @@ -52,8 +52,13 @@ static int attach_dotdot_to(struct gfs2_sbd *sdp, uint64_t newdotdot, else decr_link_count(olddotdot, block, _("old \"..\"")); cur_blks = ip->i_di.di_blocks; - dir_add(ip, filename, filename_len, &pip->i_di.di_num, - (sdp->gfs1 ? GFS_FILE_DIR : DT_DIR)); + err = dir_add(ip, filename, filename_len, &pip->i_di.di_num, + (sdp->gfs1 ? GFS_FILE_DIR : DT_DIR)); + if (err) { + log_err(_("Error adding directory %s: %s\n"), + filename, strerror(errno)); + exit(FSCK_ERROR); + } if (cur_blks != ip->i_di.di_blocks) { char dirname[80]; diff --git a/gfs2/fsck/pass5.c b/gfs2/fsck/pass5.c index ea033a0..2540b17 100644 --- a/gfs2/fsck/pass5.c +++ b/gfs2/fsck/pass5.c @@ -104,7 +104,8 @@ static int check_block_status(struct gfs2_sbd *sdp, char *buffer, { unsigned char *byte, *end; unsigned int bit; - unsigned char rg_status, block_status; + unsigned char rg_status; + int block_status; uint8_t q; uint64_t block; @@ -119,6 +120,7 @@ static int check_block_status(struct gfs2_sbd *sdp, char *buffer, warm_fuzzy_stuff(block); if (skip_this_pass || fsck_abort) /* if asked to skip the rest */ return 0; + q = block_type(block); if (sdp->gfs1) @@ -126,6 +128,12 @@ static int check_block_status(struct gfs2_sbd *sdp, char *buffer, else block_status = gfs2_convert_mark(q, count); + if (block_status < 0) { + log_err( _("Invalid status for block %llu (0x%llx).\n"), + (unsigned long long)block, + (unsigned long long)block); + return block_status; + } /* If one node opens a file and another node deletes it, we may be left with a block that appears to be "unlinked" in the bitmap, but nothing links to it. This is a valid case @@ -204,9 +212,10 @@ static void update_rgrp(struct gfs2_sbd *sdp, struct rgrp_tree *rgp, bits = &rgp->bits[i]; /* update the bitmaps */ - check_block_status(sdp, rgp->bh[i]->b_data + bits->bi_offset, - bits->bi_len, &rg_block, rgp->ri.ri_data0, - count); + if (check_block_status(sdp, rgp->bh[i]->b_data + + bits->bi_offset, bits->bi_len, + &rg_block, rgp->ri.ri_data0, count)) + return; if (skip_this_pass || fsck_abort) /* if asked to skip the rest */ return; } diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c index 5053c90..4f1774c 100644 --- a/gfs2/libgfs2/fs_ops.c +++ b/gfs2/libgfs2/fs_ops.c @@ -723,6 +723,11 @@ int gfs2_dirent_next(struct gfs2_inode *dip, struct gfs2_buffer_head *bh, return 0; } +/** + * Allocate a gfs2 dirent + * Returns 0 on success, with *dent_out pointing to the new dirent, + * or -1 on failure, with errno set + */ static int dirent_alloc(struct gfs2_inode *dip, struct gfs2_buffer_head *bh, int name_len, struct gfs2_dirent **dent_out) { @@ -793,7 +798,8 @@ static int dirent_alloc(struct gfs2_inode *dip, struct gfs2_buffer_head *bh, } } while (gfs2_dirent_next(dip, bh, &dent) == 0); - return -ENOSPC; + errno = ENOSPC; + return -1; } void dirent2_del(struct gfs2_inode *dip, struct gfs2_buffer_head *bh, @@ -1032,8 +1038,6 @@ int gfs2_get_leaf(struct gfs2_inode *dip, uint64_t leaf_no, int error = 0; *bhp = bread(dip->i_sbd, leaf_no); - if (error) - return error; error = gfs2_check_meta(*bhp, GFS2_METATYPE_LF); if(error) brelse(*bhp); @@ -1081,7 +1085,7 @@ static int get_next_leaf(struct gfs2_inode *dip,struct gfs2_buffer_head *bh_in, return 0; } -static void dir_e_add(struct gfs2_inode *dip, const char *filename, int len, +static int dir_e_add(struct gfs2_inode *dip, const char *filename, int len, struct gfs2_inum *inum, unsigned int type) { struct gfs2_buffer_head *bh, *nbh; @@ -1090,6 +1094,7 @@ static void dir_e_add(struct gfs2_inode *dip, const char *filename, int len, uint32_t lindex; uint32_t hash; uint64_t leaf_no, bn; + int err = 0; hash = gfs2_disk_hash(filename, len); restart: @@ -1138,8 +1143,9 @@ restart: nleaf->lf_depth = leaf->lf_depth; nleaf->lf_dirent_format = cpu_to_be32(GFS2_FORMAT_DE); - if (dirent_alloc(dip, nbh, len, &dent)) - die("dir_split_leaf (3)\n"); + err = dirent_alloc(dip, nbh, len, &dent); + if (err) + return err; dip->i_di.di_blocks++; bmodified(dip->i_bh); bmodified(bh); @@ -1159,7 +1165,7 @@ restart: bmodified(bh); brelse(bh); - return; + return err; } } @@ -1227,15 +1233,16 @@ static void dir_make_exhash(struct gfs2_inode *dip) bwrite(dip->i_bh); } -static void dir_l_add(struct gfs2_inode *dip, const char *filename, int len, +static int dir_l_add(struct gfs2_inode *dip, const char *filename, int len, struct gfs2_inum *inum, unsigned int type) { struct gfs2_dirent *dent; + int err = 0; if (dirent_alloc(dip, dip->i_bh, len, &dent)) { dir_make_exhash(dip); - dir_e_add(dip, filename, len, inum, type); - return; + err = dir_e_add(dip, filename, len, inum, type); + return err; } gfs2_inum_out(inum, (char *)&dent->de_inum); @@ -1244,15 +1251,18 @@ static void dir_l_add(struct gfs2_inode *dip, const char *filename, int len, dent->de_type = cpu_to_be16(type); memcpy((char *)(dent + 1), filename, len); bmodified(dip->i_bh); + return err; } -void dir_add(struct gfs2_inode *dip, const char *filename, int len, +int dir_add(struct gfs2_inode *dip, const char *filename, int len, struct gfs2_inum *inum, unsigned int type) { + int err = 0; if (dip->i_di.di_flags & GFS2_DIF_EXHASH) - dir_e_add(dip, filename, len, inum, type); + err = dir_e_add(dip, filename, len, inum, type); else - dir_l_add(dip, filename, len, inum, type); + err = dir_l_add(dip, filename, len, inum, type); + return err; } static struct gfs2_buffer_head *__init_dinode(struct gfs2_sbd *sdp, @@ -1350,6 +1360,7 @@ static struct gfs2_inode *__createi(struct gfs2_inode *dip, struct gfs2_inum inum; struct gfs2_buffer_head *bh; struct gfs2_inode *ip; + int err = 0; int is_dir; gfs2_lookupi(dip, filename, strlen(filename), &ip); @@ -1362,7 +1373,9 @@ static struct gfs2_inode *__createi(struct gfs2_inode *dip, inum.no_formal_ino = sdp->md.next_inum++; inum.no_addr = bn; - dir_add(dip, filename, strlen(filename), &inum, IF2DT(mode)); + err = dir_add(dip, filename, strlen(filename), &inum, IF2DT(mode)); + if (err) + return NULL; if (if_gfs1) is_dir = (IF2DT(mode) == GFS_FILE_DIR); diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h index bb47580..f60654c 100644 --- a/gfs2/libgfs2/libgfs2.h +++ b/gfs2/libgfs2/libgfs2.h @@ -385,7 +385,7 @@ extern int dir_search(struct gfs2_inode *dip, const char *filename, int len, unsigned int *type, struct gfs2_inum *inum); extern int gfs2_lookupi(struct gfs2_inode *dip, const char *filename, int len, struct gfs2_inode **ipp); -extern void dir_add(struct gfs2_inode *dip, const char *filename, int len, +extern int dir_add(struct gfs2_inode *dip, const char *filename, int len, struct gfs2_inum *inum, unsigned int type); extern int gfs2_dirent_del(struct gfs2_inode *dip, const char *filename, int filename_len);
1
0
0
0
cluster: RHEL6 - fsck.gfs2: Fix memory leak in initialize.c
by Bob Peterson
24 Jan '12
24 Jan '12
Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=66…
Commit: 6687f755a482f81f74b78af59fd7b560c7dd1d69 Parent: 44ccc7c3c3ec6439bbdae51873c5e180fdb72d10 Author: Bob Peterson <rpeterso(a)redhat.com> AuthorDate: Thu Jan 12 14:31:45 2012 -0600 Committer: Bob Peterson <rpeterso(a)redhat.com> CommitterDate: Fri Jan 20 08:26:28 2012 -0600 fsck.gfs2: Fix memory leak in initialize.c This patch fixes a memory leak whereby dinodes were not being freed under certain conditions. rhbz#675723 --- gfs2/fsck/initialize.c | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c index 7b47374..6a92992 100644 --- a/gfs2/fsck/initialize.c +++ b/gfs2/fsck/initialize.c @@ -777,7 +777,7 @@ static void peruse_system_dinode(struct gfs2_sbd *sdp, struct gfs2_dinode *di, (sdp->gfs1 && (di->di_flags & GFS2_DIF_JDATA) && (di->di_size % sizeof(struct gfs_jindex) == 0))) { if (fix_md.jiinode || is_journal_copy(ip, bh)) - return; + goto out_discard_ip; log_warn(_("Found system jindex file at: 0x%llx\n"), di->di_num.no_addr); fix_md.jiinode = ip; @@ -786,8 +786,10 @@ static void peruse_system_dinode(struct gfs2_sbd *sdp, struct gfs2_dinode *di, jindex: master */ gfs2_lookupi(ip, "jindex", 6, &child_ip); if (child_ip) { - if (fix_md.jiinode || is_journal_copy(ip, bh)) - return; + if (fix_md.jiinode || is_journal_copy(ip, bh)) { + inode_put(&child_ip); + goto out_discard_ip; + } fix_md.jiinode = child_ip; sdp->sd_sb.sb_master_dir.no_addr = di->di_num.no_addr; log_warn(_("Found system master directory at: " @@ -799,8 +801,9 @@ static void peruse_system_dinode(struct gfs2_sbd *sdp, struct gfs2_dinode *di, has a statfs_change: per_node, and its .. will be master. */ gfs2_lookupi(ip, "statfs_change0", 14, &child_ip); if (child_ip) { + inode_put(&child_ip); if (fix_md.pinode || is_journal_copy(ip, bh)) - return; + goto out_discard_ip; log_warn(_("Found system per_node directory at: " "0x%llx\n"), ip->i_di.di_num.no_addr); fix_md.pinode = ip; @@ -816,22 +819,22 @@ static void peruse_system_dinode(struct gfs2_sbd *sdp, struct gfs2_dinode *di, } log_debug(_("Unknown system directory at block 0x%llx\n"), di->di_num.no_addr); - inode_put(&ip); + goto out_discard_ip; } else if (!sdp->gfs1 && di->di_size == 8) { if (fix_md.inum || is_journal_copy(ip, bh)) - return; + goto out_discard_ip; fix_md.inum = ip; log_warn(_("Found system inum file at: 0x%llx\n"), di->di_num.no_addr); } else if (di->di_size == 24) { if (fix_md.statfs || is_journal_copy(ip, bh)) - return; + goto out_discard_ip; fix_md.statfs = ip; log_warn(_("Found system statfs file at: 0x%llx\n"), di->di_num.no_addr); } else if ((di->di_size % 96) == 0) { if (fix_md.riinode || is_journal_copy(ip, bh)) - return; + goto out_discard_ip; fix_md.riinode = ip; log_warn(_("Found system rindex file at: 0x%llx\n"), di->di_num.no_addr); @@ -839,11 +842,15 @@ static void peruse_system_dinode(struct gfs2_sbd *sdp, struct gfs2_dinode *di, di->di_num.no_formal_ino >= 12 && di->di_num.no_formal_ino <= 100) { if (is_journal_copy(ip, bh)) - return; + goto out_discard_ip; fix_md.qinode = ip; log_warn(_("Found system quota file at: 0x%llx\n"), di->di_num.no_addr); } + return; + +out_discard_ip: + inode_put(&ip); } /**
1
0
0
0
← Newer
1
2
3
4
...
15
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Results per page:
10
25
50
100
200