From 507f4e33121b9a2a14ac9bc69ff86d564a205ad7 Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Tue, 31 Dec 2002 04:09:59 +0000 Subject: [PATCH] xfs_repair updates - merge a fix from IRIX, fix an endian issue, i18n changes, detection of readonly mounts fixed up. bump version, document changes. --- VERSION | 2 +- debian/changelog | 4 +- doc/CHANGES | 11 + libxfs/init.c | 2 +- libxfs/linux.c | 2 +- po/Makefile | 29 +- po/xfsprogs.pot | 3232 ++++++++++++++++++++++++++++++++++++++++++ repair/agheader.c | 107 +- repair/attr_repair.c | 266 ++-- repair/avl.c | 2 +- repair/avl64.c | 2 +- repair/bmap.c | 15 +- repair/dino_chunks.c | 76 +- repair/dinode.c | 477 ++++--- repair/dir.c | 569 ++++---- repair/dir2.c | 532 +++---- repair/dir_stack.c | 2 +- repair/incore.c | 6 +- repair/incore_ext.c | 38 +- repair/incore_ino.c | 39 +- repair/init.c | 4 +- repair/io.c | 9 +- repair/phase1.c | 21 +- repair/phase2.c | 54 +- repair/phase3.c | 34 +- repair/phase4.c | 136 +- repair/phase5.c | 62 +- repair/phase6.c | 543 +++---- repair/phase7.c | 25 +- repair/rt.c | 14 +- repair/sb.c | 39 +- repair/scan.c | 348 +++-- repair/versions.c | 98 +- repair/xfs_repair.c | 166 ++- 34 files changed, 5332 insertions(+), 1634 deletions(-) diff --git a/VERSION b/VERSION index 933ba1bb1..cd24ffa29 100644 --- a/VERSION +++ b/VERSION @@ -3,5 +3,5 @@ # PKG_MAJOR=2 PKG_MINOR=3 -PKG_REVISION=8 +PKG_REVISION=9 PKG_BUILD=0 diff --git a/debian/changelog b/debian/changelog index a541f0751..6e6b5680c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -xfsprogs (2.3.8-1) unstable; urgency=low +xfsprogs (2.3.9-1) unstable; urgency=low * New upstream release - -- Nathan Scott Wed, 18 Dec 2002 14:29:05 +1100 + -- Nathan Scott Tue, 31 Dec 2002 10:31:04 +1100 xfsprogs (2.3.7-1) unstable; urgency=low diff --git a/doc/CHANGES b/doc/CHANGES index f4b0691c5..45136f5db 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,3 +1,14 @@ +xfsprogs-2.3.9 (31 December 2002) + - Additional xfs_repair check in v2 directory handling for blks + with no data entries (merged from IRIX), includes several + handy comments sprinkled throughout this v2 dir code. + - Fix an endian bug in the same area of code (v2 dirs, phase 6, + longform_dir2_rebuild_setup) + - xfs_repair has additional checks for bad sector values now. + - xfs_repair I18N changes. + - Fix detection of readonly mounts, slightly botched in 2.3.8. + - Fix references to removed ioctl commands on xfs(5) man page. + xfsprogs-2.3.8 (18 December 2002) - Initial support for I18N (still more to do here). - Initial changes for filesystems with greater than 512 byte diff --git a/libxfs/init.c b/libxfs/init.c index bd3a3af1c..29f576788 100644 --- a/libxfs/init.c +++ b/libxfs/init.c @@ -66,7 +66,7 @@ check_isactive(char *name, char *block, int fatal) return 0; if ((st.st_mode & S_IFMT) != S_IFBLK) return 0; - if (check_ismounted(name, block, &st, 0)) + if (check_ismounted(name, block, &st, 0) == 0) return 0; return check_iswritable(name, block, &st, fatal); } diff --git a/libxfs/linux.c b/libxfs/linux.c index d5d5ebfc6..d01a6ab53 100644 --- a/libxfs/linux.c +++ b/libxfs/linux.c @@ -98,7 +98,7 @@ check_iswritable(char *name, char *block, struct stat64 *s, int fatal) && hasmntopt(mnt, MNTOPT_RO) != NULL) break; } - if (mnt != NULL) { + if (mnt == NULL) { fprintf(stderr, _("%s: %s contains a mounted and writable " "filesystem\n"), progname, name); sts = fatal; diff --git a/po/Makefile b/po/Makefile index be273bb3b..343dece11 100644 --- a/po/Makefile +++ b/po/Makefile @@ -37,7 +37,7 @@ include $(TOPDIR)/include/builddefs LINGUAS = LSRCFILES = $(LINGUAS:%=%.po) $(PKG_NAME).pot -# TODO: db/ logprint/ repair/ +# TODO: db/ logprint/ XGETTEXTFILES = \ $(TOPDIR)/bmap/xfs_bmap.c \ $(TOPDIR)/freeze/xfs_freeze.c \ @@ -56,6 +56,33 @@ XGETTEXTFILES = \ $(TOPDIR)/libxfs/trans.c \ $(TOPDIR)/libxfs/util.c \ $(TOPDIR)/libxlog/util.c \ + $(TOPDIR)/repair/agheader.c \ + $(TOPDIR)/repair/attr_repair.c \ + $(TOPDIR)/repair/avl.c \ + $(TOPDIR)/repair/avl64.c \ + $(TOPDIR)/repair/bmap.c \ + $(TOPDIR)/repair/dino_chunks.c \ + $(TOPDIR)/repair/dinode.c \ + $(TOPDIR)/repair/dir.c \ + $(TOPDIR)/repair/dir2.c \ + $(TOPDIR)/repair/dir_stack.c \ + $(TOPDIR)/repair/incore.c \ + $(TOPDIR)/repair/incore_ext.c \ + $(TOPDIR)/repair/incore_ino.c \ + $(TOPDIR)/repair/init.c \ + $(TOPDIR)/repair/io.c \ + $(TOPDIR)/repair/phase1.c \ + $(TOPDIR)/repair/phase2.c \ + $(TOPDIR)/repair/phase3.c \ + $(TOPDIR)/repair/phase4.c \ + $(TOPDIR)/repair/phase5.c \ + $(TOPDIR)/repair/phase6.c \ + $(TOPDIR)/repair/phase7.c \ + $(TOPDIR)/repair/rt.c \ + $(TOPDIR)/repair/sb.c \ + $(TOPDIR)/repair/scan.c \ + $(TOPDIR)/repair/versions.c \ + $(TOPDIR)/repair/xfs_repair.c \ $(TOPDIR)/rtcp/xfs_rtcp.c default: $(LINGUAS:%=%.mo) diff --git a/po/xfsprogs.pot b/po/xfsprogs.pot index e9372cc23..2bc936efd 100644 --- a/po/xfsprogs.pot +++ b/po/xfsprogs.pot @@ -1004,6 +1004,3238 @@ msgstr "" msgid "Bad log" msgstr "" +#, c-format +msgid "bad magic # 0x%x for agf %d\n" +msgstr "" + +#, c-format +msgid "bad version # %d for agf %d\n" +msgstr "" + +#, c-format +msgid "bad sequence # %d for agf %d\n" +msgstr "" + +#, c-format +msgid "bad length %d for agf %d, should be %d\n" +msgstr "" + +#, c-format +msgid "bad length %d for agf %d, should be %llu\n" +msgstr "" + +#, c-format +msgid "flfirst %d in agf %d too large (max = %d)\n" +msgstr "" + +#, c-format +msgid "fllast %d in agf %d too large (max = %d)\n" +msgstr "" + +#, c-format +msgid "bad magic # 0x%x for agi %d\n" +msgstr "" + +#, c-format +msgid "bad version # %d for agi %d\n" +msgstr "" + +#, c-format +msgid "bad sequence # %d for agi %d\n" +msgstr "" + +#, c-format +msgid "bad length # %d for agi %d, should be %d\n" +msgstr "" + +#, c-format +msgid "bad length # %d for agi %d, should be %llu\n" +msgstr "" + +#, c-format +msgid "zeroing unused portion of %s superblock (AG #%u)\n" +msgstr "" + +msgid "primary" +msgstr "" + +msgid "secondary" +msgstr "" + +#, c-format +msgid "would zero unused portion of %s superblock (AG #%u)\n" +msgstr "" + +#, c-format +msgid "bad flags field in superblock %d\n" +msgstr "" + +#, c-format +msgid "non-null user quota inode field in superblock %d\n" +msgstr "" + +#, c-format +msgid "non-null group quota inode field in superblock %d\n" +msgstr "" + +#, c-format +msgid "non-null quota flags in superblock %d\n" +msgstr "" + +#, c-format +msgid "bad shared version number in superblock %d\n" +msgstr "" + +#, c-format +msgid "bad inode alignment field in superblock %d\n" +msgstr "" + +#, c-format +msgid "bad stripe unit/width fields in superblock %d\n" +msgstr "" + +#, c-format +msgid "bad log/data device sector size fields in superblock %d\n" +msgstr "" + +#, c-format +msgid "bad on-disk superblock %d - %s\n" +msgstr "" + +#, c-format +msgid "primary/secondary superblock %d conflict - %s\n" +msgstr "" + +msgid "" +"entry contains illegal value in attribute named SGI_ACL_FILE or " +"SGI_ACL_DEFAULT\n" +msgstr "" + +msgid "entry contains illegal value in attribute named SGI_MAC_LABEL\n" +msgstr "" + +msgid "entry contains illegal value in attribute named SGI_CAP_FILE\n" +msgstr "" + +#, c-format +msgid "there are no attributes in the fork for inode %llu\n" +msgstr "" + +#, c-format +msgid "would junk the attribute fork since count is 0 for inode %llu\n" +msgstr "" + +msgid "zero length name entry in attribute fork," +msgstr "" + +#, c-format +msgid " truncating attributes for inode %llu to %d\n" +msgstr "" + +#, c-format +msgid " would truncate attributes for inode %llu to %d\n" +msgstr "" + +msgid "name or value attribute lengths are too large,\n" +msgstr "" + +msgid "entry contains illegal character in shortform attribute name\n" +msgstr "" + +msgid "entry has INCOMPLETE flag on in shortform attribute\n" +msgstr "" + +#, c-format +msgid "removing attribute entry %d for inode %llu\n" +msgstr "" + +#, c-format +msgid "would remove attribute entry %d for inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"would have corrected attribute entry count in inode %llu from %d to %d\n" +msgstr "" + +#, c-format +msgid "corrected attribute entry count in inode %llu, was %d, now %d\n" +msgstr "" + +#, c-format +msgid "would have corrected attribute totsize in inode %llu from %d to %d\n" +msgstr "" + +#, c-format +msgid "corrected attribute entry totsize in inode %llu, was %d, now %d\n" +msgstr "" + +#, c-format +msgid "remote block for attributes of inode %llu is missing\n" +msgstr "" + +#, c-format +msgid "can't read remote block for attributes of inode %llu\n" +msgstr "" + +#, c-format +msgid "bad attribute count %d in attr block %u, inode %llu\n" +msgstr "" + +#, c-format +msgid "bad attribute nameidx %d in attr block %u, inode %llu\n" +msgstr "" + +#, c-format +msgid "attribute entry #%d in attr block %u, inode %llu is INCOMPLETE\n" +msgstr "" + +#, c-format +msgid "" +"attribute entry %d in attr block %u, inode %llu claims already used space\n" +msgstr "" + +#, c-format +msgid "" +"attribute entry %d in attr block %u, inode %llu has bad name (namelen = %d)\n" +msgstr "" + +#, c-format +msgid "bad hashvalue for attribute entry %d in attr block %u, inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad security value for attribute entry %d in attr block %u, inode %llu\n" +msgstr "" + +#, c-format +msgid "inconsistent remote attribute entry %d in attr block %u, ino %llu\n" +msgstr "" + +#, c-format +msgid "cannot malloc enough for remotevalue attribute for inode %llu\n" +msgstr "" + +msgid "SKIPPING this remote attribute\n" +msgstr "" + +#, c-format +msgid "remote attribute get failed for entry %d, inode %llu\n" +msgstr "" + +#, c-format +msgid "remote attribute value check failed for entry %d, inode %llu\n" +msgstr "" + +#, c-format +msgid "attribute entry %d in attr block %u, inode %llu claims used space\n" +msgstr "" + +#, c-format +msgid "" +"- resetting first used heap value from %d to %d in block %u of attribute " +"fork of inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"- would reset first used value from %d to %d in block %u of attribute fork " +"of inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"- resetting usedbytes cnt from %d to %d in block %u of attribute fork of " +"inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"- would reset usedbytes cnt from %d to %d in block %u of attribute fork of " +"%llu\n" +msgstr "" + +#, c-format +msgid "can't map block %u for attribute fork for inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"can't read file block %u (fsbno %llu) for attribute fork of inode %llu\n" +msgstr "" + +#, c-format +msgid "bad attribute leaf magic %#x for inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad sibling back pointer for block %u in attribute fork for inode %llu\n" +msgstr "" + +#, c-format +msgid "bad hash path in attribute fork for inode %llu\n" +msgstr "" + +#, c-format +msgid "block 0 of inode %llu attribute fork is missing\n" +msgstr "" + +#, c-format +msgid "agno of attribute fork of inode %llu out of regular partition\n" +msgstr "" + +#, c-format +msgid "can't read block 0 of inode %llu attribute fork\n" +msgstr "" + +#, c-format +msgid "clearing forw/back pointers in block 0 for attributes in inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"would clear forw/back pointers in block 0 for attributes in inode %llu\n" +msgstr "" + +#, c-format +msgid "bad attribute leaf magic # %#x for dir ino %llu\n" +msgstr "" + +#, c-format +msgid "illegal attribute format %d, ino %llu\n" +msgstr "" + +#, c-format +msgid "avl_insert: Warning! duplicate range [%llu,%llu]\n" +msgstr "" + +#, c-format +msgid "realloc failed in blkent_append (%u bytes)\n" +msgstr "" + +#, c-format +msgid "malloc failed in blkent_new (%u bytes)\n" +msgstr "" + +#, c-format +msgid "malloc failed in blkent_prepend (%u bytes)\n" +msgstr "" + +#, c-format +msgid "malloc failed in blkmap_alloc (%u bytes)\n" +msgstr "" + +#, c-format +msgid "blkmap_getn realloc failed (%u bytes)\n" +msgstr "" + +#, c-format +msgid "realloc failed in blkmap_grow (%u bytes)\n" +msgstr "" + +#, c-format +msgid "cannot read agbno (%u/%u), disk block %lld\n" +msgstr "" + +#, c-format +msgid "uncertain inode block %d/%d already known\n" +msgstr "" + +#, c-format +msgid "inode block %d/%d multiply claimed, (state %d)\n" +msgstr "" + +#, c-format +msgid "inode block %d/%d bad state, (state %d)\n" +msgstr "" + +#, c-format +msgid "uncertain inode block overlap, agbno = %d, ino = %llu\n" +msgstr "" + +#, c-format +msgid "uncertain inode block %llu already known\n" +msgstr "" + +#, c-format +msgid "cannot read inode %llu, disk block %lld, cnt %d\n" +msgstr "" + +#, c-format +msgid "can't read inode %llu, disk block %lld, cnt %d\n" +msgstr "" + +#, c-format +msgid "bad state in block map %d\n" +msgstr "" + +#, c-format +msgid "inode block %llu multiply claimed, state was %d\n" +msgstr "" + +#, c-format +msgid "imap claims in-use inode %llu is free, " +msgstr "" + +msgid "correcting imap\n" +msgstr "" + +msgid "would correct imap\n" +msgstr "" + +#, c-format +msgid "cleared root inode %llu\n" +msgstr "" + +#, c-format +msgid "would clear root inode %llu\n" +msgstr "" + +#, c-format +msgid "cleared realtime bitmap inode %llu\n" +msgstr "" + +#, c-format +msgid "would clear realtime bitmap inode %llu\n" +msgstr "" + +#, c-format +msgid "cleared realtime summary inode %llu\n" +msgstr "" + +#, c-format +msgid "would clear realtime summary inode %llu\n" +msgstr "" + +#, c-format +msgid "cleared inode %llu\n" +msgstr "" + +#, c-format +msgid "would have cleared inode %llu\n" +msgstr "" + +msgid "found inodes not in the inode allocation tree\n" +msgstr "" + +msgid "Unknown inode format.\n" +msgstr "" + +#, c-format +msgid "clearing inode %llu attributes\n" +msgstr "" + +#, c-format +msgid "would have cleared inode %llu attributes\n" +msgstr "" + +msgid "data" +msgstr "" + +msgid "attr" +msgstr "" + +msgid "real-time" +msgstr "" + +msgid "regular" +msgstr "" + +#, c-format +msgid "" +"bmap rec out of order, inode %llu entry %d [o s c] [%llu %llu %llu], %d " +"[%llu %llu %llu]\n" +msgstr "" + +#, c-format +msgid "zero length extent (off = %llu, fsbno = %llu) in ino %llu\n" +msgstr "" + +#, c-format +msgid "inode %llu - bad rt extent start block number %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "inode %llu - bad rt extent last block number %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "" +"inode %llu - bad rt extent overflows - start %llu, end %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "inode %llu - bad extent starting block number %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "inode %llu - bad extent last block number %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "inode %llu - bad extent overflows - start %llu, end %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "" +"inode %llu - extent offset too large - start %llu, count %llu, offset %llu\n" +msgstr "" + +#, c-format +msgid "malformed rt inode extent [%llu %llu] (fs rtext size = %u)\n" +msgstr "" + +#, c-format +msgid "" +"data fork in rt ino %llu claims dup rt extent, off - %llu, start - %llu, " +"count %llu\n" +msgstr "" + +#, c-format +msgid "bad state in rt block map %llu\n" +msgstr "" + +#, c-format +msgid "%s fork in rt inode %llu found metadata block %llu in %s bmap\n" +msgstr "" + +#, c-format +msgid "%s fork in rt inode %llu claims used rt block %llu\n" +msgstr "" + +#, c-format +msgid "illegal state %d in %s block map %llu\n" +msgstr "" + +#, c-format +msgid "" +"%s fork in ino %llu claims dup extent, off - %llu, start - %llu, cnt %llu\n" +msgstr "" + +#, c-format +msgid "%s fork in ino %llu claims free block %llu\n" +msgstr "" + +#, c-format +msgid "bad state in block map %llu\n" +msgstr "" + +#, c-format +msgid "%s fork in inode %llu claims metadata block %llu\n" +msgstr "" + +#, c-format +msgid "%s fork in %s inode %llu claims used block %llu\n" +msgstr "" + +#, c-format +msgid "illegal state %d in block map %llu\n" +msgstr "" + +#, c-format +msgid "cannot read inode (%u/%u), disk block %lld\n" +msgstr "" + +#, c-format +msgid "cannot read bmap block %llu\n" +msgstr "" + +#, c-format +msgid "# of bmap records in inode %llu exceeds max (%u, max - %u)\n" +msgstr "" + +#, c-format +msgid "" +"- # of bmap records in inode %llu less than minimum (%u, min - %u), " +"proceeding ...\n" +msgstr "" + +#, c-format +msgid "# of bmap records in inode %llu greater than maximum (%u, max - %u)\n" +msgstr "" + +#, c-format +msgid "" +"- # of bmap records in inode %llu less than minimum (%u, min - %u), " +"continuing...\n" +msgstr "" + +#, c-format +msgid "could not map block %llu\n" +msgstr "" + +#, c-format +msgid "get_bmapi() called for local inode %llu\n" +msgstr "" + +#, c-format +msgid "bad inode format for inode %llu\n" +msgstr "" + +#, c-format +msgid "bad level 0 in inode %llu bmap btree root block\n" +msgstr "" + +#, c-format +msgid "" +"indicated size of %s btree root (%d bytes) greater than space in inode %llu " +"%s fork\n" +msgstr "" + +#, c-format +msgid "bad bmap btree ptr 0x%llx in ino %llu\n" +msgstr "" + +#, c-format +msgid "" +"correcting key in bmbt root (was %llu, now %llu) in inode %llu %s fork\n" +msgstr "" + +#, c-format +msgid "" +"bad key in bmbt root (is %llu, would reset to %llu) in inode %llu %s fork\n" +msgstr "" + +#, c-format +msgid "out of order bmbt root key %llu in inode %llu %s fork\n" +msgstr "" + +#, c-format +msgid "bad fwd (right) sibling pointer (saw %llu should be NULLDFSBNO)\n" +msgstr "" + +#, c-format +msgid "\tin inode %u (%s fork) bmap btree block %llu\n" +msgstr "" + +#, c-format +msgid "local inode %llu data fork is too large (size = %lld, max = %d)\n" +msgstr "" + +#, c-format +msgid "local inode %llu attr fork too large (size %d, max = %d)\n" +msgstr "" + +#, c-format +msgid "local inode %llu attr too small (size = %d, min size = %d)\n" +msgstr "" + +#, c-format +msgid "mismatch between format (%d) and size (%lld) in symlink ino %llu\n" +msgstr "" + +#, c-format +msgid "mismatch between format (%d) and size (%lld) in symlink inode %llu\n" +msgstr "" + +#, c-format +msgid "bad number of extents (%d) in symlink %llu data fork\n" +msgstr "" + +#, c-format +msgid "bad extent #%d offset (%llu) in symlink %llu data fork\n" +msgstr "" + +#, c-format +msgid "bad extent #%d count (%llu) in symlink %llu data fork\n" +msgstr "" + +#, c-format +msgid "symlink in inode %llu too long (%lld chars)\n" +msgstr "" + +#, c-format +msgid "cannot read inode %llu, file block %d, disk block %llu\n" +msgstr "" + +#, c-format +msgid "found illegal null character in symlink inode %llu\n" +msgstr "" + +#, c-format +msgid "component of symlink in inode %llu too long\n" +msgstr "" + +#, c-format +msgid "inode %llu has bad inode type (IFMNT)\n" +msgstr "" + +#, c-format +msgid "size of character device inode %llu != 0 (%lld bytes)\n" +msgstr "" + +#, c-format +msgid "size of block device inode %llu != 0 (%lld bytes)\n" +msgstr "" + +#, c-format +msgid "size of socket inode %llu != 0 (%lld bytes)\n" +msgstr "" + +#, c-format +msgid "size of fifo inode %llu != 0 (%lld bytes)\n" +msgstr "" + +#, c-format +msgid "Internal error - process_misc_ino_types, illegal type %d\n" +msgstr "" + +#, c-format +msgid "size of character device inode %llu != 0 (%llu blocks)\n" +msgstr "" + +#, c-format +msgid "size of block device inode %llu != 0 (%llu blocks)\n" +msgstr "" + +#, c-format +msgid "size of socket inode %llu != 0 (%llu blocks)\n" +msgstr "" + +#, c-format +msgid "size of fifo inode %llu != 0 (%llu blocks)\n" +msgstr "" + +#, c-format +msgid "bad magic number 0x%x on inode %llu, " +msgstr "" + +msgid "resetting magic number\n" +msgstr "" + +msgid "would reset magic number\n" +msgstr "" + +#, c-format +msgid "bad magic number 0x%x on inode %llu\n" +msgstr "" + +#, c-format +msgid "bad version number 0x%x on inode %llu, " +msgstr "" + +msgid "resetting version number\n" +msgstr "" + +msgid "would reset version number\n" +msgstr "" + +#, c-format +msgid "bad version number 0x%x on inode %llu\n" +msgstr "" + +#, c-format +msgid "bad (negative) size %lld on inode %llu\n" +msgstr "" + +#, c-format +msgid "imap claims a free inode %llu is in use, " +msgstr "" + +msgid "correcting imap and clearing inode\n" +msgstr "" + +msgid "would correct imap and clear inode\n" +msgstr "" + +#, c-format +msgid "bad inode format in inode %llu\n" +msgstr "" + +#, c-format +msgid "Unexpected inode type %#o inode %llu\n" +msgstr "" + +#, c-format +msgid "bad inode type for root inode %llu, " +msgstr "" + +msgid "resetting to directory\n" +msgstr "" + +msgid "would reset to directory\n" +msgstr "" + +msgid "summary" +msgstr "" + +msgid "bitmap" +msgstr "" + +#, c-format +msgid "user quota inode has bad type 0x%x\n" +msgstr "" + +#, c-format +msgid "group quota inode has bad type 0x%x\n" +msgstr "" + +#, c-format +msgid "bad inode type for realtime %s inode %llu, " +msgstr "" + +msgid "resetting to regular file\n" +msgstr "" + +msgid "would reset to regular file\n" +msgstr "" + +#, c-format +msgid "bad non-zero extent size value %u for non-realtime inode %llu, " +msgstr "" + +msgid "resetting to zero\n" +msgstr "" + +msgid "would reset to zero\n" +msgstr "" + +#, c-format +msgid "bad size %llu for realtime %s inode %llu\n" +msgstr "" + +#, c-format +msgid "bad # of extents (%u) for realtime %s inode %llu\n" +msgstr "" + +#, c-format +msgid "mismatch between format (%d) and size (%lld) in directory ino %llu\n" +msgstr "" + +#, c-format +msgid "bad data fork in symlink %llu\n" +msgstr "" + +#, c-format +msgid "found inode %llu claiming to be a real-time file\n" +msgstr "" + +#, c-format +msgid "realtime bitmap inode %llu has bad size %lld (should be %lld)\n" +msgstr "" + +#, c-format +msgid "realtime summary inode %llu has bad size %lld (should be %d)\n" +msgstr "" + +#, c-format +msgid "bad attr fork offset %d in dev inode %llu, should be %d\n" +msgstr "" + +#, c-format +msgid "bad attr fork offset %d in uuid inode %llu, should be %d\n" +msgstr "" + +#, c-format +msgid "bad attr fork offset %d in inode %llu, should be %d\n" +msgstr "" + +#, c-format +msgid "unexpected inode format %d\n" +msgstr "" + +#, c-format +msgid "unknown format %d, ino %llu (mode = %d)\n" +msgstr "" + +#, c-format +msgid "bad data fork in inode %llu\n" +msgstr "" + +#, c-format +msgid "bad attribute format %d in inode %llu, " +msgstr "" + +msgid "resetting value\n" +msgstr "" + +msgid "would reset value\n" +msgstr "" + +#, c-format +msgid "bad attribute fork in inode %llu" +msgstr "" + +msgid ", clearing attr fork\n" +msgstr "" + +msgid ", would clear attr fork\n" +msgstr "" + +#, c-format +msgid "illegal attribute fmt %d, ino %llu\n" +msgstr "" + +#, c-format +msgid "problem with attribute contents in inode %llu\n" +msgstr "" + +msgid "would clear attr fork\n" +msgstr "" + +#, c-format +msgid "correcting nblocks for inode %llu, was %llu - counted %llu\n" +msgstr "" + +#, c-format +msgid "bad nblocks %llu for inode %llu, would reset to %llu\n" +msgstr "" + +#, c-format +msgid "too many data fork extents (%llu) in inode %llu\n" +msgstr "" + +#, c-format +msgid "correcting nextents for inode %llu, was %d - counted %llu\n" +msgstr "" + +#, c-format +msgid "bad nextents %d for inode %llu, would reset to %llu\n" +msgstr "" + +#, c-format +msgid "too many attr fork extents (%llu) in inode %llu\n" +msgstr "" + +#, c-format +msgid "correcting anextents for inode %llu, was %d - counted %llu\n" +msgstr "" + +#, c-format +msgid "bad anextents %d for inode %llu, would reset to %llu\n" +msgstr "" + +#, c-format +msgid "problem with directory contents in inode %llu\n" +msgstr "" + +#, c-format +msgid "problem with symbolic link in inode %llu\n" +msgstr "" + +msgid "Unexpected inode type\n" +msgstr "" + +#, c-format +msgid "version 2 inode %llu claims > %u links, " +msgstr "" + +msgid "updating superblock version number\n" +msgstr "" + +msgid "would update superblock version number\n" +msgstr "" + +#, c-format +msgid "WARNING: version 2 inode %llu claims > %u links, " +msgstr "" + +#, c-format +msgid "" +"converting back to version 1,\n" +"\tthis may destroy %d links\n" +msgstr "" + +#, c-format +msgid "" +"would convert back to version 1,\n" +"\tthis might destroy %d links\n" +msgstr "" + +#, c-format +msgid "found version 2 inode %llu, " +msgstr "" + +msgid "converting back to version 1\n" +msgstr "" + +msgid "would convert back to version 1\n" +msgstr "" + +#, c-format +msgid "clearing obsolete nlink field in version 2 inode %llu, was %d, now 0\n" +msgstr "" + +#, c-format +msgid "" +"would clear obsolete nlink field in version 2 inode %llu, currently %d\n" +msgstr "" + +#, c-format +msgid "invalid inode number %llu in directory %llu\n" +msgstr "" + +#, c-format +msgid "entry in shortform dir %llu references rt bitmap inode %llu\n" +msgstr "" + +#, c-format +msgid "entry in shortform dir %llu references rt summary inode %llu\n" +msgstr "" + +#, c-format +msgid "entry in shortform dir %llu references user quota inode %llu\n" +msgstr "" + +#, c-format +msgid "entry in shortform dir %llu references group quota inode %llu\n" +msgstr "" + +#, c-format +msgid "entry references free inode %llu in shortform directory %llu\n" +msgstr "" + +#, c-format +msgid "entry references non-existent inode %llu in shortform dir %llu\n" +msgstr "" + +#, c-format +msgid "zero length entry in shortform dir %llu, resetting to %d\n" +msgstr "" + +#, c-format +msgid "zero length entry in shortform dir %llu, would set to %d\n" +msgstr "" + +#, c-format +msgid "zero length entry in shortform dir %llu, " +msgstr "" + +#, c-format +msgid "junking %d entries\n" +msgstr "" + +#, c-format +msgid "would junk %d entries\n" +msgstr "" + +#, c-format +msgid "size of last entry overflows space left in in shortform dir %llu, " +msgstr "" + +#, c-format +msgid "resetting to %d\n" +msgstr "" + +#, c-format +msgid "would reset to %d\n" +msgstr "" + +#, c-format +msgid "size of entry #%d overflows space left in in shortform dir %llu\n" +msgstr "" + +#, c-format +msgid "junking entry #%d\n" +msgstr "" + +#, c-format +msgid "would junk entry #%d\n" +msgstr "" + +#, c-format +msgid "entry contains illegal character in shortform dir %llu\n" +msgstr "" + +#, c-format +msgid "junking entry \"%s\" in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "would have junked entry \"%s\" in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "would have corrected entry count in directory %llu from %d to %d\n" +msgstr "" + +#, c-format +msgid "corrected entry count in directory %llu, was %d, now %d\n" +msgstr "" + +#, c-format +msgid "would have corrected directory %llu size from %lld to %lld\n" +msgstr "" + +#, c-format +msgid "corrected directory %llu size, was %lld, now %lld\n" +msgstr "" + +#, c-format +msgid "bogus .. inode number (%llu) in directory inode %llu, " +msgstr "" + +msgid "clearing inode number\n" +msgstr "" + +msgid "would clear inode number\n" +msgstr "" + +#, c-format +msgid "corrected root directory %llu .. entry, was %llu, now %llu\n" +msgstr "" + +#, c-format +msgid "would have corrected root directory %llu .. entry from %llu to %llu\n" +msgstr "" + +#, c-format +msgid "bad .. entry in dir ino %llu, points to self, " +msgstr "" + +#, c-format +msgid "bad range claimed [%d, %d) in da block\n" +msgstr "" + +#, c-format +msgid "byte range end [%d %d) in da block larger than blocksize %d\n" +msgstr "" + +#, c-format +msgid "multiply claimed byte %d in da block\n" +msgstr "" + +#, c-format +msgid "hole (start %d, len %d) out of range, block %d, dir ino %llu\n" +msgstr "" + +#, c-format +msgid "hole claims used byte %d, block %d, dir ino %llu\n" +msgstr "" + +#, c-format +msgid "- derived hole value %d, saw %d, block %d, dir ino %llu\n" +msgstr "" + +#, c-format +msgid "" +"- derived hole (base %d, size %d) in block %d, dir inode %llu not found\n" +msgstr "" + +#, c-format +msgid "can't read block %u (fsbno %llu) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "can't read block %u (fsbno %llu) for attrbute fork of inode %llu\n" +msgstr "" + +#, c-format +msgid "bad dir/attr magic number in inode %llu, file bno = %u, fsbno = %llu\n" +msgstr "" + +#, c-format +msgid "bad record count in inode %llu, count = %d, max = %d\n" +msgstr "" + +#, c-format +msgid "bad directory btree for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad attribute fork btree for inode %llu\n" +msgstr "" + +#, c-format +msgid "release_da_cursor_int got unexpected non-null bp, dabno = %u\n" +msgstr "" + +#, c-format +msgid "bmap of block #%u of inode %llu failed\n" +msgstr "" + +#, c-format +msgid "directory/attribute block used/count inconsistency - %d/%hu\n" +msgstr "" + +#, c-format +msgid "" +"directory/attribute block hashvalue inconsistency, expected > %u / saw %u\n" +msgstr "" + +#, c-format +msgid "bad directory/attribute forward block pointer, expected 0, saw %u\n" +msgstr "" + +#, c-format +msgid "bad directory block in dir ino %llu\n" +msgstr "" + +#, c-format +msgid "" +"correcting bad hashval in non-leaf dir/attr block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "" +"would correct bad hashval in non-leaf dir/attr block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "can't get map info for block %u of directory inode %llu\n" +msgstr "" + +#, c-format +msgid "can't read block %u (%llu) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad magic number %x in block %u (%llu) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad back pointer in block %u (%llu) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "entry count %d too large in block %u (%llu) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad level %d in block %u (%llu) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"correcting bad hashval in interior dir/attr block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "" +"would correct bad hashval in interior dir/attr block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "marking bad entry in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "deleting zero length entry in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "deleting entry in directory inode %llu\n" +msgstr "" + +msgid "couldn't allocate directory block freemap\n" +msgstr "" + +#, c-format +msgid "" +"directory block header conflicts with used space in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"nameidx %d for entry #%d, bno %d, ino %llu > fs blocksize, deleting entry\n" +msgstr "" + +#, c-format +msgid "" +"nameidx %d, entry #%d, bno %d, ino %llu > fs blocksize, marking entry bad\n" +msgstr "" + +#, c-format +msgid "" +"nameidx %d, entry #%d, bno %d, ino %llu > fs blocksize, would delete entry\n" +msgstr "" + +#, c-format +msgid "invalid ino number %llu in dir ino %llu, entry #%d, bno %d\n" +msgstr "" + +#, c-format +msgid "\tclearing ino number in entry %d...\n" +msgstr "" + +#, c-format +msgid "\twould clear ino number in entry %d...\n" +msgstr "" + +#, c-format +msgid "" +"entry #%d, bno %d in directory %llu references realtime bitmap inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"entry #%d, bno %d in directory %llu references realtime summary inode %llu\n" +msgstr "" + +#, c-format +msgid "entry #%d, bno %d in directory %llu references user quota inode %llu\n" +msgstr "" + +#, c-format +msgid "entry #%d, bno %d in directory %llu references group quota inode %llu\n" +msgstr "" + +#, c-format +msgid "entry references free inode %llu in directory %llu, will clear entry\n" +msgstr "" + +#, c-format +msgid "entry references free inode %llu in directory %llu, would clear entry\n" +msgstr "" + +#, c-format +msgid "bad ino number %llu in dir ino %llu, entry #%d, bno %d\n" +msgstr "" + +msgid "clearing inode number...\n" +msgstr "" + +msgid "would clear inode number...\n" +msgstr "" + +#, c-format +msgid "entry #%d, dir inode %llu, has zero-len name, deleting entry\n" +msgstr "" + +#, c-format +msgid "entry #%d, dir inode %llu, has zero-len name, marking entry bad\n" +msgstr "" + +#, c-format +msgid "" +"bad size, entry #%d in dir inode %llu, block %u -- entry overflows block\n" +msgstr "" + +#, c-format +msgid "" +"dir entry slot %d in block %u conflicts with used space in dir inode %llu\n" +msgstr "" + +#, c-format +msgid "illegal name \"%s\" in directory inode %llu, entry will be cleared\n" +msgstr "" + +#, c-format +msgid "illegal name \"%s\" in directory inode %llu, entry would be cleared\n" +msgstr "" + +#, c-format +msgid "\tmismatched hash value for entry \"%s\"\n" +msgstr "" + +#, c-format +msgid "\t\tin directory inode %llu. resetting hash value.\n" +msgstr "" + +#, c-format +msgid "\t\tin directory inode %llu. would reset hash value.\n" +msgstr "" + +#, c-format +msgid "\tbad hash ordering for entry \"%s\"\n" +msgstr "" + +#, c-format +msgid "\t\tin directory inode %llu. will clear entry\n" +msgstr "" + +#, c-format +msgid "\t\tin directory inode %llu. would clear entry\n" +msgstr "" + +#, c-format +msgid "" +"name \"%s\" (block %u, slot %d) conflicts with used space in dir inode %llu\n" +msgstr "" + +#, c-format +msgid "will clear entry \"%s\" (#%d) in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "would clear entry \"%s\" (#%d)in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad .. entry in dir ino %llu, points to self" +msgstr "" + +msgid "will clear entry\n" +msgstr "" + +msgid "would clear entry\n" +msgstr "" + +#, c-format +msgid "correcting .. entry in root inode %llu, was %llu\n" +msgstr "" + +#, c-format +msgid "bad .. entry (%llu) in root inode %llu should be %llu\n" +msgstr "" + +#, c-format +msgid "multiple .. entries in directory inode %llu, will clear second entry\n" +msgstr "" + +#, c-format +msgid "multiple .. entries in directory inode %llu, would clear second entry\n" +msgstr "" + +#, c-format +msgid ". in directory inode %llu has wrong value (%llu), fixing entry...\n" +msgstr "" + +#, c-format +msgid ". in directory inode %llu has wrong value (%llu)\n" +msgstr "" + +#, c-format +msgid "multiple . entries in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "will clear one . entry in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "would clear one . entry in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in directory inode %llu points to self, " +msgstr "" + +#, c-format +msgid "" +"- resetting first used heap value from %d to %d in block %u of dir ino %llu\n" +msgstr "" + +#, c-format +msgid "" +"- would reset first used value from %d to %d in block %u of dir ino %llu\n" +msgstr "" + +#, c-format +msgid "- resetting namebytes cnt from %d to %d in block %u of dir inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"- would reset namebytes cnt from %d to %d in block %u of dir inode %llu\n" +msgstr "" + +#, c-format +msgid "- found unexpected lost holes in block %u, dir inode %llu\n" +msgstr "" + +#, c-format +msgid "- hole info non-optimal in block %u, dir inode %llu\n" +msgstr "" + +#, c-format +msgid "- hole info incorrect in block %u, dir inode %llu\n" +msgstr "" + +#, c-format +msgid "- existing hole info for block %d, dir inode %llu (base, size) - \n" +msgstr "" + +#, c-format +msgid "- holes flag = %d\n" +msgstr "" + +#, c-format +msgid "- compacting block %u in dir inode %llu\n" +msgstr "" + +#, c-format +msgid "not enough space in block %u of dir inode %llu for all entries\n" +msgstr "" + +#, c-format +msgid "- would compact block %u in dir inode %llu\n" +msgstr "" + +#, c-format +msgid "can't map block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"can't read file block %u (fsbno %llu, daddr %lld) for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad directory leaf magic # %#x for dir ino %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad sibling back pointer for directory block %u in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad hash path in directory %llu\n" +msgstr "" + +#, c-format +msgid "out of range internal directory block numbers (inode %llu)\n" +msgstr "" + +#, c-format +msgid "setting directory inode (%llu) size to %llu bytes, was %lld bytes\n" +msgstr "" + +#, c-format +msgid "block 0 for directory inode %llu is missing\n" +msgstr "" + +#, c-format +msgid "can't read block 0 for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "clearing forw/back pointers for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "would clear forw/back pointers for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "no . entry for directory %llu\n" +msgstr "" + +#, c-format +msgid "no .. entry for directory %llu\n" +msgstr "" + +#, c-format +msgid "no .. entry for root directory %llu\n" +msgstr "" + +#, c-format +msgid "malloc failed (%u bytes) dir2_add_badlist:ino %llu\n" +msgstr "" + +msgid "couldn't malloc dir2 buffer list\n" +msgstr "" + +msgid "couldn't malloc dir2 buffer header\n" +msgstr "" + +msgid "couldn't malloc dir2 buffer data\n" +msgstr "" + +#, c-format +msgid "can't read block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "found non-root LEAFN node in inode %llu bno = %u\n" +msgstr "" + +#, c-format +msgid "LEAFN node level is %d inode %llu bno = %u\n" +msgstr "" + +#, c-format +msgid "bad dir magic number 0x%x in inode %llu bno = %u\n" +msgstr "" + +#, c-format +msgid "release_dir2_cursor_int got unexpected non-null bp, dabno = %u\n" +msgstr "" + +#, c-format +msgid "directory block used/count inconsistency - %d / %hu\n" +msgstr "" + +#, c-format +msgid "bad directory block in inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"correcting bad hashval in non-leaf dir block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "" +"would correct bad hashval in non-leaf dir block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "bad magic number %x in block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad back pointer in block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "entry count %d too large in block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad level %d in block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"correcting bad hashval in interior dir block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +#, c-format +msgid "" +"would correct bad hashval in interior dir block\n" +"\tin (level %d) in inode %llu.\n" +msgstr "" + +msgid "couldn't malloc dir2 shortform copy\n" +msgstr "" + +msgid "current" +msgstr "" + +msgid "invalid" +msgstr "" + +msgid "realtime bitmap" +msgstr "" + +msgid "realtime summary" +msgstr "" + +msgid "user quota" +msgstr "" + +msgid "group quota" +msgstr "" + +msgid "free" +msgstr "" + +msgid "non-existent" +msgstr "" + +#, c-format +msgid "entry \"%*.*s\" in shortform directory %llu references %s inode %llu\n" +msgstr "" + +#, c-format +msgid "zero length entry in shortform dir %llu" +msgstr "" + +#, c-format +msgid ", junking %d entries\n" +msgstr "" + +#, c-format +msgid ", would junk %d entries\n" +msgstr "" + +#, c-format +msgid "entry contains offset out of order in shortform dir %llu\n" +msgstr "" + +#, c-format +msgid "would have corrected i8 count in directory %llu from %d to %d\n" +msgstr "" + +#, c-format +msgid "corrected i8 count in directory %llu, was %d, now %d\n" +msgstr "" + +#, c-format +msgid "directory %llu offsets too high\n" +msgstr "" + +#, c-format +msgid "would have corrected entry offsets in directory %llu\n" +msgstr "" + +#, c-format +msgid "corrected entry offsets in directory %llu\n" +msgstr "" + +#, c-format +msgid "bad .. entry in directory inode %llu, points to self, " +msgstr "" + +#, c-format +msgid "corrupt block %u in directory inode %llu\n" +msgstr "" + +msgid "\twill junk block\n" +msgstr "" + +msgid "\twould junk block\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%*.*s\" at block %u offset %d in directory inode %llu references %s " +"inode %llu\n" +msgstr "" + +#, c-format +msgid "entry at block %u offset %d in directory inode %llu has 0 namelength\n" +msgstr "" + +#, c-format +msgid "\tclearing inode number in entry at offset %d...\n" +msgstr "" + +#, c-format +msgid "\twould clear inode number in entry at offset %d...\n" +msgstr "" + +#, c-format +msgid "" +"entry at block %u offset %d in directory inode %llu has illegal name " +"\"%*.*s\": " +msgstr "" + +#, c-format +msgid "bad .. entry in directory inode %llu, points to self: " +msgstr "" + +#, c-format +msgid "bad .. entry in root directory inode %llu, was %llu: " +msgstr "" + +msgid "correcting\n" +msgstr "" + +msgid "would correct\n" +msgstr "" + +#, c-format +msgid "multiple .. entries in directory inode %llu: " +msgstr "" + +#, c-format +msgid "bad . entry in directory inode %llu, was %llu: " +msgstr "" + +#, c-format +msgid "multiple . entries in directory inode %llu: " +msgstr "" + +#, c-format +msgid "entry \"%*.*s\" in directory inode %llu points to self: " +msgstr "" + +msgid "clearing entry\n" +msgstr "" + +#, c-format +msgid "bad bestfree table in block %u in directory inode %llu: " +msgstr "" + +msgid "repairing table\n" +msgstr "" + +msgid "would repair table\n" +msgstr "" + +#, c-format +msgid "block %u for directory inode %llu is missing\n" +msgstr "" + +#, c-format +msgid "bad directory block magic # %#x in block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad entry count in block %u of directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad hash ordering in block %u of directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad stale count in block %u of directory inode %llu\n" +msgstr "" + +#, c-format +msgid "can't read file block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad directory leaf magic # %#x for directory inode %llu block %u\n" +msgstr "" + +#, c-format +msgid "bad sibling back pointer for block %u in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "block %llu for directory inode %llu is missing\n" +msgstr "" + +#, c-format +msgid "can't read block %llu for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad directory block magic # %#x in block %llu for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad size/format for directory %llu\n" +msgstr "" + +msgid "couldn't malloc dir stack element, try more swap\n" +msgstr "" + +msgid "couldn't allocate block map pointers\n" +msgstr "" + +#, c-format +msgid "couldn't allocate block map, size = %d\n" +msgstr "" + +#, c-format +msgid "couldn't allocate realtime block map, size = %llu\n" +msgstr "" + +msgid "couldn't allocate new extent descriptors.\n" +msgstr "" + +msgid "duplicate bno extent range\n" +msgstr "" + +msgid ": duplicate bno extent range\n" +msgstr "" + +msgid "duplicate extent range\n" +msgstr "" + +msgid "couldn't malloc dup extent tree descriptor table\n" +msgstr "" + +msgid "couldn't malloc free by-bno extent tree descriptor table\n" +msgstr "" + +msgid "couldn't malloc free by-bcnt extent tree descriptor table\n" +msgstr "" + +msgid "couldn't malloc dup extent tree descriptor\n" +msgstr "" + +msgid "couldn't malloc bno extent tree descriptor\n" +msgstr "" + +msgid "couldn't malloc bcnt extent tree descriptor\n" +msgstr "" + +msgid "couldn't malloc dup rt extent tree descriptor\n" +msgstr "" + +msgid "inode map malloc failed\n" +msgstr "" + +msgid "add_aginode_uncertain - duplicate inode range\n" +msgstr "" + +msgid "add_inode - duplicate inode range\n" +msgstr "" + +msgid "good inode list is --\n" +msgstr "" + +msgid "uncertain inode list is --\n" +msgstr "" + +#, c-format +msgid "agno %d -- no inodes\n" +msgstr "" + +#, c-format +msgid "agno %d\n" +msgstr "" + +#, c-format +msgid "\tptr = %lx, start = 0x%x, free = 0x%llx, confirmed = 0x%llx\n" +msgstr "" + +msgid "couldn't malloc parent list table\n" +msgstr "" + +msgid "couldn't memalign pentries table\n" +msgstr "" + +msgid "couldn't malloc ino rec backptrs.\n" +msgstr "" + +msgid "could not malloc back pointer table\n" +msgstr "" + +msgid "couldn't malloc inode tree descriptor table\n" +msgstr "" + +msgid "couldn't malloc uncertain ino tree descriptor table\n" +msgstr "" + +msgid "couldn't malloc inode tree descriptor\n" +msgstr "" + +msgid "couldn't malloc uncertain ino tree descriptor\n" +msgstr "" + +msgid "couldn't malloc uncertain inode cache area\n" +msgstr "" + +#, c-format +msgid "you should never get this message - %s" +msgstr "" + +msgid "couldn't initialize XFS library\n" +msgstr "" + +#, c-format +msgid "couldn't open filesystem \"%s\"\n" +msgstr "" + +msgid "couldn't malloc io buffer\n" +msgstr "" + +msgid "couldn't malloc secondary io buffer\n" +msgstr "" + +msgid "couldn't malloc sb io buffers\n" +msgstr "" + +msgid "Sorry, could not find valid secondary superblock\n" +msgstr "" + +msgid "Exiting now.\n" +msgstr "" + +#, c-format +msgid "could not allocate ag header buffer (%d bytes)\n" +msgstr "" + +msgid "Phase 1 - find and verify superblock...\n" +msgstr "" + +msgid "error reading primary superblock\n" +msgstr "" + +#, c-format +msgid "bad primary superblock - %s !!!\n" +msgstr "" + +#, c-format +msgid "couldn't verify primary superblock - %s !!!\n" +msgstr "" + +msgid "writing modified primary superblock\n" +msgstr "" + +msgid "would write modified primary superblock\n" +msgstr "" + +#, c-format +msgid "" +"zero_log: cannot find log head/tail (xlog_find_tail=%d), zeroing it anyway\n" +msgstr "" + +#, c-format +msgid "zero_log: head block %lld tail block %lld\n" +msgstr "" + +msgid "" +"ALERT: The filesystem has valuable metadata changes in a log which is being\n" +"destroyed because the -L option was used.\n" +msgstr "" + +msgid "" +"ERROR: The filesystem has valuable metadata changes in a log which needs to\n" +"be replayed. Mount the filesystem to replay the log, and unmount it before\n" +"re-running xfs_repair. If you are unable to mount the filesystem, then use\n" +"the -L option to destroy the log and attempt a repair.\n" +"Note that destroying the log may cause corruption -- please attempt a mount\n" +"of the filesystem before doing this.\n" +msgstr "" + +msgid "" +"This filesystem has an external log. Specify log device with the -l " +"option.\n" +msgstr "" + +#, c-format +msgid "Phase 2 - using external log on %s\n" +msgstr "" + +msgid "Phase 2 - using internal log\n" +msgstr "" + +msgid " - zero log...\n" +msgstr "" + +msgid " - scan filesystem freespace and inode maps...\n" +msgstr "" + +msgid "root inode chunk not found\n" +msgstr "" + +msgid " - found root inode chunk\n" +msgstr "" + +msgid "root inode marked free, " +msgstr "" + +msgid "realtime bitmap inode marked free, " +msgstr "" + +msgid "realtime summary inode marked free, " +msgstr "" + +#, c-format +msgid "cannot read agi block %lld for ag %u\n" +msgstr "" + +#, c-format +msgid "error following ag %d unlinked list\n" +msgstr "" + +msgid "Phase 3 - for each AG...\n" +msgstr "" + +msgid " - scan and clear agi unlinked lists...\n" +msgstr "" + +msgid " - scan (but don't clear) agi unlinked lists...\n" +msgstr "" + +msgid " - process known inodes and perform inode discovery...\n" +msgstr "" + +#, c-format +msgid " - agno = %d\n" +msgstr "" + +msgid " - process newly discovered inodes...\n" +msgstr "" + +#, c-format +msgid "couldn't read %s inode %llu\n" +msgstr "" + +#, c-format +msgid " - clearing existing \"%s\" inode\n" +msgstr "" + +#, c-format +msgid " - marking entry \"%s\" to be deleted\n" +msgstr "" + +#, c-format +msgid "couldn't map first leaf block of directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad magic # (0x%x) for directory leaf block (bno %u fsbno %llu)\n" +msgstr "" + +#, c-format +msgid "could not read %s inode %llu\n" +msgstr "" + +#, c-format +msgid " - deleting existing \"%s\" entry\n" +msgstr "" + +#, c-format +msgid "malloc failed (%u bytes) in longform2_delete_orphanage, ino %llu\n" +msgstr "" + +#, c-format +msgid "bad magic # (0x%x) for directory data block (bno %u fsbno %llu)\n" +msgstr "" + +#, c-format +msgid "could not read buffer for root inode %llu (daddr %lld, size %d)\n" +msgstr "" + +#, c-format +msgid "unknown version #%d in root inode\n" +msgstr "" + +msgid "Phase 4 - check for duplicate blocks...\n" +msgstr "" + +msgid " - setting up duplicate extent list...\n" +msgstr "" + +msgid "root inode would be lost\n" +msgstr "" + +msgid "root inode lost\n" +msgstr "" + +msgid " - clear lost+found (if it exists) ...\n" +msgstr "" + +#, c-format +msgid "unknown block state, ag %d, block %d\n" +msgstr "" + +#, c-format +msgid "unknown rt extent state, extent %llu\n" +msgstr "" + +msgid " - check for inodes claiming duplicate blocks...\n" +msgstr "" + +msgid "could not set up btree block array\n" +msgstr "" + +msgid "error - not enough free space in filesystem\n" +msgstr "" + +#, c-format +msgid "can't rebuild fs trees -- not enough free space on ag %u\n" +msgstr "" + +#, c-format +msgid "ag %u - not enough free space to build freespace btrees\n" +msgstr "" + +#, c-format +msgid "not enough free blocks left to describe all free blocks in AG %u\n" +msgstr "" + +#, c-format +msgid "lost %d blocks in ag %u\n" +msgstr "" + +#, c-format +msgid "thought we were going to lose %d blocks in ag %u, actually lost %d\n" +msgstr "" + +msgid "couldn't get superblock\n" +msgstr "" + +msgid "Phase 5 - rebuild AG headers and trees...\n" +msgstr "" + +#, c-format +msgid "unable to rebuild AG %u. Not enough free space in on-disk AG.\n" +msgstr "" + +#, c-format +msgid "unable to rebuild AG %u. No free space.\n" +msgstr "" + +#, c-format +msgid "lost %d blocks in agno %d, sorry.\n" +msgstr "" + +msgid " - generate realtime summary info and bitmap...\n" +msgstr "" + +msgid " - reset superblock...\n" +msgstr "" + +#, c-format +msgid "malloc failed in dir_hash_add (%u bytes)\n" +msgstr "" + +msgid "ok" +msgstr "" + +msgid "duplicate leaf" +msgstr "" + +msgid "hash value mismatch" +msgstr "" + +msgid "no data entry" +msgstr "" + +msgid "no leaf entry" +msgstr "" + +msgid "bad stale count" +msgstr "" + +#, c-format +msgid "bad hash table for directory inode %llu (%s): " +msgstr "" + +msgid "rebuilding\n" +msgstr "" + +msgid "would rebuild\n" +msgstr "" + +msgid "calloc failed in dir_hash_init\n" +msgstr "" + +msgid "ran out of disk space!\n" +msgstr "" + +#, c-format +msgid "xfs_trans_reserve returned %d\n" +msgstr "" + +#, c-format +msgid "couldn't iget realtime bitmap inode -- error - %d\n" +msgstr "" + +#, c-format +msgid "couldn't allocate realtime bitmap, error = %d\n" +msgstr "" + +#, c-format +msgid "allocation of the realtime bitmap failed, error = %d\n" +msgstr "" + +#, c-format +msgid "couldn't map realtime bitmap block %llu, error = %d\n" +msgstr "" + +#, c-format +msgid "can't access block %llu (fsbno %llu) of realtime bitmap inode %llu\n" +msgstr "" + +#, c-format +msgid "couldn't iget realtime summary inode -- error - %d\n" +msgstr "" + +#, c-format +msgid "couldn't map realtime summary inode block %llu, error = %d\n" +msgstr "" + +#, c-format +msgid "can't access block %llu (fsbno %llu) of realtime summary inode %llu\n" +msgstr "" + +#, c-format +msgid "couldn't allocate realtime summary inode, error = %d\n" +msgstr "" + +msgid "dev_zero of rtbitmap failed\n" +msgstr "" + +#, c-format +msgid "allocation of the realtime summary ino failed, error = %d\n" +msgstr "" + +#, c-format +msgid "could not iget root inode -- error - %d\n" +msgstr "" + +#, c-format +msgid "%d - couldn't iget root inode to make %s\n" +msgstr "" + +#, c-format +msgid "%s inode allocation failed %d\n" +msgstr "" + +#, c-format +msgid "can't make %s, createname error %d, will try later\n" +msgstr "" + +#, c-format +msgid "%s directory creation failed -- bmapf error %d\n" +msgstr "" + +#, c-format +msgid "%d - couldn't iget orphanage inode\n" +msgstr "" + +#, c-format +msgid "%d - couldn't iget disconnected inode\n" +msgstr "" + +#, c-format +msgid "space reservation failed (%d), filesystem may be out of space\n" +msgstr "" + +#, c-format +msgid "name create failed in %s (%d), filesystem may be out of space\n" +msgstr "" + +#, c-format +msgid "creation of .. entry failed (%d), filesystem may be out of space\n" +msgstr "" + +#, c-format +msgid "bmap finish failed (err - %d), filesystem may be out of space\n" +msgstr "" + +#, c-format +msgid "name replace op failed (%d), filesystem may be out of space\n" +msgstr "" + +#, c-format +msgid "bmap finish failed (%d), filesystem may be out of space\n" +msgstr "" + +msgid "dir" +msgstr "" + +#, c-format +msgid "can't map block %d in %s inode %llu, xfs_bmapi returns %d, nmap = %d\n" +msgstr "" + +#, c-format +msgid "block %d in %s ino %llu doesn't exist\n" +msgstr "" + +#, c-format +msgid "can't map block %d in %s ino %llu, xfs_bmapi returns %d, nmap = %d\n" +msgstr "" + +#, c-format +msgid "block %d in %s inode %llu doesn't exist\n" +msgstr "" + +#, c-format +msgid "can't read directory inode %llu (leaf) block %u (fsbno %llu)\n" +msgstr "" + +#, c-format +msgid "can't map block %d in directory %llu, xfs_bmapi returns %d, nmap = %d\n" +msgstr "" + +#, c-format +msgid "%s ino %llu block %d doesn't exist\n" +msgstr "" + +#, c-format +msgid "" +"couldn't remove bogus entry \"%s\" in\n" +"\tdirectory inode %llu, errno = %d\n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in dir inode %llu points to non-existent inode, " +msgstr "" + +msgid "marking entry to be junked\n" +msgstr "" + +msgid "would junk entry\n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in dir inode %llu points to free inode %llu" +msgstr "" + +msgid ", marking entry to be junked\n" +msgstr "" + +msgid ", would junk entry\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in dir %llu points to an already connected dir inode %llu,\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in dir ino %llu not consistent with .. value (%llu) in ino " +"%llu,\n" +msgstr "" + +#, c-format +msgid "\twill clear entry \"%s\"\n" +msgstr "" + +#, c-format +msgid "\twould clear entry \"%s\"\n" +msgstr "" + +#, c-format +msgid "cannot map block 0 of directory inode %llu\n" +msgstr "" + +#, c-format +msgid "bad magic # (0x%x) for dir ino %llu leaf block (bno %u fsbno %llu)\n" +msgstr "" + +#, c-format +msgid "can't map leaf block %d in dir %llu, xfs_bmapi returns %d, nmap = %d\n" +msgstr "" + +#, c-format +msgid "shrink_inode failed inode %llu block %u\n" +msgstr "" + +#, c-format +msgid "realloc failed in longform_dir2_entry_check_data (%u bytes)\n" +msgstr "" + +#, c-format +msgid "empty data block %u in directory inode %llu: " +msgstr "" + +#, c-format +msgid "corrupt block %u in directory inode %llu: " +msgstr "" + +msgid "junking block\n" +msgstr "" + +msgid "would junk block\n" +msgstr "" + +#, c-format +msgid "bad directory block magic # %#x for directory inode %llu block %d: " +msgstr "" + +#, c-format +msgid "fixing magic # to %#x\n" +msgstr "" + +#, c-format +msgid "would fix magic # to %#x\n" +msgstr "" + +#, c-format +msgid "directory inode %llu block %u has consecutive free entries: " +msgstr "" + +msgid "joining together\n" +msgstr "" + +msgid "would join together\n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in directory inode %llu points to non-existent inode, " +msgstr "" + +#, c-format +msgid "entry \"%s\" in directory inode %llu points to free inode %llu" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in dir %llu points to an already connected directory inode " +"%llu,\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in dir inode %llu inconsistent with .. value (%llu) in ino " +"%llu,\n" +msgstr "" + +#, c-format +msgid "leaf block %u for directory inode %llu bad header\n" +msgstr "" + +#, c-format +msgid "leaf block %u for directory inode %llu bad tail\n" +msgstr "" + +#, c-format +msgid "unknown magic number %#x for block %u in directory inode %llu\n" +msgstr "" + +#, c-format +msgid "free block %u for directory inode %llu bad header\n" +msgstr "" + +#, c-format +msgid "free block %u entry %i for directory ino %llu bad\n" +msgstr "" + +#, c-format +msgid "free block %u for directory inode %llu bad nused\n" +msgstr "" + +#, c-format +msgid "missing freetab entry %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "can't add btree block to directory inode %llu\n" +msgstr "" + +#, c-format +msgid "can't add free block to directory inode %llu\n" +msgstr "" + +#, c-format +msgid "malloc failed in longform_dir2_rebuild_data (%u bytes)\n" +msgstr "" + +#, c-format +msgid "rebuilding directory inode %llu\n" +msgstr "" + +#, c-format +msgid "can't get block %u for directory inode %llu\n" +msgstr "" + +#, c-format +msgid "malloc failed in longform_dir2_entry_check (%u bytes)\n" +msgstr "" + +#, c-format +msgid "shortform dir inode %llu has null data entries \n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in shortform dir %llu references non-existent ino %llu\n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in shortform dir inode %llu points to free inode %llu\n" +msgstr "" + +#, c-format +msgid "would junk entry \"%s\"\n" +msgstr "" + +#, c-format +msgid "entry \"%s\" in dir %llu references already connected dir ino %llu,\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in dir %llu not consistent with .. value (%llu) in dir ino " +"%llu,\n" +msgstr "" + +#, c-format +msgid "setting size to %lld bytes to reflect junked entries\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in shortform directory %llu references non-existent inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in shortform directory inode %llu points to free inode %llu\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in directory inode %llu references already connected inode " +"%llu,\n" +msgstr "" + +#, c-format +msgid "" +"entry \"%s\" in directory inode %llu not consistent with .. value (%llu) in " +"inode %llu,\n" +msgstr "" + +#, c-format +msgid "would fix i8count in inode %llu\n" +msgstr "" + +#, c-format +msgid "fixing i8count in inode %llu\n" +msgstr "" + +#, c-format +msgid "couldn't map inode %llu, err = %d\n" +msgstr "" + +#, c-format +msgid "re-entering %s into root directory\n" +msgstr "" + +#, c-format +msgid "can't make %s entry in root inode %llu, createname error %d\n" +msgstr "" + +msgid "recreating root directory .. entry\n" +msgstr "" + +#, c-format +msgid "can't make \"..\" entry in root inode %llu, createname error %d\n" +msgstr "" + +msgid "would recreate root directory .. entry\n" +msgstr "" + +#, c-format +msgid "would create missing \".\" entry in dir ino %llu\n" +msgstr "" + +#, c-format +msgid "creating missing \".\" entry in dir ino %llu\n" +msgstr "" + +#, c-format +msgid "can't make \".\" entry in dir ino %llu, createname error %d\n" +msgstr "" + +msgid "Phase 6 - check inode connectivity...\n" +msgstr "" + +msgid "reinitializing root directory\n" +msgstr "" + +msgid "would reinitialize root directory\n" +msgstr "" + +msgid "reinitializing realtime bitmap inode\n" +msgstr "" + +msgid "would reinitialize realtime bitmap inode\n" +msgstr "" + +msgid "reinitializing realtime summary inode\n" +msgstr "" + +msgid "would reinitialize realtime summary inode\n" +msgstr "" + +msgid " - resetting contents of realtime bitmap and summary inodes\n" +msgstr "" + +msgid "Warning: realtime bitmap may be inconsistent\n" +msgstr "" + +#, c-format +msgid " - ensuring existence of %s directory\n" +msgstr "" + +msgid " - traversing filesystem starting at / ... \n" +msgstr "" + +msgid " - traversal finished ... \n" +msgstr "" + +msgid " - root inode lost, cannot make new one in no modify mode ... \n" +msgstr "" + +msgid " - skipping filesystem traversal from / ... \n" +msgstr "" + +msgid " - traversing all unattached subtrees ... \n" +msgstr "" + +msgid " - traversals finished ... \n" +msgstr "" + +msgid " - moving disconnected inodes to lost+found ... \n" +msgstr "" + +#, c-format +msgid "disconnected dir inode %llu, " +msgstr "" + +#, c-format +msgid "disconnected inode %llu, " +msgstr "" + +#, c-format +msgid "moving to %s\n" +msgstr "" + +#, c-format +msgid "would move to %s\n" +msgstr "" + +#, c-format +msgid "resetting inode %llu nlinks from %d to %d\n" +msgstr "" + +#, c-format +msgid "" +"nlinks %d will overflow v1 ino, ino %llu will be converted to version 2\n" +msgstr "" + +#, c-format +msgid "would have reset inode %llu nlinks from %d to %d\n" +msgstr "" + +msgid "Phase 7 - verify and correct link counts...\n" +msgstr "" + +msgid "Phase 7 - verify link counts...\n" +msgstr "" + +#, c-format +msgid "couldn't map inode %llu, err = %d, can't compare link counts\n" +msgstr "" + +msgid "couldn't allocate memory for incore realtime bitmap.\n" +msgstr "" + +msgid "couldn't allocate memory for incore realtime summary info.\n" +msgstr "" + +#, c-format +msgid "rt summary mismatch, size %d block %llu, file: %d, computed: %d\n" +msgstr "" + +#, c-format +msgid "can't find block %d for rtbitmap inode\n" +msgstr "" + +#, c-format +msgid "can't read block %d for rtbitmap inode\n" +msgstr "" + +#, c-format +msgid "block %d for rtsummary inode is missing\n" +msgstr "" + +#, c-format +msgid "can't read block %d for rtsummary inode\n" +msgstr "" + +msgid "" +"\n" +"attempting to find secondary superblock...\n" +msgstr "" + +msgid "error finding secondary superblock -- failed to memalign buffer\n" +msgstr "" + +msgid "found candidate secondary superblock...\n" +msgstr "" + +msgid "verified secondary superblock...\n" +msgstr "" + +msgid "unable to verify superblock, continuing...\n" +msgstr "" + +msgid "failed to malloc superblock buffer\n" +msgstr "" + +msgid "couldn't seek to offset 0 in filesystem\n" +msgstr "" + +msgid "primary superblock write failed!\n" +msgstr "" + +#, c-format +msgid "error reading superblock %u -- failed to malloc buffer\n" +msgstr "" + +#, c-format +msgid "error reading superblock %u -- seek to offset %lld failed\n" +msgstr "" + +#, c-format +msgid "superblock read failed, offset %lld, size %d, ag %u, rval %d\n" +msgstr "" + +msgid "couldn't malloc geometry structure\n" +msgstr "" + +msgid "calloc failed in verify_set_primary_sb\n" +msgstr "" + +msgid "Only two AGs detected and they do not match - cannot proceed.\n" +msgstr "" + +msgid "Only one AG detected - cannot proceed.\n" +msgstr "" + +msgid "Not enough matching superblocks - cannot proceed.\n" +msgstr "" + +msgid "could not read superblock\n" +msgstr "" + +#, c-format +msgid "can't read btree block %d/%d\n" +msgstr "" + +#, c-format +msgid "bad magic # %#x in inode %llu (%s fork) bmbt block %llu\n" +msgstr "" + +#, c-format +msgid "expected level %d got %d in inode %llu, (%s fork) bmbt block %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad fwd (right) sibling pointer (saw %llu parent block says %llu)\n" +"\tin inode %llu (%s fork) bmap btree block %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad back (left) sibling pointer (saw %llu parent block says %llu)\n" +"\tin inode %llu (%s fork) bmap btree block %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad back (left) sibling pointer (saw %llu should be NULL (0))\n" +"\tin inode %llu (%s fork) bmap btree block %llu\n" +msgstr "" + +#, c-format +msgid "inode 0x%llx bmap block 0x%llx claimed, state is %d\n" +msgstr "" + +#, c-format +msgid "bad state %d, inode 0x%llx bmap block 0x%llx\n" +msgstr "" + +#, c-format +msgid "inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n" +msgstr "" + +#, c-format +msgid "" +"out-of-order bmap key (file offset) in inode %llu, %s fork, fsbno %llu\n" +msgstr "" + +#, c-format +msgid "" +"correcting bt key (was %llu, now %llu) in inode %llu\n" +"\t\t%s fork, btree block %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad btree key (is %llu, should be %llu) in inode %llu\n" +"\t\t%s fork, btree block %llu\n" +msgstr "" + +#, c-format +msgid "" +"bad fwd (right) sibling pointer (saw %llu should be NULLDFSBNO)\n" +"\tin inode %llu (%s fork) bmap btree block %llu\n" +msgstr "" + +#, c-format +msgid "bad magic # %#x in btbno block %d/%d\n" +msgstr "" + +#, c-format +msgid "expected level %d got %d in btbno block %d/%d\n" +msgstr "" + +#, c-format +msgid "" +"bno freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n" +msgstr "" + +#, c-format +msgid "block (%d,%d) multiply claimed by bno space tree, state - %d\n" +msgstr "" + +#, c-format +msgid "bad magic # %#x in btcnt block %d/%d\n" +msgstr "" + +#, c-format +msgid "expected level %d got %d in btcnt block %d/%d\n" +msgstr "" + +#, c-format +msgid "" +"bcnt freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n" +msgstr "" + +#, c-format +msgid "block (%d,%d) already used, state %d\n" +msgstr "" + +#, c-format +msgid "bad magic # %#x in inobt block %d/%d\n" +msgstr "" + +#, c-format +msgid "expected level %d got %d in inobt block %d/%d\n" +msgstr "" + +#, c-format +msgid "inode btree block claimed (state %d), agno %d, bno %d, suspect %d\n" +msgstr "" + +#, c-format +msgid "dubious inode btree block header %d/%d\n" +msgstr "" + +#, c-format +msgid "badly aligned inode rec (starting inode = %llu)\n" +msgstr "" + +#, c-format +msgid "bad starting inode # (%llu (0x%x 0x%x)) in ino rec, skipping rec\n" +msgstr "" + +#, c-format +msgid "bad ending inode # (%llu (0x%x 0x%x)) in ino rec, skipping rec\n" +msgstr "" + +#, c-format +msgid "" +"inode chunk claims used block, inobt block - agno %d, bno %d, inopb %d\n" +msgstr "" + +#, c-format +msgid "inode rec for ino %llu (%d/%d) overlaps existing rec (start %d/%d)\n" +msgstr "" + +#, c-format +msgid "ir_freecount/free mismatch, inode chunk %d/%d, freecount %d nfree %d\n" +msgstr "" + +#, c-format +msgid "can't read agfl block for ag %d\n" +msgstr "" + +#, c-format +msgid "bad agbno %u in agfl, agno %d\n" +msgstr "" + +#, c-format +msgid "freeblk count %d != flcount %d in ag %d\n" +msgstr "" + +#, c-format +msgid "can't get root superblock for ag %d\n" +msgstr "" + +msgid "can't allocate memory for superblock\n" +msgstr "" + +#, c-format +msgid "can't read agf block for ag %d\n" +msgstr "" + +#, c-format +msgid "can't read agi block for ag %d\n" +msgstr "" + +#, c-format +msgid "reset bad sb for ag %d\n" +msgstr "" + +#, c-format +msgid "would reset bad sb for ag %d\n" +msgstr "" + +#, c-format +msgid "reset bad agf for ag %d\n" +msgstr "" + +#, c-format +msgid "would reset bad agf for ag %d\n" +msgstr "" + +#, c-format +msgid "reset bad agi for ag %d\n" +msgstr "" + +#, c-format +msgid "would reset bad agi for ag %d\n" +msgstr "" + +#, c-format +msgid "bad uncorrected agheader %d, skipping ag...\n" +msgstr "" + +#, c-format +msgid "bad agbno %u for btbno root, agno %d\n" +msgstr "" + +#, c-format +msgid "bad agbno %u for btbcnt root, agno %d\n" +msgstr "" + +#, c-format +msgid "bad agbno %u for inobt root, agno %d\n" +msgstr "" + +#, c-format +msgid "bogus quota flags 0x%x set in superblock" +msgstr "" + +msgid ", bogus flags will be cleared\n" +msgstr "" + +msgid ", bogus flags would be cleared\n" +msgstr "" + +msgid "This filesystem has uninitialized extent flags.\n" +msgstr "" + +msgid "This filesystem is marked shared.\n" +msgstr "" + +msgid "" +"This filesystem uses feature(s) not yet supported in this release.\n" +"Please run a more recent version of xfs_repair.\n" +msgstr "" + +#, c-format +msgid "WARNING: unknown superblock version %d\n" +msgstr "" + +msgid "This filesystem contains features not understood by this program.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed superblock-feature-bits-allowed\n" +"\tbut this superblock has feature bits. The superblock\n" +"\twill be downgraded. This may cause loss of filesystem meta-data\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed superblock-feature-bits-allowed\n" +"\tbut this superblock has feature bits. The superblock\n" +"\twould be downgraded. This might cause loss of filesystem\n" +"\tmeta-data.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed attributes but this filesystem\n" +"\thas attributes. The filesystem will be downgraded and\n" +"\tall attributes will be removed.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed attributes but this filesystem\n" +"\thas attributes. The filesystem would be downgraded and\n" +"\tall attributes would be removed.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed version 2 inodes but this filesystem\n" +"\thas version 2 inodes. The filesystem will be downgraded and\n" +"\tall version 2 inodes will be converted to version 1 inodes.\n" +"\tThis may cause some hard links to files to be destroyed\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed version 2 inodes but this filesystem\n" +"\thas version 2 inodes. The filesystem would be downgraded and\n" +"\tall version 2 inodes would be converted to version 1 inodes.\n" +"\tThis might cause some hard links to files to be destroyed\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed quotas but this filesystem\n" +"\thas quotas. The filesystem will be downgraded and\n" +"\tall quota information will be removed.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed quotas but this filesystem\n" +"\thas quotas. The filesystem would be downgraded and\n" +"\tall quota information would be removed.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed aligned inodes but this filesystem\n" +"\thas aligned inodes. The filesystem will be downgraded.\n" +"\tThis will permanently degrade the performance of this filesystem.\n" +msgstr "" + +msgid "" +"WARNING: you have disallowed aligned inodes but this filesystem\n" +"\thas aligned inodes. The filesystem would be downgraded.\n" +"\tThis would permanently degrade the performance of this filesystem.\n" +msgstr "" + +#, c-format +msgid "Usage: %s [-nLvV] [-o subopt[=value]] [-l logdev] [-r rtdev] devname\n" +msgstr "" + +msgid "no error" +msgstr "" + +msgid "bad magic number" +msgstr "" + +msgid "bad blocksize field" +msgstr "" + +msgid "bad blocksize log field" +msgstr "" + +msgid "bad version number" +msgstr "" + +msgid "filesystem mkfs-in-progress bit set" +msgstr "" + +msgid "inconsistent filesystem geometry information" +msgstr "" + +msgid "bad inode size or inconsistent with number of inodes/block" +msgstr "" + +msgid "bad sector size" +msgstr "" + +msgid "AGF geometry info conflicts with filesystem geometry" +msgstr "" + +msgid "AGI geometry info conflicts with filesystem geometry" +msgstr "" + +msgid "AG superblock geometry info conflicts with filesystem geometry" +msgstr "" + +msgid "attempted to perform I/O beyond EOF" +msgstr "" + +msgid "inconsistent filesystem geometry in realtime filesystem component" +msgstr "" + +#, c-format +msgid "maximum indicated percentage of inodes > 100%" +msgstr "" + +msgid "inconsistent inode alignment value" +msgstr "" + +msgid "not enough secondary superblocks with matching geometry" +msgstr "" + +msgid "bad stripe unit in superblock" +msgstr "" + +msgid "bad stripe width in superblock" +msgstr "" + +msgid "bad shared version number in superblock" +msgstr "" + +#, c-format +msgid "bad error code - %d\n" +msgstr "" + +#, c-format +msgid "-%c %s option cannot have a value\n" +msgstr "" + +msgid "" +"\n" +"fatal error -- " +msgstr "" + +#, c-format +msgid "sb root inode value %llu %sinconsistent with calculated value %lu\n" +msgstr "" + +#, c-format +msgid "resetting superblock root inode pointer to %lu\n" +msgstr "" + +#, c-format +msgid "would reset superblock root inode pointer to %lu\n" +msgstr "" + +#, c-format +msgid "" +"sb realtime bitmap inode %llu %sinconsistent with calculated value %lu\n" +msgstr "" + +#, c-format +msgid "resetting superblock realtime bitmap ino pointer to %lu\n" +msgstr "" + +#, c-format +msgid "would reset superblock realtime bitmap ino pointer to %lu\n" +msgstr "" + +#, c-format +msgid "" +"sb realtime summary inode %llu %sinconsistent with calculated value %lu\n" +msgstr "" + +#, c-format +msgid "resetting superblock realtime summary ino pointer to %lu\n" +msgstr "" + +#, c-format +msgid "would reset superblock realtime summary ino pointer to %lu\n" +msgstr "" + +msgid "" +"Primary superblock would have been modified.\n" +"Cannot proceed further in no_modify mode.\n" +"Exiting now.\n" +msgstr "" + +#, c-format +msgid "%s: cannot repair this filesystem. Sorry.\n" +msgstr "" + +msgid "Found unsupported filesystem features. Exiting now.\n" +msgstr "" + +msgid "No modify flag set, skipping phase 5\n" +msgstr "" + +msgid "Inode allocation btrees are too corrupted, skipping phases 6 and 7\n" +msgstr "" + +msgid "Warning: no quota inodes were found. Quotas disabled.\n" +msgstr "" + +msgid "Warning: no quota inodes were found. Quotas would be disabled.\n" +msgstr "" + +msgid "Warning: quota inodes were cleared. Quotas disabled.\n" +msgstr "" + +msgid "Warning: quota inodes would be cleared. Quotas would be disabled.\n" +msgstr "" + +msgid "" +"Warning: user quota information was cleared.\n" +"User quotas can not be enforced until limit information is recreated.\n" +msgstr "" + +msgid "" +"Warning: user quota information would be cleared.\n" +"User quotas could not be enforced until limit information was recreated.\n" +msgstr "" + +msgid "" +"Warning: group quota information was cleared.\n" +"Group quotas can not be enforced until limit information is recreated.\n" +msgstr "" + +msgid "" +"Warning: group quota information would be cleared.\n" +"Group quotas could not be enforced until limit information was recreated.\n" +msgstr "" + +msgid "No modify flag set, skipping filesystem flush and exiting.\n" +msgstr "" + +msgid "Note - quota info will be regenerated on next quota mount.\n" +msgstr "" + +#, c-format +msgid "" +"Note - stripe unit (%d) and width (%d) fields have been reset.\n" +"Please set with mount -o sunit=,swidth=\n" +msgstr "" + +msgid "done\n" +msgstr "" + #, c-format msgid "%s [-e extsize] [-p] source target\n" msgstr "" diff --git a/repair/agheader.c b/repair/agheader.c index b1e51d6a9..085b4072e 100644 --- a/repair/agheader.c +++ b/repair/agheader.c @@ -46,7 +46,8 @@ verify_set_agf(xfs_mount_t *mp, xfs_agf_t *agf, xfs_agnumber_t i) if (INT_GET(agf->agf_magicnum, ARCH_CONVERT) != XFS_AGF_MAGIC) { retval = XR_AG_AGF; - do_warn("bad magic # 0x%x for agf %d\n", INT_GET(agf->agf_magicnum, ARCH_CONVERT), i); + do_warn(_("bad magic # 0x%x for agf %d\n"), + INT_GET(agf->agf_magicnum, ARCH_CONVERT), i); if (!no_modify) INT_SET(agf->agf_magicnum, ARCH_CONVERT, XFS_AGF_MAGIC); @@ -54,16 +55,18 @@ verify_set_agf(xfs_mount_t *mp, xfs_agf_t *agf, xfs_agnumber_t i) if (!XFS_AGF_GOOD_VERSION(INT_GET(agf->agf_versionnum, ARCH_CONVERT))) { retval = XR_AG_AGF; - do_warn("bad version # %d for agf %d\n", + do_warn(_("bad version # %d for agf %d\n"), INT_GET(agf->agf_versionnum, ARCH_CONVERT), i); if (!no_modify) - INT_SET(agf->agf_versionnum, ARCH_CONVERT, XFS_AGF_VERSION); + INT_SET(agf->agf_versionnum, ARCH_CONVERT, + XFS_AGF_VERSION); } if (INT_GET(agf->agf_seqno, ARCH_CONVERT) != i) { retval = XR_AG_AGF; - do_warn("bad sequence # %d for agf %d\n", INT_GET(agf->agf_seqno, ARCH_CONVERT), i); + do_warn(_("bad sequence # %d for agf %d\n"), + INT_GET(agf->agf_seqno, ARCH_CONVERT), i); if (!no_modify) INT_SET(agf->agf_seqno, ARCH_CONVERT, i); @@ -72,10 +75,12 @@ verify_set_agf(xfs_mount_t *mp, xfs_agf_t *agf, xfs_agnumber_t i) if (INT_GET(agf->agf_length, ARCH_CONVERT) != mp->m_sb.sb_agblocks) { if (i != mp->m_sb.sb_agcount - 1) { retval = XR_AG_AGF; - do_warn("bad length %d for agf %d, should be %d\n", - INT_GET(agf->agf_length, ARCH_CONVERT), i, mp->m_sb.sb_agblocks); + do_warn(_("bad length %d for agf %d, should be %d\n"), + INT_GET(agf->agf_length, ARCH_CONVERT), i, + mp->m_sb.sb_agblocks); if (!no_modify) - INT_SET(agf->agf_length, ARCH_CONVERT, mp->m_sb.sb_agblocks); + INT_SET(agf->agf_length, ARCH_CONVERT, + mp->m_sb.sb_agblocks); } else { agblocks = mp->m_sb.sb_dblocks - (xfs_drfsbno_t) mp->m_sb.sb_agblocks * i; @@ -83,10 +88,12 @@ verify_set_agf(xfs_mount_t *mp, xfs_agf_t *agf, xfs_agnumber_t i) if (INT_GET(agf->agf_length, ARCH_CONVERT) != agblocks) { retval = XR_AG_AGF; do_warn( - "bad length %d for agf %d, should be %llu\n", - INT_GET(agf->agf_length, ARCH_CONVERT), i, agblocks); + _("bad length %d for agf %d, should be %llu\n"), + INT_GET(agf->agf_length, ARCH_CONVERT), + i, agblocks); if (!no_modify) - INT_SET(agf->agf_length, ARCH_CONVERT, (xfs_agblock_t) agblocks); + INT_SET(agf->agf_length, ARCH_CONVERT, + (xfs_agblock_t) agblocks); } } } @@ -96,7 +103,7 @@ verify_set_agf(xfs_mount_t *mp, xfs_agf_t *agf, xfs_agnumber_t i) * space in the AGFL, we'll reclaim it later. */ if (INT_GET(agf->agf_flfirst, ARCH_CONVERT) >= XFS_AGFL_SIZE(mp)) { - do_warn("flfirst %d in agf %d too large (max = %d)\n", + do_warn(_("flfirst %d in agf %d too large (max = %d)\n"), INT_GET(agf->agf_flfirst, ARCH_CONVERT), i, XFS_AGFL_SIZE(mp)); if (!no_modify) @@ -104,7 +111,7 @@ verify_set_agf(xfs_mount_t *mp, xfs_agf_t *agf, xfs_agnumber_t i) } if (INT_GET(agf->agf_fllast, ARCH_CONVERT) >= XFS_AGFL_SIZE(mp)) { - do_warn("fllast %d in agf %d too large (max = %d)\n", + do_warn(_("fllast %d in agf %d too large (max = %d)\n"), INT_GET(agf->agf_fllast, ARCH_CONVERT), i, XFS_AGFL_SIZE(mp)); if (!no_modify) @@ -126,7 +133,8 @@ verify_set_agi(xfs_mount_t *mp, xfs_agi_t *agi, xfs_agnumber_t i) if (INT_GET(agi->agi_magicnum, ARCH_CONVERT) != XFS_AGI_MAGIC) { retval = XR_AG_AGI; - do_warn("bad magic # 0x%x for agi %d\n", INT_GET(agi->agi_magicnum, ARCH_CONVERT), i); + do_warn(_("bad magic # 0x%x for agi %d\n"), + INT_GET(agi->agi_magicnum, ARCH_CONVERT), i); if (!no_modify) INT_SET(agi->agi_magicnum, ARCH_CONVERT, XFS_AGI_MAGIC); @@ -134,16 +142,18 @@ verify_set_agi(xfs_mount_t *mp, xfs_agi_t *agi, xfs_agnumber_t i) if (!XFS_AGI_GOOD_VERSION(INT_GET(agi->agi_versionnum, ARCH_CONVERT))) { retval = XR_AG_AGI; - do_warn("bad version # %d for agi %d\n", + do_warn(_("bad version # %d for agi %d\n"), INT_GET(agi->agi_versionnum, ARCH_CONVERT), i); if (!no_modify) - INT_SET(agi->agi_versionnum, ARCH_CONVERT, XFS_AGI_VERSION); + INT_SET(agi->agi_versionnum, ARCH_CONVERT, + XFS_AGI_VERSION); } if (INT_GET(agi->agi_seqno, ARCH_CONVERT) != i) { retval = XR_AG_AGI; - do_warn("bad sequence # %d for agi %d\n", INT_GET(agi->agi_seqno, ARCH_CONVERT), i); + do_warn(_("bad sequence # %d for agi %d\n"), + INT_GET(agi->agi_seqno, ARCH_CONVERT), i); if (!no_modify) INT_SET(agi->agi_seqno, ARCH_CONVERT, i); @@ -152,10 +162,12 @@ verify_set_agi(xfs_mount_t *mp, xfs_agi_t *agi, xfs_agnumber_t i) if (INT_GET(agi->agi_length, ARCH_CONVERT) != mp->m_sb.sb_agblocks) { if (i != mp->m_sb.sb_agcount - 1) { retval = XR_AG_AGI; - do_warn("bad length # %d for agi %d, should be %d\n", - INT_GET(agi->agi_length, ARCH_CONVERT), i, mp->m_sb.sb_agblocks); + do_warn(_("bad length # %d for agi %d, should be %d\n"), + INT_GET(agi->agi_length, ARCH_CONVERT), i, + mp->m_sb.sb_agblocks); if (!no_modify) - INT_SET(agi->agi_length, ARCH_CONVERT, mp->m_sb.sb_agblocks); + INT_SET(agi->agi_length, ARCH_CONVERT, + mp->m_sb.sb_agblocks); } else { agblocks = mp->m_sb.sb_dblocks - (xfs_drfsbno_t) mp->m_sb.sb_agblocks * i; @@ -163,10 +175,12 @@ verify_set_agi(xfs_mount_t *mp, xfs_agi_t *agi, xfs_agnumber_t i) if (INT_GET(agi->agi_length, ARCH_CONVERT) != agblocks) { retval = XR_AG_AGI; do_warn( - "bad length # %d for agi %d, should be %llu\n", - INT_GET(agi->agi_length, ARCH_CONVERT), i, agblocks); + _("bad length # %d for agi %d, should be %llu\n"), + INT_GET(agi->agi_length, ARCH_CONVERT), + i, agblocks); if (!no_modify) - INT_SET(agi->agi_length, ARCH_CONVERT, (xfs_agblock_t) agblocks); + INT_SET(agi->agi_length, ARCH_CONVERT, + (xfs_agblock_t) agblocks); } } } @@ -270,14 +284,14 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, rval |= XR_AG_SB_SEC; if (!no_modify) { do_warn( - "zeroing unused portion of %s superblock (AG #%u)\n", - !i ? "primary" : "secondary", i); + _("zeroing unused portion of %s superblock (AG #%u)\n"), + !i ? _("primary") : _("secondary"), i); bzero((void *)((__psint_t)sb + size), mp->m_sb.sb_sectsize - size); } else do_warn( - "would zero unused portion of %s superblock (AG #%u)\n", - !i ? "primary" : "secondary", i); + _("would zero unused portion of %s superblock (AG #%u)\n"), + !i ? _("primary") : _("secondary"), i); } } @@ -295,7 +309,7 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, sb->sb_flags = 0; if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; - do_warn("bad flags field in superblock %d\n", i); + do_warn(_("bad flags field in superblock %d\n"), i); } else rval |= XR_AG_SB_SEC; } @@ -312,8 +326,9 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; do_warn( - "non-null user quota inode field in superblock %d\n", + _("non-null user quota inode field in superblock %d\n"), i); + } else rval |= XR_AG_SB_SEC; } @@ -324,8 +339,9 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; do_warn( - "non-null group quota inode field in superblock %d\n", + _("non-null group quota inode field in superblock %d\n"), i); + } else rval |= XR_AG_SB_SEC; } @@ -335,7 +351,8 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, sb->sb_qflags = 0; if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; - do_warn("non-null quota flags in superblock %d\n", i); + do_warn(_("non-null quota flags in superblock %d\n"), + i); } else rval |= XR_AG_SB_SEC; } @@ -351,7 +368,8 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, sb->sb_shared_vn = 0; if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; - do_warn("bad shared version number in superblock %d\n", + do_warn( + _("bad shared version number in superblock %d\n"), i); } else rval |= XR_AG_SB_SEC; @@ -362,7 +380,8 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, sb->sb_inoalignmt = 0; if (sb->sb_versionnum & XR_PART_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; - do_warn("bad inode alignment field in superblock %d\n", + do_warn( + _("bad inode alignment field in superblock %d\n"), i); } else rval |= XR_AG_SB_SEC; @@ -375,7 +394,25 @@ secondary_sb_wack(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, if (sb->sb_versionnum & XR_GOOD_SECSB_VNMASK || !do_bzero) { rval |= XR_AG_SB; do_warn( - "bad stripe unit/width fields in superblock %d\n", + _("bad stripe unit/width fields in superblock %d\n"), + i); + } else + rval |= XR_AG_SB_SEC; + } + + if (!XFS_SB_VERSION_HASSECTOR(sb) && + (sb->sb_sectsize != BBSIZE || sb->sb_sectlog != BBSHIFT || + sb->sb_logsectsize != 0 || sb->sb_logsectlog != 0)) { + if (!no_modify) { + sb->sb_sectsize = BBSIZE; + sb->sb_sectlog = BBSHIFT; + sb->sb_logsectsize = 0; + sb->sb_logsectlog = 0; + } + if (sb->sb_versionnum & XR_GOOD_SECSB_VNMASK || !do_bzero) { + rval |= XR_AG_SB; + do_warn( + _("bad log/data device sector size fields in superblock %d\n"), i); } else rval |= XR_AG_SB_SEC; @@ -406,14 +443,14 @@ verify_set_agheader(xfs_mount_t *mp, xfs_buf_t *sbuf, xfs_sb_t *sb, status = verify_sb(sb, (i == 0)); if (status != XR_OK) { - do_warn("bad on-disk superblock %d - %s\n", + do_warn(_("bad on-disk superblock %d - %s\n"), i, err_string(status)); } status_sb = compare_sb(mp, sb); if (status_sb != XR_OK) { - do_warn("primary and secondary superblock %d conflict - %s\n", + do_warn(_("primary/secondary superblock %d conflict - %s\n"), i, err_string(status_sb)); } diff --git a/repair/attr_repair.c b/repair/attr_repair.c index 11a8f0301..883a99402 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -118,7 +118,9 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) if (xfs_acl_valid((xfs_acl_t *) valuep) != 0) { /* 0 is valid */ clearit = 1; - do_warn("entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT\n"); + do_warn( + _("entry contains illegal value in attribute named SGI_ACL_FILE " + "or SGI_ACL_DEFAULT\n")); } } else if (strncmp(namevalue, SGI_MAC_FILE, SGI_MAC_FILE_SIZE) == 0) { if (value == NULL) { @@ -130,7 +132,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) if (xfs_mac_valid((xfs_mac_label_t *)valuep) != 1) { /* 1 is valid */ /* - *if sysconf says MAC enabled, + * if sysconf says MAC enabled, * temp = mac_from_text("msenhigh/mintlow", NULL) * copy it to value, update valuelen, totsize * This causes pushing up or down of all following @@ -138,12 +140,14 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) * else clearit = 1; */ clearit = 1; - do_warn("entry contains illegal value in attribute named SGI_MAC_LABEL\n"); + do_warn( + _("entry contains illegal value in attribute named SGI_MAC_LABEL\n")); } } else if (strncmp(namevalue, SGI_CAP_FILE, SGI_CAP_FILE_SIZE) == 0) { if ( valuelen != sizeof(xfs_cap_set_t)) { clearit = 1; - do_warn("entry contains illegal value in attribute named SGI_CAP_FILE\n"); + do_warn( + _("entry contains illegal value in attribute named SGI_CAP_FILE\n")); } } @@ -181,13 +185,17 @@ process_shortform_attr( if (INT_GET(asf->hdr.totsize, ARCH_CONVERT) != sizeof(xfs_attr_sf_hdr_t)) { /* whoops there's a discrepancy. Clear the hdr */ if (!no_modify) { - do_warn("there are no attributes in the fork for inode %llu \n", ino); + do_warn( + _("there are no attributes in the fork for inode %llu\n"), + ino); INT_SET(asf->hdr.totsize, ARCH_CONVERT, sizeof(xfs_attr_sf_hdr_t)); *repair = 1; return(1); } else { - do_warn("would junk the attribute fork since the count is 0 for inode %llu\n",ino); + do_warn( + _("would junk the attribute fork since count is 0 for inode %llu\n"), + ino); return(1); } } @@ -206,13 +214,15 @@ process_shortform_attr( /* if the namelen is 0, can't get to the rest of the entries */ if (INT_GET(currententry->namelen, ARCH_CONVERT) == 0) { - do_warn("zero length name entry in attribute fork, "); + do_warn(_("zero length name entry in attribute fork,")); if (!no_modify) { - do_warn("truncating attributes for inode %llu to %d \n", ino, i); + do_warn( + _(" truncating attributes for inode %llu to %d\n"), ino, i); *repair = 1; break; /* and then update hdr fields */ } else { - do_warn("would truncate attributes for inode %llu to %d \n", ino, i); + do_warn( + _(" would truncate attributes for inode %llu to %d\n"), ino, i); break; } } else { @@ -220,16 +230,23 @@ process_shortform_attr( * rough check to make sure we haven't gone outside of * totsize. */ - if ((remainingspace < INT_GET(currententry->namelen, ARCH_CONVERT)) || - ((remainingspace - INT_GET(currententry->namelen, ARCH_CONVERT)) - < INT_GET(currententry->valuelen, ARCH_CONVERT))) { - do_warn("name or value attribute lengths are too large, \n"); + if ((remainingspace < + INT_GET(currententry->namelen, ARCH_CONVERT)) || + ((remainingspace - + INT_GET(currententry->namelen, ARCH_CONVERT)) < + INT_GET(currententry->valuelen, ARCH_CONVERT))) { + do_warn( + _("name or value attribute lengths are too large,\n")); if (!no_modify) { - do_warn(" truncating attributes for inode %llu to %d \n", ino, i); + do_warn( + _(" truncating attributes for inode %llu to %d\n"), + ino, i); *repair = 1; break; /* and then update hdr fields */ } else { - do_warn(" would truncate attributes for inode %llu to %d \n", ino, i); + do_warn( + _(" would truncate attributes for inode %llu to %d\n"), + ino, i); break; } } @@ -240,19 +257,23 @@ process_shortform_attr( */ if (namecheck((char *)¤tentry->nameval[0], INT_GET(currententry->namelen, ARCH_CONVERT))) { - do_warn("entry contains illegal character in shortform attribute name\n"); + do_warn( + _("entry contains illegal character in shortform attribute name\n")); junkit = 1; } if (INT_GET(currententry->flags, ARCH_CONVERT) & XFS_ATTR_INCOMPLETE) { - do_warn("entry has INCOMPLETE flag on in shortform attribute\n"); + do_warn( + _("entry has INCOMPLETE flag on in shortform attribute\n")); junkit = 1; } /* Only check values for root security attributes */ if (INT_GET(currententry->flags, ARCH_CONVERT) & XFS_ATTR_ROOT) - junkit = valuecheck((char *)¤tentry->nameval[0], NULL, - INT_GET(currententry->namelen, ARCH_CONVERT), INT_GET(currententry->valuelen, ARCH_CONVERT)); + junkit = valuecheck((char *)¤tentry->nameval[0], + NULL, + INT_GET(currententry->namelen, ARCH_CONVERT), + INT_GET(currententry->valuelen, ARCH_CONVERT)); remainingspace = remainingspace - XFS_ATTR_SF_ENTSIZE(currententry); @@ -260,7 +281,9 @@ process_shortform_attr( if (junkit) { if (!no_modify) { /* get rid of only this entry */ - do_warn("removing attribute entry %d for inode %llu \n", i, ino); + do_warn( + _("removing attribute entry %d for inode %llu\n"), + i, ino); tempentry = (xfs_attr_sf_entry_t *) ((__psint_t) currententry + XFS_ATTR_SF_ENTSIZE(currententry)); @@ -270,7 +293,9 @@ process_shortform_attr( *repair = 1; continue; /* go back up now */ } else { - do_warn("would remove attribute entry %d for inode %llu \n", i, ino); + do_warn( + _("would remove attribute entry %d for inode %llu\n"), + i, ino); } } @@ -280,15 +305,16 @@ process_shortform_attr( XFS_ATTR_SF_ENTSIZE(currententry)); currentsize = currentsize + XFS_ATTR_SF_ENTSIZE(currententry); - } /* end the loop */ + } /* end the loop */ - if (INT_GET(asf->hdr.count, ARCH_CONVERT) != i) { if (no_modify) { - do_warn("would have corrected attribute entry count in inode %llu from %d to %d\n", + do_warn(_("would have corrected attribute entry count " + "in inode %llu from %d to %d\n"), ino, INT_GET(asf->hdr.count, ARCH_CONVERT), i); } else { - do_warn("corrected attribute entry count in inode %llu, was %d, now %d\n", + do_warn(_("corrected attribute entry count in inode " + "%llu, was %d, now %d\n"), ino, INT_GET(asf->hdr.count, ARCH_CONVERT), i); INT_SET(asf->hdr.count, ARCH_CONVERT, i); *repair = 1; @@ -298,11 +324,15 @@ process_shortform_attr( /* ASSUMPTION: currentsize <= totsize */ if (INT_GET(asf->hdr.totsize, ARCH_CONVERT) != currentsize) { if (no_modify) { - do_warn("would have corrected attribute totsize in inode %llu from %d to %d\n", - ino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), currentsize); + do_warn(_("would have corrected attribute totsize in " + "inode %llu from %d to %d\n"), + ino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), + currentsize); } else { - do_warn("corrected attribute entry totsize in inode %llu, was %d, now %d\n", - ino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), currentsize); + do_warn(_("corrected attribute entry totsize in " + "inode %llu, was %d, now %d\n"), + ino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), + currentsize); INT_SET(asf->hdr.totsize, ARCH_CONVERT, currentsize); *repair = 1; } @@ -329,16 +359,16 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap, while (amountdone < valuelen) { bno = blkmap_get(blkmap, blocknum + i); if (bno == NULLDFSBNO) { - do_warn("remote block for attributes of inode %llu" - " is missing\n", ino); + do_warn(_("remote block for attributes of inode %llu" + " is missing\n"), ino); clearit = 1; break; } bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, bno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read remote block for attributes" - " of inode %llu\n", ino); + do_warn(_("can't read remote block for attributes" + " of inode %llu\n"), ino); clearit = 1; break; } @@ -393,7 +423,8 @@ process_leaf_attr_block( * sizeof(xfs_attr_leaf_entry_t) + sizeof(xfs_attr_leaf_hdr_t) > XFS_LBSIZE(mp)) { - do_warn("bad attribute count %d in attr block %u, inode %llu\n", + do_warn( + _("bad attribute count %d in attr block %u, inode %llu\n"), (int) INT_GET(leaf->hdr.count, ARCH_CONVERT), da_bno, ino); return (1); @@ -409,58 +440,67 @@ process_leaf_attr_block( /* check if index is within some boundary. */ if (INT_GET(entry->nameidx, ARCH_CONVERT) > XFS_LBSIZE(mp)) { - do_warn("bad attribute nameidx %d in attr block %u, inode %llu\n", + do_warn( + _("bad attribute nameidx %d in attr block %u, inode %llu\n"), (int)INT_GET(entry->nameidx, ARCH_CONVERT), da_bno,ino); clearit = 1; break; - } + } if (INT_GET(entry->flags, ARCH_CONVERT) & XFS_ATTR_INCOMPLETE) { /* we are inconsistent state. get rid of us */ - do_warn("attribute entry #%d in attr block %u, inode %llu is INCOMPLETE\n", + do_warn( + _("attribute entry #%d in attr block %u, inode %llu is INCOMPLETE\n"), i, da_bno, ino); clearit = 1; break; - } + } /* mark the entry used */ start = (__psint_t)&leaf->entries[i] - (__psint_t)leaf; stop = start + sizeof(xfs_attr_leaf_entry_t); if (set_da_freemap(mp, attr_freemap, start, stop)) { - do_warn("attribute entry %d in attr block %u, inode %llu claims already used space\n", - i,da_bno,ino); + do_warn( + _("attribute entry %d in attr block %u, inode %llu claims " + "already used space\n"), + i, da_bno, ino); clearit = 1; break; /* got an overlap */ - } + } if (INT_GET(entry->flags, ARCH_CONVERT) & XFS_ATTR_LOCAL) { local = XFS_ATTR_LEAF_NAME_LOCAL(leaf, i); if ((INT_GET(local->namelen, ARCH_CONVERT) == 0) || - (namecheck((char *)&local->nameval[0], - INT_GET(local->namelen, ARCH_CONVERT)))) { - do_warn("attribute entry %d in attr block %u, inode %llu has bad name (namelen = %d)\n", - i, da_bno, ino, (int) INT_GET(local->namelen, ARCH_CONVERT)); - + (namecheck((char *)&local->nameval[0], + INT_GET(local->namelen, ARCH_CONVERT)))) { + do_warn( + _("attribute entry %d in attr block %u, inode %llu " + "has bad name (namelen = %d)\n"), + i, da_bno, ino, (int) + INT_GET(local->namelen, ARCH_CONVERT)); clearit = 1; break; - }; + } - /* Check on the hash value. Checking ordering of hash values - * is not necessary, since one wrong one clears the whole + /* Check on the hash value. Checking order of values + * is not necessary, since one wrong clears the whole * fork. If the ordering's wrong, it's caught here or * the kernel code has a bug with transaction logging - * or attributes itself. For paranoia reasons, let's check + * or attributes itself. Being paranoid, let's check * ordering anyway in case both the name value and the * hashvalue were wrong but matched. Unlikely, however. */ if (INT_GET(entry->hashval, ARCH_CONVERT) != libxfs_da_hashname((char *)&local->nameval[0], - INT_GET(local->namelen, ARCH_CONVERT)) || - (INT_GET(entry->hashval, ARCH_CONVERT) - < last_hashval)) { - do_warn("bad hashvalue for attribute entry %d in attr block %u, inode %llu\n", + INT_GET(local->namelen, + ARCH_CONVERT)) || + (INT_GET(entry->hashval, ARCH_CONVERT) < + last_hashval)) { + do_warn( + _("bad hashvalue for attribute entry %d in " + "attr block %u, inode %llu\n"), i, da_bno, ino); clearit = 1; break; @@ -469,14 +509,19 @@ process_leaf_attr_block( /* Only check values for root security attributes */ if (INT_GET(entry->flags, ARCH_CONVERT) & XFS_ATTR_ROOT) if (valuecheck((char *)&local->nameval[0], NULL, - INT_GET(local->namelen, ARCH_CONVERT), INT_GET(local->valuelen, ARCH_CONVERT))) { - do_warn("bad security value for attribute entry %d in attr block %u, inode %llu\n", - i,da_bno,ino); + INT_GET(local->namelen, ARCH_CONVERT), + INT_GET(local->valuelen, ARCH_CONVERT))) { + do_warn( + _("bad security value for attribute entry %d in " + "attr block %u, inode %llu\n"), + i, da_bno, ino); clearit = 1; break; - }; + } + thissize = XFS_ATTR_LEAF_ENTSIZE_LOCAL( - INT_GET(local->namelen, ARCH_CONVERT), INT_GET(local->valuelen, ARCH_CONVERT)); + INT_GET(local->namelen, ARCH_CONVERT), + INT_GET(local->valuelen, ARCH_CONVERT)); } else { /* do the remote case */ @@ -494,30 +539,45 @@ process_leaf_attr_block( (INT_GET(entry->hashval, ARCH_CONVERT) < last_hashval) || (INT_GET(remotep->valueblk, ARCH_CONVERT) == 0)) { - do_warn("inconsistent remote attribute entry %d in attr block %u, ino %llu\n", + do_warn( + _("inconsistent remote attribute entry %d in " + "attr block %u, ino %llu\n"), i, da_bno, ino); clearit = 1; break; - }; + } if (INT_GET(entry->flags, ARCH_CONVERT) & XFS_ATTR_ROOT) { char* value; - if ((value = malloc(INT_GET(remotep->valuelen, ARCH_CONVERT)))==NULL){ - do_warn("cannot malloc enough for remotevalue attribute for inode %llu\n",ino); - do_warn("SKIPPING this remote attribute\n"); + + if ((value = malloc(INT_GET(remotep->valuelen, + ARCH_CONVERT))) == NULL) { + do_warn( + _("cannot malloc enough for remotevalue attribute for inode %llu\n"), + ino); + do_warn( + _("SKIPPING this remote attribute\n")); continue; } if (rmtval_get(mp, ino, blkmap, - INT_GET(remotep->valueblk, ARCH_CONVERT), - INT_GET(remotep->valuelen, ARCH_CONVERT), value)) { - do_warn("remote attribute get failed for entry %d, inode %llu\n", i,ino); + INT_GET(remotep->valueblk, + ARCH_CONVERT), + INT_GET(remotep->valuelen, + ARCH_CONVERT), value)) { + do_warn( + _("remote attribute get failed for entry %d, inode %llu\n"), i, ino); clearit = 1; free(value); break; } if (valuecheck((char *)&remotep->name[0], value, - INT_GET(remotep->namelen, ARCH_CONVERT), INT_GET(remotep->valuelen, ARCH_CONVERT))){ - do_warn("remote attribute value check failed for entry %d, inode %llu\n", i, ino); + INT_GET(remotep->namelen, + ARCH_CONVERT), + INT_GET(remotep->valuelen, + ARCH_CONVERT))) { + do_warn( + _("remote attribute value check failed for entry %d, inode %llu\n"), + i, ino); clearit = 1; free(value); break; @@ -529,9 +589,12 @@ process_leaf_attr_block( *current_hashval = last_hashval = INT_GET(entry->hashval, ARCH_CONVERT); - if (set_da_freemap(mp, attr_freemap, INT_GET(entry->nameidx, ARCH_CONVERT), - INT_GET(entry->nameidx, ARCH_CONVERT) + thissize)) { - do_warn("attribute entry %d in attr block %u, inode %llu claims used space\n", + if (set_da_freemap(mp, attr_freemap, + INT_GET(entry->nameidx, ARCH_CONVERT), + INT_GET(entry->nameidx, ARCH_CONVERT) + + thissize)) { + do_warn(_("attribute entry %d in attr block %u, " + "inode %llu claims used space\n"), i, da_bno, ino); clearit = 1; break; /* got an overlap */ @@ -554,7 +617,9 @@ process_leaf_attr_block( && firstb != INT_GET(leaf->hdr.firstused, ARCH_CONVERT)) || INT_GET(leaf->hdr.firstused, ARCH_CONVERT) > firstb) { if (!no_modify) { - do_warn("- resetting first used heap value from %d to %d in block %u of attribute fork of inode %llu\n", + do_warn( + _("- resetting first used heap value from %d to %d in " + "block %u of attribute fork of inode %llu\n"), (int)INT_GET(leaf->hdr.firstused, ARCH_CONVERT), firstb, da_bno, ino); @@ -562,7 +627,9 @@ process_leaf_attr_block( ARCH_CONVERT, firstb); *repair = 1; } else { - do_warn("- would reset first used value from %d to %d in block %u of attribute fork of inode %llu\n", + do_warn( + _("- would reset first used value from %d to %d in " + "block %u of attribute fork of inode %llu\n"), (int)INT_GET(leaf->hdr.firstused, ARCH_CONVERT), firstb, da_bno, ino); @@ -571,14 +638,18 @@ process_leaf_attr_block( if (usedbs != INT_GET(leaf->hdr.usedbytes, ARCH_CONVERT)) { if (!no_modify) { - do_warn("- resetting usedbytes cnt from %d to %d in block %u of attribute fork of inode %llu\n", + do_warn( + _("- resetting usedbytes cnt from %d to %d in " + "block %u of attribute fork of inode %llu\n"), (int)INT_GET(leaf->hdr.usedbytes, ARCH_CONVERT), usedbs, da_bno, ino); INT_SET(leaf->hdr.usedbytes, ARCH_CONVERT, usedbs); *repair = 1; } else { - do_warn("- would reset usedbytes cnt from %d to %d in block %u of attribute fork of %llu\n", + do_warn( + _("- would reset usedbytes cnt from %d to %d in " + "block %u of attribute fork of %llu\n"), (int)INT_GET(leaf->hdr.usedbytes, ARCH_CONVERT), usedbs,da_bno,ino); } @@ -626,16 +697,16 @@ process_leaf_attr_level(xfs_mount_t *mp, ASSERT(da_bno != 0); if (dev_bno == NULLDFSBNO) { - do_warn("can't map block %u for attribute fork " - "for inode %llu\n", da_bno, ino); + do_warn(_("can't map block %u for attribute fork " + "for inode %llu\n"), da_bno, ino); goto error_out; } bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, dev_bno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read file block %u (fsbno %llu) for" - " attribute fork of inode %llu\n", + do_warn(_("can't read file block %u (fsbno %llu) for" + " attribute fork of inode %llu\n"), da_bno, dev_bno, ino); goto error_out; } @@ -645,7 +716,8 @@ process_leaf_attr_level(xfs_mount_t *mp, /* check magic number for leaf directory btree block */ if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_ATTR_LEAF_MAGIC) { - do_warn("bad attribute leaf magic %#x for inode %llu\n", + do_warn(_("bad attribute leaf magic %#x " + "for inode %llu\n"), leaf->hdr.info.magic, ino); libxfs_putbuf(bp); goto error_out; @@ -676,8 +748,9 @@ process_leaf_attr_level(xfs_mount_t *mp, da_cursor->level[0].dirty = repair; if (INT_GET(leaf->hdr.info.back, ARCH_CONVERT) != prev_bno) { - do_warn("bad sibling back pointer for block %u in " - "attribute fork for inode %llu\n", da_bno, ino); + do_warn(_("bad sibling back pointer for block %u in " + "attribute fork for inode %llu\n"), + da_bno, ino); libxfs_putbuf(bp); goto error_out; } @@ -704,7 +777,7 @@ process_leaf_attr_level(xfs_mount_t *mp, /* * verify the final path up (right-hand-side) if still ok */ - do_warn("bad hash path in attribute fork for inode %llu\n", + do_warn(_("bad hash path in attribute fork for inode %llu\n"), da_cursor->ino); goto error_out; } @@ -805,22 +878,22 @@ process_longform_attr( /* it's okay the kernel can handle this state */ return(0); else { - do_warn("block 0 of inode %llu attribute fork" - " is missing\n", ino); + do_warn(_("block 0 of inode %llu attribute fork" + " is missing\n"), ino); return(1); } } /* FIX FOR bug 653709 -- EKN */ if (mp->m_sb.sb_agcount < XFS_FSB_TO_AGNO(mp, bno)) { - do_warn("agno of attribute fork of inode %llu out of " - "regular partition\n", ino); + do_warn(_("agno of attribute fork of inode %llu out of " + "regular partition\n"), ino); return(1); } bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, bno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read block 0 of inode %llu attribute fork\n", + do_warn(_("can't read block 0 of inode %llu attribute fork\n"), ino); return(1); } @@ -834,14 +907,14 @@ process_longform_attr( if ( INT_GET(leaf->hdr.info.forw, ARCH_CONVERT) != 0 || INT_GET(leaf->hdr.info.back, ARCH_CONVERT) != 0) { if (!no_modify) { - do_warn("clearing forw/back pointers in block 0 " - "for attributes in inode %llu\n", ino); + do_warn(_("clearing forw/back pointers in block 0 " + "for attributes in inode %llu\n"), ino); repairlinks = 1; INT_SET(leaf->hdr.info.forw, ARCH_CONVERT, 0); INT_SET(leaf->hdr.info.back, ARCH_CONVERT, 0); } else { - do_warn("would clear forw/back pointers in block 0 " - "for attributes in inode %llu\n", ino); + do_warn(_("would clear forw/back pointers in block 0 " + "for attributes in inode %llu\n"), ino); } } @@ -870,7 +943,7 @@ process_longform_attr( libxfs_putbuf(bp); return (process_node_attr(mp, ino, dip, blkmap)); /* + repair */ default: - do_warn("bad attribute leaf magic # %#x for dir ino %llu\n", + do_warn(_("bad attribute leaf magic # %#x for dir ino %llu\n"), INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), ino); libxfs_putbuf(bp); return(1); @@ -920,7 +993,8 @@ process_attributes( asf = (xfs_attr_shortform_t *) XFS_DFORK_APTR_ARCH(dip, ARCH_CONVERT); if (dinoc->di_aformat == XFS_DINODE_FMT_LOCAL) { - ASSERT(INT_GET(asf->hdr.totsize, ARCH_CONVERT) <= XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT)); + ASSERT(INT_GET(asf->hdr.totsize, ARCH_CONVERT) <= + XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT)); err = process_shortform_attr(ino, dip, repair); } else if (dinoc->di_aformat == XFS_DINODE_FMT_EXTENTS || dinoc->di_aformat == XFS_DINODE_FMT_BTREE) { @@ -929,7 +1003,7 @@ process_attributes( /* if err, convert this to shortform and clear it */ /* if repair and no error, it's taken care of */ } else { - do_warn("illegal attribute format %d, ino %llu\n", + do_warn(_("illegal attribute format %d, ino %llu\n"), dinoc->di_aformat, ino); err = 1; } diff --git a/repair/avl.c b/repair/avl.c index c2f510b06..25458bcea 100644 --- a/repair/avl.c +++ b/repair/avl.c @@ -1053,7 +1053,7 @@ avl_insert( if ((np = avl_insert_find_growth(tree, start, end, &growth)) == NULL) { if (start != end) { /* non-zero length range */ fprintf(stderr, - "avl_insert: Warning! duplicate range [%llu,%llu]\n", + _("avl_insert: Warning! duplicate range [%llu,%llu]\n"), (unsigned long long)start, (unsigned long long)end); } diff --git a/repair/avl64.c b/repair/avl64.c index 4308dcaf2..e6db97814 100644 --- a/repair/avl64.c +++ b/repair/avl64.c @@ -1045,7 +1045,7 @@ avl64_insert( == NULL) { if (start != end) { /* non-zero length range */ fprintf(stderr, - "avl_insert: Warning! duplicate range [%llu,%llu]\n", + _("avl_insert: Warning! duplicate range [%llu,%llu]\n"), (unsigned long long)start, (unsigned long long)end); } diff --git a/repair/bmap.c b/repair/bmap.c index 8ef670c32..0f60ef0cb 100644 --- a/repair/bmap.c +++ b/repair/bmap.c @@ -54,7 +54,8 @@ blkent_append( ent = *entp; size = BLKENT_SIZE(c + ent->nblks); if ((*entp = ent = realloc(ent, size)) == NULL) { - do_warn("realloc failed in blkent_append (%u bytes)\n", size); + do_warn(_("realloc failed in blkent_append (%u bytes)\n"), + size); return; } for (i = 0; i < c; i++) @@ -75,7 +76,7 @@ blkent_new( int i; if ((ent = malloc(BLKENT_SIZE(c))) == NULL) { - do_warn("malloc failed in blkent_new (%u bytes)\n", + do_warn(_("malloc failed in blkent_new (%u bytes)\n"), BLKENT_SIZE(c)); return ent; } @@ -101,7 +102,7 @@ blkent_prepend( oldent = *entp; if ((newent = malloc(BLKENT_SIZE(oldent->nblks + c))) == NULL) { - do_warn("malloc failed in blkent_prepend (%u bytes)\n", + do_warn(_("malloc failed in blkent_prepend (%u bytes)\n"), BLKENT_SIZE(oldent->nblks + c)); *entp = newent; return; @@ -128,7 +129,7 @@ blkmap_alloc( if (nex < 1) nex = 1; if ((blkmap = malloc(BLKMAP_SIZE(nex))) == NULL) { - do_warn("malloc failed in blkmap_alloc (%u bytes)\n", + do_warn(_("malloc failed in blkmap_alloc (%u bytes)\n"), BLKMAP_SIZE(nex)); return blkmap; } @@ -213,8 +214,8 @@ blkmap_getn( else { bmp = realloc(bmp, ++nex * sizeof(*bmp)); if (bmp == NULL) { - do_warn("realloc failed in blkmap_getn" - " (%u bytes)\n", + do_warn(_("blkmap_getn realloc failed" + " (%u bytes)\n"), nex * sizeof(*bmp)); continue; } @@ -249,7 +250,7 @@ blkmap_grow( if (blkmap->naents == blkmap->nents) { size = BLKMAP_SIZE(blkmap->nents + 1); if ((*blkmapp = blkmap = realloc(blkmap, size)) == NULL) { - do_warn("realloc failed in blkmap_grow (%u bytes)\n", + do_warn(_("realloc failed in blkmap_grow (%u bytes)\n"), size); return; } diff --git a/repair/dino_chunks.c b/repair/dino_chunks.c index 015fcb46e..587233259 100644 --- a/repair/dino_chunks.c +++ b/repair/dino_chunks.c @@ -68,7 +68,7 @@ check_aginode_block(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_AGB_TO_DADDR(mp, agno, agbno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("cannot read agbno (%u/%u), disk block %lld\n", agno, + do_warn(_("cannot read agbno (%u/%u), disk block %lld\n"), agno, agbno, (xfs_daddr_t)XFS_AGB_TO_DADDR(mp, agno, agbno)); return(0); } @@ -163,7 +163,8 @@ verify_inode_chunk(xfs_mount_t *mp, switch (state = get_agbno_state(mp, agno, agbno)) { case XR_E_INO: - do_warn("uncertain inode block %d/%d already known\n", + do_warn( + _("uncertain inode block %d/%d already known\n"), agno, agbno); break; case XR_E_UNKNOWN: @@ -179,12 +180,13 @@ verify_inode_chunk(xfs_mount_t *mp, * if block is already claimed, forget it. */ do_warn( - "inode block %d/%d multiply claimed, (state %d)\n", + _("inode block %d/%d multiply claimed, (state %d)\n"), agno, agbno, state); set_agbno_state(mp, agno, agbno, XR_E_MULT); return(0); default: - do_warn("inode block %d/%d bad state, (state %d)\n", + do_warn( + _("inode block %d/%d bad state, (state %d)\n"), agno, agbno, state); set_agbno_state(mp, agno, agbno, XR_E_INO); break; @@ -444,14 +446,14 @@ verify_inode_chunk(xfs_mount_t *mp, case XR_E_INUSE_FS: case XR_E_FS_MAP: do_warn( - "inode block %d/%d multiply claimed, (state %d)\n", + _("inode block %d/%d multiply claimed, (state %d)\n"), agno, cur_agbno, state); set_agbno_state(mp, agno, cur_agbno, XR_E_MULT); j = 1; break; case XR_E_INO: do_error( - "uncertain inode block overlap, agbno = %d, ino = %llu\n", + _("uncertain inode block overlap, agbno = %d, ino = %llu\n"), agbno, ino); break; default: @@ -487,7 +489,8 @@ verify_inode_chunk(xfs_mount_t *mp, cur_agbno < chunk_stop_agbno; cur_agbno++) { switch (state = get_agbno_state(mp, agno, cur_agbno)) { case XR_E_INO: - do_error("uncertain inode block %llu already known\n", + do_error( + _("uncertain inode block %llu already known\n"), XFS_AGB_TO_FSB(mp, agno, cur_agbno)); break; case XR_E_UNKNOWN: @@ -500,11 +503,12 @@ verify_inode_chunk(xfs_mount_t *mp, case XR_E_INUSE_FS: case XR_E_FS_MAP: do_error( - "inode block %d/%d multiply claimed, (state %d)\n", + _("inode block %d/%d multiply claimed, (state %d)\n"), agno, cur_agbno, state); break; default: - do_warn("inode block %d/%d bad state, (state %d)\n", + do_warn( + _("inode block %d/%d bad state, (state %d)\n"), agno, cur_agbno, state); set_agbno_state(mp, agno, cur_agbno, XR_E_INO); break; @@ -601,7 +605,7 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, bp = libxfs_readbuf(mp->m_dev, XFS_AGB_TO_DADDR(mp, agno, agbno), XFS_FSB_TO_BB(mp, XFS_IALLOC_BLOCKS(mp)), 0); if (!bp) { - do_warn("cannot read inode %llu, disk block %lld, cnt %d\n", + do_warn(_("cannot read inode %llu, disk block %lld, cnt %d\n"), XFS_AGINO_TO_INO(mp, agno, first_irec->ino_startnum), XFS_AGB_TO_DADDR(mp, agno, agbno), (int)XFS_FSB_TO_BB(mp, XFS_IALLOC_BLOCKS(mp))); @@ -698,8 +702,8 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, XFS_AGB_TO_DADDR(mp, agno, agbno), XFS_FSB_TO_BB(mp, XFS_IALLOC_BLOCKS(mp)), 0); if (!bp) { - do_warn("can't read inode %llu, disk block %lld, " - "cnt %d\n", XFS_AGINO_TO_INO(mp, agno, agino), + do_warn(_("can't read inode %llu, disk block %lld, " + "cnt %d\n"), XFS_AGINO_TO_INO(mp, agno, agino), XFS_AGB_TO_DADDR(mp, agno, agbno), (int)XFS_FSB_TO_BB(mp, XFS_IALLOC_BLOCKS(mp))); return(1); @@ -718,11 +722,11 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, set_agbno_state(mp, agno, agbno, XR_E_INO); break; case XR_E_BAD_STATE: - do_error("bad state in block map %d\n", state); + do_error(_("bad state in block map %d\n"), state); break; default: set_agbno_state(mp, agno, agbno, XR_E_MULT); - do_warn("inode block %llu multiply claimed, state was %d\n", + do_warn(_("inode block %llu multiply claimed, state was %d\n"), XFS_AGB_TO_FSB(mp, agno, agbno), state); break; } @@ -759,8 +763,8 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, if (verbose || no_modify || XFS_AGINO_TO_INO(mp, agno, agino) != old_orphanage_ino) { - do_warn("imap claims in-use inode %llu" - " is free, ", + do_warn(_("imap claims in-use inode " + "%llu is free, "), XFS_AGINO_TO_INO(mp, agno, agino)); } @@ -768,9 +772,9 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, if (verbose || (!no_modify && XFS_AGINO_TO_INO(mp, agno, agino) != old_orphanage_ino)) - do_warn("correcting imap\n"); + do_warn(_("correcting imap\n")); else - do_warn("would correct imap\n"); + do_warn(_("would correct imap\n")); } set_inode_used(ino_rec, irec_offset); } else { @@ -807,11 +811,11 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, need_root_inode = 1; if (!no_modify) { - do_warn("cleared root inode %llu\n", + do_warn(_("cleared root inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } else { - do_warn("would clear root inode %llu\n", + do_warn(_("would clear root inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } @@ -820,13 +824,13 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, need_rbmino = 1; if (!no_modify) { - do_warn("cleared realtime bitmap " - "inode %llu\n", + do_warn(_("cleared realtime bitmap " + "inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } else { - do_warn("would clear realtime bitmap " - "inode %llu\n", + do_warn(_("would clear realtime bitmap " + "inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } @@ -835,21 +839,21 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, need_rsumino = 1; if (!no_modify) { - do_warn("cleared realtime summary " - "inode %llu\n", + do_warn(_("cleared realtime summary " + "inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } else { - do_warn("would clear realtime summary " - "inode %llu\n", + do_warn(_("would clear realtime summary" + " inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } } else if (!no_modify) { - do_warn("cleared inode %llu\n", + do_warn(_("cleared inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } else { - do_warn("would have cleared inode %llu\n", + do_warn(_("would have cleared inode %llu\n"), XFS_AGINO_TO_INO(mp, agno, agino)); } } @@ -887,13 +891,13 @@ process_inode_chunk(xfs_mount_t *mp, xfs_agnumber_t agno, int num_inos, set_agbno_state(mp, agno, agbno, XR_E_INO); break; case XR_E_BAD_STATE: - do_error( "bad state in block map %d\n", + do_error(_("bad state in block map %d\n"), state); break; default: set_agbno_state(mp, agno, agbno, XR_E_MULT); - do_warn("inode block %llu multiply claimed, " - "state was %d\n", + do_warn(_("inode block %llu multiply claimed, " + "state was %d\n"), XFS_AGB_TO_FSB(mp, agno, agbno), state); break; } @@ -1025,7 +1029,7 @@ check_uncertain_aginodes(xfs_mount_t *mp, xfs_agnumber_t agno) * on disk to see if the referenced inodes are good */ - do_warn("found inodes not in the inode allocation tree\n"); + do_warn(_("found inodes not in the inode allocation tree\n")); do { /* @@ -1060,7 +1064,7 @@ check_uncertain_aginodes(xfs_mount_t *mp, xfs_agnumber_t agno) } while (irec != NULL); if (got_some) - do_warn("found inodes not in the inode allocation tree\n"); + do_warn(_("found inodes not in the inode allocation tree\n")); return; } @@ -1174,7 +1178,7 @@ process_uncertain_aginodes(xfs_mount_t *mp, xfs_agnumber_t agno) } while (irec != NULL); if (got_some) - do_warn("found inodes not in the inode allocation tree\n"); + do_warn(_("found inodes not in the inode allocation tree\n")); return(1); } diff --git a/repair/dinode.c b/repair/dinode.c index 50e05f0a3..91fd917a9 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -81,7 +81,7 @@ calc_attr_offset(xfs_mount_t *mp, xfs_dinode_t *dino) offset += INT_GET(dino->di_u.di_bmbt.bb_numrecs, ARCH_CONVERT) * sizeof(xfs_bmbt_rec_32_t); break; default: - do_error("Unknown inode format.\n"); + do_error(_("Unknown inode format.\n")); abort(); break; } @@ -98,10 +98,10 @@ clear_dinode_attr(xfs_mount_t *mp, xfs_dinode_t *dino, xfs_ino_t ino_num) ASSERT(dinoc->di_forkoff != 0); if (!no_modify) - fprintf(stderr, "clearing inode %llu attributes \n", + fprintf(stderr, _("clearing inode %llu attributes\n"), (unsigned long long)ino_num); else - fprintf(stderr, "would have cleared inode %llu attributes\n", + fprintf(stderr, _("would have cleared inode %llu attributes\n"), (unsigned long long)ino_num); if (INT_GET(dinoc->di_anextents, ARCH_CONVERT) != 0) { @@ -527,14 +527,14 @@ process_bmbt_reclist_int( int flag; /* extent flag */ if (whichfork == XFS_DATA_FORK) - forkname = "data"; + forkname = _("data"); else - forkname = "attr"; + forkname = _("attr"); if (type == XR_INO_RTDATA) - ftype = "real-time"; + ftype = _("real-time"); else - ftype = "regular"; + ftype = _("regular"); for (i = 0; i < numrecs; i++, rp++) { convert_extent(rp, &o, &s, &c, &flag); @@ -544,7 +544,8 @@ process_bmbt_reclist_int( *last_key = o; if (i > 0 && op + cp > o) { do_warn( -"bmap rec out of order, inode %llu entry %d [o s c] [%llu %llu %llu], %d [%llu %llu %llu]\n", + _("bmap rec out of order, inode %llu entry %d " + "[o s c] [%llu %llu %llu], %d [%llu %llu %llu]\n"), ino, i, o, s, c, i-1, op, sp, cp); return(1); } @@ -557,51 +558,54 @@ process_bmbt_reclist_int( */ if (c == 0) { do_warn( - "zero length extent (off = %llu, fsbno = %llu) in ino %llu\n", + _("zero length extent (off = %llu, fsbno = %llu) in ino %llu\n"), o, s, ino); return(1); } if (type == XR_INO_RTDATA) { if (s >= mp->m_sb.sb_rblocks) { do_warn( -"inode %llu - bad rt extent starting block number %llu, offset %llu\n", + _("inode %llu - bad rt extent start block number %llu, offset %llu\n"), ino, s, o); return(1); } if (s + c - 1 >= mp->m_sb.sb_rblocks) { do_warn( -"inode %llu - bad rt extent last block number %llu, offset %llu\n", + _("inode %llu - bad rt extent last block number %llu, offset %llu\n"), ino, s + c - 1, o); return(1); } if (s + c - 1 < s) { do_warn( -"inode %llu - bad rt extent overflows - start %llu, end %llu, offset %llu\n", + _("inode %llu - bad rt extent overflows - start %llu, end %llu, " + "offset %llu\n"), ino, s, s + c - 1, o); return(1); } } else { if (!verify_dfsbno(mp, s)) { do_warn( -"inode %llu - bad extent starting block number %llu, offset %llu\n", + _("inode %llu - bad extent starting block number %llu, offset %llu\n"), ino, s, o); return(1); } if (!verify_dfsbno(mp, s + c - 1)) { do_warn( -"inode %llu - bad extent last block number %llu, offset %llu\n", + _("inode %llu - bad extent last block number %llu, offset %llu\n"), ino, s + c - 1, o); return(1); } if (s + c - 1 < s) { do_warn( -"inode %llu - bad extent overflows - start %llu, end %llu, offset %llu\n", + _("inode %llu - bad extent overflows - start %llu, end %llu, " + "offset %llu\n"), ino, s, s + c - 1, o); return(1); } if (o >= fs_max_file_offset) { do_warn( -"inode %llu - extent offset too large - start %llu, count %llu, offset %llu\n", + _("inode %llu - extent offset too large - start %llu, count %llu, " + "offset %llu\n"), ino, s, c, o); return(1); } @@ -619,7 +623,7 @@ process_bmbt_reclist_int( && (s % mp->m_sb.sb_rextsize != 0 || c % mp->m_sb.sb_rextsize != 0)) { do_warn( -"malformed rt inode extent [%llu %llu] (fs rtext size = %u)\n", + _("malformed rt inode extent [%llu %llu] (fs rtext size = %u)\n"), s, c, mp->m_sb.sb_rextsize); return(1); } @@ -633,7 +637,8 @@ process_bmbt_reclist_int( if (check_dups == 1) { if (search_rt_dup_extent(mp, ext)) { do_warn( -"data fork in rt ino %llu claims dup rt extent, off - %llu, start - %llu, count %llu\n", + _("data fork in rt ino %llu claims dup rt extent, off - %llu, " + "start - %llu, count %llu\n"), ino, o, s, c); return(1); } @@ -647,7 +652,7 @@ process_bmbt_reclist_int( /* XXX - turn this back on after we run process_rtbitmap() in phase2 do_warn( - "%s fork in rt ino %llu claims free rt block %llu\n", + _("%s fork in rt ino %llu claims free rt block %llu\n"), forkname, ino, ext); */ /* fall through ... */ @@ -656,26 +661,26 @@ process_bmbt_reclist_int( break; case XR_E_BAD_STATE: do_error( - "bad state in rt block map %llu\n", ext); + _("bad state in rt block map %llu\n"), ext); abort(); break; case XR_E_FS_MAP: case XR_E_INO: case XR_E_INUSE_FS: do_error( - "%s fork in rt inode %llu found metadata block %llu in %s bmap\n", + _("%s fork in rt inode %llu found metadata block %llu in %s bmap\n"), forkname, ino, ext, ftype); case XR_E_INUSE: case XR_E_MULT: set_rtbno_state(mp, ext, XR_E_MULT); do_warn( - "%s fork in rt inode %llu claims used rt block %llu\n", + _("%s fork in rt inode %llu claims used rt block %llu\n"), forkname, ino, ext); return(1); case XR_E_FREE1: default: do_error( - "illegal state %d in %s block map %llu\n", + _("illegal state %d in %s block map %llu\n"), state, ftype, b); } } @@ -710,7 +715,8 @@ process_bmbt_reclist_int( XFS_FSB_TO_AGNO(mp, b), XFS_FSB_TO_AGBNO(mp, b))) { do_warn( -"%s fork in ino %llu claims dup extent, off - %llu, start - %llu, cnt %llu\n", + _("%s fork in ino %llu claims dup extent, off - %llu, " + "start - %llu, cnt %llu\n"), forkname, ino, o, s, c); return(1); } @@ -731,32 +737,33 @@ process_bmbt_reclist_int( case XR_E_FREE: case XR_E_FREE1: do_warn( - "%s fork in ino %llu claims free block %llu\n", + _("%s fork in ino %llu claims free block %llu\n"), forkname, ino, (__uint64_t) b); /* fall through ... */ case XR_E_UNKNOWN: set_fsbno_state(mp, b, XR_E_INUSE); break; case XR_E_BAD_STATE: - do_error("bad state in block map %llu\n", b); + do_error(_("bad state in block map %llu\n"), b); abort(); break; case XR_E_FS_MAP: case XR_E_INO: case XR_E_INUSE_FS: do_warn( - "%s fork in inode %llu claims metadata block %llu\n", + _("%s fork in inode %llu claims metadata block %llu\n"), forkname, ino, (__uint64_t) b); return(1); case XR_E_INUSE: case XR_E_MULT: set_fsbno_state(mp, b, XR_E_MULT); do_warn( - "%s fork in %s inode %llu claims used block %llu\n", + _("%s fork in %s inode %llu claims used block %llu\n"), forkname, ftype, ino, (__uint64_t) b); return(1); default: - do_error("illegal state %d in block map %llu\n", + do_error( + _("illegal state %d in block map %llu\n"), state, b); abort(); } @@ -834,7 +841,7 @@ get_agino_buf(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_AGB_TO_DADDR(mp, agno, XFS_AGINO_TO_AGBNO(mp, irec->ino_startnum)), size, 0); if (!bp) { - do_warn("cannot read inode (%u/%u), disk block %lld\n", + do_warn(_("cannot read inode (%u/%u), disk block %lld\n"), agno, irec->ino_startnum, XFS_AGB_TO_DADDR(mp, agno, XFS_AGINO_TO_AGBNO(mp, irec->ino_startnum))); @@ -950,7 +957,7 @@ getfunc_btree(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, fsbno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_error("cannot read bmap block %llu\n", fsbno); + do_error(_("cannot read bmap block %llu\n"), fsbno); return(NULLDFSBNO); } block = XFS_BUF_TO_BMBT_BLOCK(bp); @@ -967,8 +974,8 @@ getfunc_btree(xfs_mount_t *mp, if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_bmap_dmxr[1]) { - do_warn("# of bmap records in inode %llu exceeds max " - "(%u, max - %u)\n", + do_warn(_("# of bmap records in inode %llu exceeds max " + "(%u, max - %u)\n"), ino, INT_GET(block->bb_numrecs, ARCH_CONVERT), mp->m_bmap_dmxr[1]); libxfs_putbuf(bp); @@ -976,8 +983,8 @@ getfunc_btree(xfs_mount_t *mp, } if (verbose && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_bmap_dmnr[1]) { - do_warn("- # of bmap records in inode %llu < than min " - "(%u, min - %u), proceeding ...\n", + do_warn(_("- # of bmap records in inode %llu less than " + "minimum (%u, min - %u), proceeding ...\n"), ino, INT_GET(block->bb_numrecs, ARCH_CONVERT), mp->m_bmap_dmnr[1]); } @@ -1011,7 +1018,7 @@ getfunc_btree(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, fsbno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_error("cannot read bmap block %llu\n", fsbno); + do_error(_("cannot read bmap block %llu\n"), fsbno); return(NULLDFSBNO); } block = XFS_BUF_TO_BMBT_BLOCK(bp); @@ -1022,8 +1029,8 @@ getfunc_btree(xfs_mount_t *mp, */ ASSERT(INT_GET(block->bb_level, ARCH_CONVERT) == 0); if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_bmap_dmxr[0]) { - do_warn("# of bmap records in inode %llu greater than max " - "(%u, max - %u)\n", + do_warn(_("# of bmap records in inode %llu greater than " + "maximum (%u, max - %u)\n"), ino, INT_GET(block->bb_numrecs, ARCH_CONVERT), mp->m_bmap_dmxr[0]); libxfs_putbuf(bp); @@ -1031,8 +1038,8 @@ getfunc_btree(xfs_mount_t *mp, } if (verbose && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_bmap_dmnr[0]) - do_warn("- # of bmap records in inode %llu < min " - "(%u, min - %u), continuing...\n", + do_warn(_("- # of bmap records in inode %llu less than minimum " + "(%u, min - %u), continuing...\n"), ino, INT_GET(block->bb_numrecs, ARCH_CONVERT), mp->m_bmap_dmnr[0]); @@ -1049,7 +1056,7 @@ getfunc_btree(xfs_mount_t *mp, libxfs_putbuf(bp); if (final_fsbno == NULLDFSBNO) - do_warn("could not map block %llu\n", bno); + do_warn(_("could not map block %llu\n"), bno); return(final_fsbno); } @@ -1081,14 +1088,15 @@ get_bmapi(xfs_mount_t *mp, xfs_dinode_t *dino_p, fsbno = getfunc_btree(mp, ino_num, dino_p, bno, whichfork); break; case XFS_DINODE_FMT_LOCAL: - do_error("get_bmapi() called for local inode %llu\n", ino_num); + do_error(_("get_bmapi() called for local inode %llu\n"), + ino_num); fsbno = NULLDFSBNO; break; default: /* * shouldn't happen */ - do_error("bad inode format for inode %llu\n", ino_num); + do_error(_("bad inode format for inode %llu\n"), ino_num); fsbno = NULLDFSBNO; } @@ -1134,9 +1142,9 @@ process_btinode( *nex = 0; if (whichfork == XFS_DATA_FORK) - forkname = "data"; + forkname = _("data"); else - forkname = "attr"; + forkname = _("attr"); if (INT_GET(dib->bb_level, ARCH_CONVERT) == 0) { /* @@ -1152,7 +1160,7 @@ process_btinode( * to by the pointers in the fork. For now * though, we just bail (and blow out the inode). */ - do_warn("bad level 0 in inode %llu bmap btree root block\n", + do_warn(_("bad level 0 in inode %llu bmap btree root block\n"), XFS_AGINO_TO_INO(mp, agno, ino)); return(1); } @@ -1166,19 +1174,25 @@ process_btinode( XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT) : XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT))) { do_warn( -"indicated size of %s btree root (%d bytes) > space in inode %llu %s fork\n", - forkname, XFS_BMDR_SPACE_CALC(INT_GET(dib->bb_numrecs, ARCH_CONVERT)), + _("indicated size of %s btree root (%d bytes) greater than space in " + "inode %llu %s fork\n"), + forkname, XFS_BMDR_SPACE_CALC(INT_GET(dib->bb_numrecs, + ARCH_CONVERT)), lino, forkname); return(1); } - pp = XFS_BTREE_PTR_ADDR(XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), + pp = XFS_BTREE_PTR_ADDR( + XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), xfs_bmdr, dib, 1, - XFS_BTREE_BLOCK_MAXRECS(XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), + XFS_BTREE_BLOCK_MAXRECS( + XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), xfs_bmdr, 0)); - pkey = XFS_BTREE_KEY_ADDR(XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), + pkey = XFS_BTREE_KEY_ADDR( + XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), xfs_bmdr, dib, 1, - XFS_BTREE_BLOCK_MAXRECS(XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), + XFS_BTREE_BLOCK_MAXRECS( + XFS_DFORK_SIZE_ARCH(dip, mp, whichfork, ARCH_CONVERT), xfs_bmdr, 0)); last_key = NULLDFILOFF; @@ -1190,7 +1204,7 @@ process_btinode( * problem, we'll bail out and presumably clear the inode. */ if (!verify_dfsbno(mp, INT_GET(pp[i], ARCH_CONVERT))) { - do_warn("bad bmap btree ptr 0x%llx in ino %llu\n", + do_warn(_("bad bmap btree ptr 0x%llx in ino %llu\n"), INT_GET(pp[i], ARCH_CONVERT), lino); return(1); } @@ -1207,22 +1221,31 @@ process_btinode( * blocks but the parent hasn't been updated */ if (check_dups == 0 && - cursor.level[INT_GET(dib->bb_level, ARCH_CONVERT)-1].first_key != - INT_GET(pkey[i].br_startoff, ARCH_CONVERT)) { + cursor.level[INT_GET(dib->bb_level, + ARCH_CONVERT)-1].first_key != + INT_GET(pkey[i].br_startoff, ARCH_CONVERT)) { if (!no_modify) { do_warn( -"correcting key in bmbt root (was %llu, now %llu) in inode %llu %s fork\n", - INT_GET(pkey[i].br_startoff, ARCH_CONVERT), - cursor.level[INT_GET(dib->bb_level, ARCH_CONVERT)-1].first_key, + _("correcting key in bmbt root (was %llu, now %llu) in inode " + "%llu %s fork\n"), + INT_GET(pkey[i].br_startoff, + ARCH_CONVERT), + cursor.level[INT_GET(dib->bb_level, + ARCH_CONVERT)-1].first_key, XFS_AGINO_TO_INO(mp, agno, ino), forkname); *dirty = 1; - INT_SET(pkey[i].br_startoff, ARCH_CONVERT, cursor.level[INT_GET(dib->bb_level, ARCH_CONVERT)-1].first_key); + INT_SET(pkey[i].br_startoff, ARCH_CONVERT, + cursor.level[INT_GET(dib->bb_level, + ARCH_CONVERT)-1].first_key); } else { do_warn( -"bad key in bmbt root (is %llu, would reset to %llu) in inode %llu %s fork\n", - INT_GET(pkey[i].br_startoff, ARCH_CONVERT), - cursor.level[INT_GET(dib->bb_level, ARCH_CONVERT)-1].first_key, + _("bad key in bmbt root (is %llu, would reset to %llu) in inode " + "%llu %s fork\n"), + INT_GET(pkey[i].br_startoff, + ARCH_CONVERT), + cursor.level[INT_GET(dib->bb_level, + ARCH_CONVERT)-1].first_key, XFS_AGINO_TO_INO(mp, agno, ino), forkname); } @@ -1233,15 +1256,17 @@ process_btinode( */ if (check_dups == 0) { if (last_key != NULLDFILOFF && last_key >= - cursor.level[INT_GET(dib->bb_level, ARCH_CONVERT)-1].first_key) { + cursor.level[INT_GET(dib->bb_level, + ARCH_CONVERT)-1].first_key) { do_warn( - "out of order bmbt root key %llu in inode %llu %s fork\n", + _("out of order bmbt root key %llu in inode %llu %s fork\n"), first_key, XFS_AGINO_TO_INO(mp, agno, ino), forkname); return(1); } - last_key = cursor.level[INT_GET(dib->bb_level, ARCH_CONVERT)-1].first_key; + last_key = cursor.level[INT_GET(dib->bb_level, + ARCH_CONVERT)-1].first_key; } } /* @@ -1251,10 +1276,10 @@ process_btinode( if (check_dups == 0 && cursor.level[0].right_fsbno != NULLDFSBNO) { do_warn( - "bad fwd (right) sibling pointer (saw %llu should be NULLDFSBNO)\n", + _("bad fwd (right) sibling pointer (saw %llu should be NULLDFSBNO)\n"), cursor.level[0].right_fsbno); do_warn( - "\tin inode %u (%s fork) bmap btree block %llu\n", + _("\tin inode %u (%s fork) bmap btree block %llu\n"), XFS_AGINO_TO_INO(mp, agno, ino), forkname, cursor.level[0].fsbno); return(1); @@ -1332,25 +1357,30 @@ process_lclinode( dic = &dip->di_core; lino = XFS_AGINO_TO_INO(mp, agno, ino); if (whichfork == XFS_DATA_FORK && - INT_GET(dic->di_size, ARCH_CONVERT) > XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT)) { + INT_GET(dic->di_size, ARCH_CONVERT) > + XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT)) { do_warn( - "local inode %llu data fork is too large (size = %lld, max = %d)\n", - lino, INT_GET(dic->di_size, ARCH_CONVERT), XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT)); + _("local inode %llu data fork is too large (size = %lld, max = %d)\n"), + lino, INT_GET(dic->di_size, ARCH_CONVERT), + XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT)); return(1); } else if (whichfork == XFS_ATTR_FORK) { - asf = (xfs_attr_shortform_t *) XFS_DFORK_APTR_ARCH(dip, ARCH_CONVERT); - if (INT_GET(asf->hdr.totsize, ARCH_CONVERT) > XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT)) { + asf = (xfs_attr_shortform_t *) + XFS_DFORK_APTR_ARCH(dip, ARCH_CONVERT); + if (INT_GET(asf->hdr.totsize, ARCH_CONVERT) > + XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT)) { do_warn( - "local inode %llu attr fork too large (size %d, max = %d)\n", - lino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), - XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT)); + _("local inode %llu attr fork too large (size %d, max = %d)\n"), + lino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), + XFS_DFORK_ASIZE_ARCH(dip, mp, ARCH_CONVERT)); return(1); } - if (INT_GET(asf->hdr.totsize, ARCH_CONVERT) < sizeof(xfs_attr_sf_hdr_t)) { + if (INT_GET(asf->hdr.totsize, ARCH_CONVERT) < + sizeof(xfs_attr_sf_hdr_t)) { do_warn( - "local inode %llu attr too small (size = %d, min size = %d)\n", - lino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), - sizeof(xfs_attr_sf_hdr_t)); + _("local inode %llu attr too small (size = %d, min size = %d)\n"), + lino, INT_GET(asf->hdr.totsize, ARCH_CONVERT), + sizeof(xfs_attr_sf_hdr_t)); return(1); } } @@ -1372,12 +1402,13 @@ process_symlink_extlist(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino) int whichfork = XFS_DATA_FORK; int flag; - if (INT_GET(dino->di_core.di_size, ARCH_CONVERT) <= XFS_DFORK_SIZE_ARCH(dino, mp, whichfork, ARCH_CONVERT)) { + if (INT_GET(dino->di_core.di_size, ARCH_CONVERT) <= + XFS_DFORK_SIZE_ARCH(dino, mp, whichfork, ARCH_CONVERT)) { if (dino->di_core.di_format == XFS_DINODE_FMT_LOCAL) { return(0); } else { do_warn( -"mismatch between format (%d) and size (%lld) in symlink ino %llu\n", + _("mismatch between format (%d) and size (%lld) in symlink ino %llu\n"), dino->di_core.di_format, INT_GET(dino->di_core.di_size, ARCH_CONVERT), lino); @@ -1385,7 +1416,7 @@ process_symlink_extlist(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino) } } else if (dino->di_core.di_format == XFS_DINODE_FMT_LOCAL) { do_warn( -"mismatch between format (%d) and size (%lld) in symlink inode %llu\n", + _("mismatch between format (%d) and size (%lld) in symlink inode %llu\n"), dino->di_core.di_format, INT_GET(dino->di_core.di_size, ARCH_CONVERT), lino); @@ -1401,7 +1432,7 @@ process_symlink_extlist(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino) */ if (numrecs > max_symlink_blocks) { do_warn( - "bad number of extents (%d) in symlink %llu data fork\n", + _("bad number of extents (%d) in symlink %llu data fork\n"), numrecs, lino); return(1); } @@ -1414,13 +1445,13 @@ process_symlink_extlist(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino) if (offset != expected_offset) { do_warn( - "bad extent #%d offset (%llu) in symlink %llu data fork\n", + _("bad extent #%d offset (%llu) in symlink %llu data fork\n"), i, offset, lino); return(1); } if (cnt == 0 || cnt > max_blocks) { do_warn( - "bad extent #%d count (%llu) in symlink %llu data fork\n", + _("bad extent #%d count (%llu) in symlink %llu data fork\n"), i, cnt, lino); return(1); } @@ -1473,7 +1504,7 @@ process_symlink(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino, * for that */ if (INT_GET(dinoc->di_size, ARCH_CONVERT) >= MAXPATHLEN) { - do_warn("symlink in inode %llu too long (%lld chars)\n", + do_warn(_("symlink in inode %llu too long (%lld chars)\n"), lino, INT_GET(dinoc->di_size, ARCH_CONVERT)); return(1); } @@ -1506,8 +1537,9 @@ process_symlink(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino, XFS_FSB_TO_DADDR(mp, fsbno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp || fsbno == NULLDFSBNO) { - do_warn("cannot read inode %llu, file block %d," - " disk block %llu\n", lino, i, fsbno); + do_warn( + _("cannot read inode %llu, file block %d, disk block %llu\n"), + lino, i, fsbno); return(1); } @@ -1527,7 +1559,8 @@ process_symlink(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino, * check for nulls */ if (null_check(symlink, (int) INT_GET(dinoc->di_size, ARCH_CONVERT))) { - do_warn("found illegal null character in symlink inode %llu\n", + do_warn( + _("found illegal null character in symlink inode %llu\n"), lino); return(1); } @@ -1541,7 +1574,7 @@ process_symlink(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino, while (cptr != NULL) { if (cptr - symlink >= MAXNAMELEN) { do_warn( - "component of symlink in inode %llu too long\n", + _("component of symlink in inode %llu too long\n"), lino); return(1); } @@ -1550,7 +1583,8 @@ process_symlink(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino, } if (strlen(symlink) >= MAXNAMELEN) { - do_warn("component of symlink in inode %llu too long\n", + do_warn( + _("component of symlink in inode %llu too long\n"), lino); return(1); } @@ -1576,7 +1610,7 @@ process_misc_ino_types(xfs_mount_t *mp, * probably require a superblock version rev, sigh). */ if (type == XR_INO_MOUNTPOINT) { - do_warn("inode %llu has bad inode type (IFMNT)\n", lino); + do_warn(_("inode %llu has bad inode type (IFMNT)\n"), lino); return(1); } @@ -1586,28 +1620,28 @@ process_misc_ino_types(xfs_mount_t *mp, if (INT_GET(dino->di_core.di_size, ARCH_CONVERT) != 0) { switch (type) { case XR_INO_CHRDEV: - do_warn("size of character device inode %llu != 0 " - "(%lld bytes)\n", lino, + do_warn(_("size of character device inode %llu != 0 " + "(%lld bytes)\n"), lino, INT_GET(dino->di_core.di_size, ARCH_CONVERT)); break; case XR_INO_BLKDEV: - do_warn("size of block device inode %llu != 0 " - "(%lld bytes)\n", lino, + do_warn(_("size of block device inode %llu != 0 " + "(%lld bytes)\n"), lino, INT_GET(dino->di_core.di_size, ARCH_CONVERT)); break; case XR_INO_SOCK: - do_warn("size of socket inode %llu != 0 " - "(%lld bytes)\n", lino, + do_warn(_("size of socket inode %llu != 0 " + "(%lld bytes)\n"), lino, INT_GET(dino->di_core.di_size, ARCH_CONVERT)); break; case XR_INO_FIFO: - do_warn("size of fifo inode %llu != 0 " - "(%lld bytes)\n", lino, + do_warn(_("size of fifo inode %llu != 0 " + "(%lld bytes)\n"), lino, INT_GET(dino->di_core.di_size, ARCH_CONVERT)); break; default: - do_warn("Internal error - process_misc_ino_types, " - "illegal type %d\n", type); + do_warn(_("Internal error - process_misc_ino_types, " + "illegal type %d\n"), type); abort(); } @@ -1633,22 +1667,22 @@ process_misc_ino_types_blocks(xfs_drfsbno_t totblocks, xfs_ino_t lino, int type) switch (type) { case XR_INO_CHRDEV: do_warn( - "size of character device inode %llu != 0 (%llu blocks)\n", + _("size of character device inode %llu != 0 (%llu blocks)\n"), lino, totblocks); break; case XR_INO_BLKDEV: do_warn( - "size of block device inode %llu != 0 (%llu blocks)\n", + _("size of block device inode %llu != 0 (%llu blocks)\n"), lino, totblocks); break; case XR_INO_SOCK: do_warn( - "size of socket inode %llu != 0 (%llu blocks)\n", + _("size of socket inode %llu != 0 (%llu blocks)\n"), lino, totblocks); break; case XR_INO_FIFO: do_warn( - "size of fifo inode %llu != 0 (%llu blocks)\n", + _("size of fifo inode %llu != 0 (%llu blocks)\n"), lino, totblocks); break; default: @@ -1752,17 +1786,18 @@ process_dinode_int(xfs_mount_t *mp, if (INT_GET(dinoc->di_magic, ARCH_CONVERT) != XFS_DINODE_MAGIC) { retval++; if (!verify_mode) { - do_warn("bad magic number 0x%x on inode %llu, ", + do_warn(_("bad magic number 0x%x on inode %llu, "), INT_GET(dinoc->di_magic, ARCH_CONVERT), lino); if (!no_modify) { - do_warn("resetting magic number\n"); + do_warn(_("resetting magic number\n")); *dirty = 1; - INT_SET(dinoc->di_magic, ARCH_CONVERT, XFS_DINODE_MAGIC); + INT_SET(dinoc->di_magic, ARCH_CONVERT, + XFS_DINODE_MAGIC); } else { - do_warn("would reset magic number\n"); + do_warn(_("would reset magic number\n")); } } else if (!uncertain) { - do_warn("bad magic number 0x%x on inode %llu\n", + do_warn(_("bad magic number 0x%x on inode %llu\n"), INT_GET(dinoc->di_magic, ARCH_CONVERT), lino); } } @@ -1771,19 +1806,19 @@ process_dinode_int(xfs_mount_t *mp, (!fs_inode_nlink && dinoc->di_version > XFS_DINODE_VERSION_1)) { retval++; if (!verify_mode) { - do_warn("bad version number 0x%x on inode %llu, ", + do_warn(_("bad version number 0x%x on inode %llu, "), dinoc->di_version, lino); if (!no_modify) { - do_warn("resetting version number\n"); + do_warn(_("resetting version number\n")); *dirty = 1; dinoc->di_version = (fs_inode_nlink) ? XFS_DINODE_VERSION_2 : XFS_DINODE_VERSION_1; } else { - do_warn("would reset version number\n"); + do_warn(_("would reset version number\n")); } } else if (!uncertain) { - do_warn("bad version number 0x%x on inode %llu\n", + do_warn(_("bad version number 0x%x on inode %llu\n"), dinoc->di_version, lino); } } @@ -1794,7 +1829,7 @@ process_dinode_int(xfs_mount_t *mp, if (INT_GET(dinoc->di_size, ARCH_CONVERT) < 0) { retval++; if (!verify_mode) { - do_warn("bad (negative) size %lld on inode %llu\n", + do_warn(_("bad (negative) size %lld on inode %llu\n"), INT_GET(dinoc->di_size, ARCH_CONVERT), lino); if (!no_modify) { *dirty += clear_dinode(mp, dino, lino); @@ -1805,7 +1840,7 @@ process_dinode_int(xfs_mount_t *mp, } *used = is_free; } else if (!uncertain) { - do_warn("bad (negative) size %lld on inode %llu\n", + do_warn(_("bad (negative) size %lld on inode %llu\n"), INT_GET(dinoc->di_size, ARCH_CONVERT), lino); } @@ -1836,10 +1871,10 @@ process_dinode_int(xfs_mount_t *mp, * clear the inode just to be safe and mark the inode * free. */ - do_warn("imap claims a free inode %llu is in use, ", lino); + do_warn(_("imap claims a free inode %llu is in use, "), lino); if (!no_modify) { - do_warn("correcting imap and clearing inode\n"); + do_warn(_("correcting imap and clearing inode\n")); err = clear_dinode(mp, dino, lino); if (err) { @@ -1848,7 +1883,7 @@ process_dinode_int(xfs_mount_t *mp, *cleared = 1; } } else { - do_warn("would correct imap and clear inode\n"); + do_warn(_("would correct imap and clear inode\n")); *dirty = 1; *cleared = 1; @@ -1877,7 +1912,7 @@ process_dinode_int(xfs_mount_t *mp, /* bad inode format */ retval++; if (!uncertain) - do_warn("bad inode format in inode %llu\n", lino); + do_warn(_("bad inode format in inode %llu\n"), lino); if (!verify_mode) { if (!no_modify) { *dirty += clear_dinode(mp, dino, lino); @@ -1941,7 +1976,7 @@ process_dinode_int(xfs_mount_t *mp, break; default: type = XR_INO_UNKNOWN; - do_warn("Unexpected inode type %#o inode %llu\n", + do_warn(_("Unexpected inode type %#o inode %llu\n"), (int) (INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT), lino); abort(); break; @@ -1951,27 +1986,29 @@ process_dinode_int(xfs_mount_t *mp, * type checks for root, realtime inodes, and quota inodes */ if (lino == mp->m_sb.sb_rootino && type != XR_INO_DIR) { - do_warn("bad inode type for root inode %llu, ", lino); + do_warn(_("bad inode type for root inode %llu, "), lino); type = XR_INO_DIR; if (!no_modify) { - do_warn("resetting to directory\n"); - INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, &= ~(INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT)); - INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, |= INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFDIR); + do_warn(_("resetting to directory\n")); + INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, + &= ~(INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT)); + INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, + |= INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFDIR); } else { - do_warn("would reset to directory\n"); + do_warn(_("would reset to directory\n")); } } else if (lino == mp->m_sb.sb_rsumino) { do_rt = 1; - rstring = "summary"; + rstring = _("summary"); rtype = XR_INO_RTSUM; } else if (lino == mp->m_sb.sb_rbmino) { do_rt = 1; - rstring = "bitmap"; + rstring = _("bitmap"); rtype = XR_INO_RTBITMAP; } else if (lino == mp->m_sb.sb_uquotino) { if (type != XR_INO_DATA) { - do_warn("user quota inode has bad type 0x%x\n", + do_warn(_("user quota inode has bad type 0x%x\n"), INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT); if (!no_modify) { @@ -1989,7 +2026,7 @@ process_dinode_int(xfs_mount_t *mp, } } else if (lino == mp->m_sb.sb_gquotino) { if (type != XR_INO_DATA) { - do_warn("group quota inode has bad type 0x%x\n", + do_warn(_("group quota inode has bad type 0x%x\n"), INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT); if (!no_modify) { @@ -2010,15 +2047,17 @@ process_dinode_int(xfs_mount_t *mp, if (do_rt && type != rtype) { type = XR_INO_DATA; - do_warn("bad inode type for realtime %s inode %llu, ", + do_warn(_("bad inode type for realtime %s inode %llu, "), rstring, lino); if (!no_modify) { - do_warn("resetting to regular file\n"); - INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, &= ~(INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT)); - INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, |= INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFREG); + do_warn(_("resetting to regular file\n")); + INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, + &= ~(INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFMT)); + INT_MOD_EXPR(dinoc->di_mode, ARCH_CONVERT, + |= INT_GET(dinoc->di_mode, ARCH_CONVERT) & IFREG); } else { - do_warn("would reset to regular file\n"); + do_warn(_("would reset to regular file\n")); } } @@ -2027,15 +2066,15 @@ process_dinode_int(xfs_mount_t *mp, */ if (type != XR_INO_RTDATA && INT_GET(dinoc->di_extsize, ARCH_CONVERT) != 0) { do_warn( -"bad non-zero extent size value %u for non-realtime inode %llu, ", + _("bad non-zero extent size value %u for non-realtime inode %llu, "), INT_GET(dinoc->di_extsize, ARCH_CONVERT), lino); if (!no_modify) { - do_warn("resetting to zero\n"); + do_warn(_("resetting to zero\n")); INT_ZERO(dinoc->di_extsize, ARCH_CONVERT); *dirty = 1; } else { - do_warn("would reset to zero\n"); + do_warn(_("would reset to zero\n")); } } @@ -2048,7 +2087,7 @@ process_dinode_int(xfs_mount_t *mp, */ if (do_rt && INT_GET(dinoc->di_size, ARCH_CONVERT) != mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize) { - do_warn("bad size %llu for realtime %s inode %llu\n", + do_warn(_("bad size %llu for realtime %s inode %llu\n"), INT_GET(dinoc->di_size, ARCH_CONVERT), rstring, lino); if (!no_modify) { @@ -2064,7 +2103,7 @@ process_dinode_int(xfs_mount_t *mp, } if (do_rt && mp->m_sb.sb_rblocks == 0 && INT_GET(dinoc->di_nextents, ARCH_CONVERT) != 0) { - do_warn("bad # of extents (%u) for realtime %s inode %llu\n", + do_warn(_("bad # of extents (%u) for realtime %s inode %llu\n"), INT_GET(dinoc->di_nextents, ARCH_CONVERT), rstring, lino); if (!no_modify) { @@ -2102,10 +2141,11 @@ process_dinode_int(xfs_mount_t *mp, */ switch (type) { case XR_INO_DIR: - if (INT_GET(dinoc->di_size, ARCH_CONVERT) <= XFS_DFORK_DSIZE_ARCH(dino, mp, ARCH_CONVERT) - && dinoc->di_format != XFS_DINODE_FMT_LOCAL) { + if (INT_GET(dinoc->di_size, ARCH_CONVERT) <= + XFS_DFORK_DSIZE_ARCH(dino, mp, ARCH_CONVERT) && + (dinoc->di_format != XFS_DINODE_FMT_LOCAL)) { do_warn( -"mismatch between format (%d) and size (%lld) in directory ino %llu\n", +_("mismatch between format (%d) and size (%lld) in directory ino %llu\n"), dinoc->di_format, INT_GET(dinoc->di_size, ARCH_CONVERT), lino); @@ -2127,7 +2167,7 @@ process_dinode_int(xfs_mount_t *mp, break; case XR_INO_SYMLINK: if (process_symlink_extlist(mp, lino, dino)) { - do_warn("bad data fork in symlink %llu\n", lino); + do_warn(_("bad data fork in symlink %llu\n"), lino); if (!no_modify) { *dirty += clear_dinode(mp, @@ -2169,7 +2209,7 @@ process_dinode_int(xfs_mount_t *mp, */ if (mp->m_sb.sb_rblocks == 0) { do_warn( - "found inode %llu claiming to be a real-time file\n", + _("found inode %llu claiming to be a real-time file\n"), lino); if (!no_modify) { @@ -2185,10 +2225,10 @@ process_dinode_int(xfs_mount_t *mp, } break; case XR_INO_RTBITMAP: - if (INT_GET(dinoc->di_size, ARCH_CONVERT) != (__int64_t) mp->m_sb.sb_rbmblocks * - mp->m_sb.sb_blocksize) { + if (INT_GET(dinoc->di_size, ARCH_CONVERT) != + (__int64_t)mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize) { do_warn( - "realtime bitmap inode %llu has bad size %lld (should be %lld)\n", + _("realtime bitmap inode %llu has bad size %lld (should be %lld)\n"), lino, INT_GET(dinoc->di_size, ARCH_CONVERT), (__int64_t) mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize); @@ -2209,8 +2249,9 @@ process_dinode_int(xfs_mount_t *mp, case XR_INO_RTSUM: if (INT_GET(dinoc->di_size, ARCH_CONVERT) != mp->m_rsumsize) { do_warn( - "realtime summary inode %llu has bad size %lld (should be %d)\n", - lino, INT_GET(dinoc->di_size, ARCH_CONVERT), mp->m_rsumsize); + _("realtime summary inode %llu has bad size %lld (should be %d)\n"), + lino, INT_GET(dinoc->di_size, ARCH_CONVERT), + mp->m_rsumsize); if (!no_modify) { *dirty += clear_dinode(mp, dino, lino); @@ -2239,7 +2280,7 @@ process_dinode_int(xfs_mount_t *mp, if (dinoc->di_forkoff != (roundup(sizeof(dev_t), 8) >> 3)) { do_warn( - "bad attr fork offset %d in dev inode %llu, should be %d\n", + _("bad attr fork offset %d in dev inode %llu, should be %d\n"), (int) dinoc->di_forkoff, lino, (int) (roundup(sizeof(dev_t), 8) >> 3)); @@ -2250,7 +2291,7 @@ process_dinode_int(xfs_mount_t *mp, if (dinoc->di_forkoff != (roundup(sizeof(uuid_t), 8) >> 3)) { do_warn( - "bad attr fork offset %d in uuid inode %llu, should be %d\n", + _("bad attr fork offset %d in uuid inode %llu, should be %d\n"), (int) dinoc->di_forkoff, lino, (int)(roundup(sizeof(uuid_t), 8) >> 3)); @@ -2262,7 +2303,7 @@ process_dinode_int(xfs_mount_t *mp, case XFS_DINODE_FMT_BTREE: if (dinoc->di_forkoff != mp->m_attroffset >> 3) { do_warn( - "bad attr fork offset %d in inode %llu, should be %d\n", + _("bad attr fork offset %d in inode %llu, should be %d\n"), (int) dinoc->di_forkoff, lino, (int) (mp->m_attroffset >> 3)); @@ -2270,7 +2311,7 @@ process_dinode_int(xfs_mount_t *mp, } break; default: - do_error("unexpected inode format %d\n", + do_error(_("unexpected inode format %d\n"), (int) dinoc->di_format); break; } @@ -2314,8 +2355,9 @@ process_dinode_int(xfs_mount_t *mp, err = 0; break; default: - do_error("unknown format %d, ino %llu (mode = %d)\n", - dinoc->di_format, lino, INT_GET(dinoc->di_mode, ARCH_CONVERT)); + do_error(_("unknown format %d, ino %llu (mode = %d)\n"), + dinoc->di_format, lino, + INT_GET(dinoc->di_mode, ARCH_CONVERT)); } if (err) { @@ -2323,7 +2365,7 @@ process_dinode_int(xfs_mount_t *mp, * problem in the data fork, clear out the inode * and get out */ - do_warn("bad data fork in inode %llu\n", lino); + do_warn(_("bad data fork in inode %llu\n"), lino); if (!no_modify) { *dirty += clear_dinode(mp, dino, lino); @@ -2365,8 +2407,9 @@ process_dinode_int(xfs_mount_t *mp, err = 0; break; default: - do_error("unknown format %d, ino %llu (mode = %d)\n", - dinoc->di_format, lino, INT_GET(dinoc->di_mode, ARCH_CONVERT)); + do_error(_("unknown format %d, ino %llu (mode = %d)\n"), + dinoc->di_format, lino, + INT_GET(dinoc->di_mode, ARCH_CONVERT)); } if (no_modify && err != 0) { @@ -2386,15 +2429,16 @@ process_dinode_int(xfs_mount_t *mp, * always stored in the regular filesystem. */ - if (!XFS_DFORK_Q_ARCH(dino, ARCH_CONVERT) && dinoc->di_aformat != XFS_DINODE_FMT_EXTENTS) { - do_warn("bad attribute format %d in inode %llu, ", + if (!XFS_DFORK_Q_ARCH(dino, ARCH_CONVERT) && + dinoc->di_aformat != XFS_DINODE_FMT_EXTENTS) { + do_warn(_("bad attribute format %d in inode %llu, "), dinoc->di_aformat, lino); if (!no_modify) { - do_warn("resetting value\n"); + do_warn(_("resetting value\n")); dinoc->di_aformat = XFS_DINODE_FMT_EXTENTS; *dirty = 1; } else - do_warn("would reset value\n"); + do_warn(_("would reset value\n")); anextents = 0; } else if (XFS_DFORK_Q_ARCH(dino, ARCH_CONVERT)) { switch (dinoc->di_aformat) { @@ -2420,7 +2464,7 @@ process_dinode_int(xfs_mount_t *mp, break; default: anextents = 0; - do_warn("illegal attribute format %d, ino %llu\n", + do_warn(_("illegal attribute format %d, ino %llu\n"), dinoc->di_aformat, lino); err = 1; break; @@ -2435,11 +2479,11 @@ process_dinode_int(xfs_mount_t *mp, * XXX - put the inode onto the "move it" list and * log the the attribute scrubbing */ - do_warn("bad attribute fork in inode %llu", lino); + do_warn(_("bad attribute fork in inode %llu"), lino); if (!no_modify) { if (delete_attr_ok) { - do_warn(", clearing attr fork\n"); + do_warn(_(", clearing attr fork\n")); *dirty += clear_dinode_attr(mp, dino, lino); } else { @@ -2449,7 +2493,7 @@ process_dinode_int(xfs_mount_t *mp, } ASSERT(*dirty > 0); } else { - do_warn(", would clear attr fork\n"); + do_warn(_(", would clear attr fork\n")); } atotblocks = 0; @@ -2485,8 +2529,9 @@ process_dinode_int(xfs_mount_t *mp, &ablkmap, XFS_ATTR_FORK, 0); break; default: - do_error("illegal attribute fmt %d, ino %llu\n", - dinoc->di_aformat, lino); + do_error( + _("illegal attribute fmt %d, ino %llu\n"), + dinoc->di_aformat, lino); } if (no_modify && err != 0) { @@ -2510,7 +2555,8 @@ process_dinode_int(xfs_mount_t *mp, if (extra_attr_check) { if ((err = process_attributes(mp, lino, dino, ablkmap, &repair))) { - do_warn("problem with attribute contents in inode %llu\n",lino); + do_warn( + _("problem with attribute contents in inode %llu\n"), lino); if(!repair) { /* clear attributes if not done already */ if (!no_modify) { @@ -2519,7 +2565,8 @@ process_dinode_int(xfs_mount_t *mp, dinoc->di_aformat = XFS_DINODE_FMT_LOCAL; } else { - do_warn("would clear attr fork\n"); + do_warn( + _("would clear attr fork\n")); } atotblocks = 0; anextents = 0; @@ -2555,21 +2602,22 @@ process_dinode_int(xfs_mount_t *mp, */ if (totblocks + atotblocks != INT_GET(dinoc->di_nblocks, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting nblocks for inode %llu, was %llu - counted %llu\n", + do_warn( + _("correcting nblocks for inode %llu, was %llu - counted %llu\n"), lino, INT_GET(dinoc->di_nblocks, ARCH_CONVERT), totblocks + atotblocks); *dirty = 1; INT_SET(dinoc->di_nblocks, ARCH_CONVERT, totblocks + atotblocks); } else { - do_warn( - "bad nblocks %llu for inode %llu, would reset to %llu\n", + do_warn( + _("bad nblocks %llu for inode %llu, would reset to %llu\n"), INT_GET(dinoc->di_nblocks, ARCH_CONVERT), lino, totblocks + atotblocks); } } if (nextents > MAXEXTNUM) { - do_warn("too many data fork extents (%llu) in inode %llu\n", + do_warn(_("too many data fork extents (%llu) in inode %llu\n"), nextents, lino); if (!no_modify) { @@ -2585,19 +2633,23 @@ process_dinode_int(xfs_mount_t *mp, } if (nextents != INT_GET(dinoc->di_nextents, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting nextents for inode %llu, was %d - counted %llu\n", - lino, INT_GET(dinoc->di_nextents, ARCH_CONVERT), nextents); + do_warn( + _("correcting nextents for inode %llu, was %d - counted %llu\n"), + lino, INT_GET(dinoc->di_nextents, ARCH_CONVERT), + nextents); *dirty = 1; - INT_SET(dinoc->di_nextents, ARCH_CONVERT, (xfs_extnum_t) nextents); + INT_SET(dinoc->di_nextents, ARCH_CONVERT, + (xfs_extnum_t) nextents); } else { do_warn( - "bad nextents %d for inode %llu, would reset to %llu\n", - INT_GET(dinoc->di_nextents, ARCH_CONVERT), lino, nextents); + _("bad nextents %d for inode %llu, would reset to %llu\n"), + INT_GET(dinoc->di_nextents, ARCH_CONVERT), + lino, nextents); } } if (anextents > MAXAEXTNUM) { - do_warn("too many attr fork extents (%llu) in inode %llu\n", + do_warn(_("too many attr fork extents (%llu) in inode %llu\n"), anextents, lino); if (!no_modify) { @@ -2613,14 +2665,19 @@ process_dinode_int(xfs_mount_t *mp, } if (anextents != INT_GET(dinoc->di_anextents, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting anextents for inode %llu, was %d - counted %llu\n", - lino, INT_GET(dinoc->di_anextents, ARCH_CONVERT), anextents); + do_warn( + _("correcting anextents for inode %llu, was %d - counted %llu\n"), + lino, + INT_GET(dinoc->di_anextents, ARCH_CONVERT), + anextents); *dirty = 1; - INT_SET(dinoc->di_anextents, ARCH_CONVERT, (xfs_aextnum_t) anextents); + INT_SET(dinoc->di_anextents, ARCH_CONVERT, + (xfs_aextnum_t) anextents); } else { do_warn( - "bad anextents %d for inode %llu, would reset to %llu\n", - INT_GET(dinoc->di_anextents, ARCH_CONVERT), lino, anextents); + _("bad anextents %d for inode %llu, would reset to %llu\n"), + INT_GET(dinoc->di_anextents, ARCH_CONVERT), + lino, anextents); } } @@ -2637,7 +2694,7 @@ process_dinode_int(xfs_mount_t *mp, dirty, "", parent, dblkmap); if (err) do_warn( - "problem with directory contents in inode %llu\n", + _("problem with directory contents in inode %llu\n"), lino); break; case XR_INO_RTBITMAP: @@ -2650,7 +2707,7 @@ process_dinode_int(xfs_mount_t *mp, break; case XR_INO_SYMLINK: if ((err = process_symlink(mp, lino, dino, dblkmap))) - do_warn("problem with symbolic link in inode %llu\n", + do_warn(_("problem with symbolic link in inode %llu\n"), lino); break; case XR_INO_DATA: /* fall through to FIFO case ... */ @@ -2662,7 +2719,7 @@ process_dinode_int(xfs_mount_t *mp, err = 0; break; default: - printf("Unexpected inode type\n"); + printf(_("Unexpected inode type\n")); abort(); } @@ -2706,14 +2763,14 @@ process_dinode_int(xfs_mount_t *mp, */ fs_inode_nlink = 1; do_warn( - "version 2 inode %llu claims > %u links,", + _("version 2 inode %llu claims > %u links, "), lino, XFS_MAXLINK_1); if (!no_modify) { do_warn( - "updating superblock version number\n"); + _("updating superblock version number\n")); } else { do_warn( - "would update superblock version number\n"); + _("would update superblock version number\n")); } } else { /* @@ -2721,24 +2778,28 @@ process_dinode_int(xfs_mount_t *mp, * even if we lose some links */ do_warn( - "WARNING: version 2 inode %llu claims > %u links,", + _("WARNING: version 2 inode %llu claims > %u links, "), lino, XFS_MAXLINK_1); if (!no_modify) { do_warn( - "converting back to version 1,\n\tthis may destroy %d links\n", - INT_GET(dinoc->di_nlink, ARCH_CONVERT) + _("converting back to version 1,\n\tthis may destroy %d links\n"), + INT_GET(dinoc->di_nlink, + ARCH_CONVERT) - XFS_MAXLINK_1); dinoc->di_version = XFS_DINODE_VERSION_1; - INT_SET(dinoc->di_nlink, ARCH_CONVERT, XFS_MAXLINK_1); - INT_SET(dinoc->di_onlink, ARCH_CONVERT, XFS_MAXLINK_1); + INT_SET(dinoc->di_nlink, ARCH_CONVERT, + XFS_MAXLINK_1); + INT_SET(dinoc->di_onlink, ARCH_CONVERT, + XFS_MAXLINK_1); *dirty = 1; } else { do_warn( - "would convert back to version 1,\n\tthis might destroy %d links\n", - INT_GET(dinoc->di_nlink, ARCH_CONVERT) + _("would convert back to version 1,\n\tthis might destroy %d links\n"), + INT_GET(dinoc->di_nlink, + ARCH_CONVERT) - XFS_MAXLINK_1); } } @@ -2751,17 +2812,18 @@ process_dinode_int(xfs_mount_t *mp, * * the case where we lost links was handled above. */ - do_warn("found version 2 inode %llu, ", lino); + do_warn(_("found version 2 inode %llu, "), lino); if (!no_modify) { - do_warn("converting back to version 1\n"); + do_warn(_("converting back to version 1\n")); dinoc->di_version = XFS_DINODE_VERSION_1; - INT_SET(dinoc->di_onlink, ARCH_CONVERT, INT_GET(dinoc->di_nlink, ARCH_CONVERT)); + INT_SET(dinoc->di_onlink, ARCH_CONVERT, + INT_GET(dinoc->di_nlink, ARCH_CONVERT)); *dirty = 1; } else { - do_warn("would convert back to version 1\n"); + do_warn(_("would convert back to version 1\n")); } } } @@ -2772,16 +2834,17 @@ process_dinode_int(xfs_mount_t *mp, * onlink field, so clear it. */ if (dinoc->di_version > XFS_DINODE_VERSION_1 && - INT_GET(dinoc->di_onlink, ARCH_CONVERT) > 0 && fs_inode_nlink > 0) { + INT_GET(dinoc->di_onlink, ARCH_CONVERT) > 0 && + fs_inode_nlink > 0) { if (!no_modify) { do_warn( -"clearing obsolete nlink field in version 2 inode %llu, was %d, now 0\n", +_("clearing obsolete nlink field in version 2 inode %llu, was %d, now 0\n"), lino, INT_GET(dinoc->di_onlink, ARCH_CONVERT)); INT_ZERO(dinoc->di_onlink, ARCH_CONVERT); *dirty = 1; } else { do_warn( -"would clear obsolete nlink field in version 2 inode %llu, currently %d\n", +_("would clear obsolete nlink field in version 2 inode %llu, currently %d\n"), lino, INT_GET(dinoc->di_onlink, ARCH_CONVERT)); *dirty = 1; } diff --git a/repair/dir.c b/repair/dir.c index bce8ed347..d3d41f359 100644 --- a/repair/dir.c +++ b/repair/dir.c @@ -164,28 +164,28 @@ process_shortform_dir( /* * junk the entry, mark lino as NULL since it's bad */ - do_warn("invalid inode number %llu in directory %llu\n", - lino, ino); + do_warn( + _("invalid inode number %llu in directory %llu\n"), lino, ino); lino = NULLFSINO; junkit = 1; } else if (lino == mp->m_sb.sb_rbmino) { do_warn( - "entry in shorform dir %llu references realtime bitmap inode %llu\n", + _("entry in shortform dir %llu references rt bitmap inode %llu\n"), ino, lino); junkit = 1; } else if (lino == mp->m_sb.sb_rsumino) { do_warn( - "entry in shorform dir %llu references realtime summary inode %llu\n", + _("entry in shortform dir %llu references rt summary inode %llu\n"), ino, lino); junkit = 1; } else if (lino == mp->m_sb.sb_uquotino) { do_warn( - "entry in shorform dir %llu references user quota inode %llu\n", + _("entry in shortform dir %llu references user quota inode %llu\n"), ino, lino); junkit = 1; } else if (lino == mp->m_sb.sb_gquotino) { do_warn( - "entry in shorform dir %llu references group quota inode %llu\n", + _("entry in shortform dir %llu references group quota inode %llu\n"), ino, lino); junkit = 1; } else if ((irec_p = find_inode_rec(XFS_INO_TO_AGNO(mp, lino), @@ -205,7 +205,7 @@ process_shortform_dir( if (!ino_discovery && is_inode_free(irec_p, ino_off)) { do_warn( - "entry references free inode %llu in shortform directory %llu\n", + _("entry references free inode %llu in shortform directory %llu\n"), lino, ino); junkit = 1; } @@ -224,7 +224,7 @@ process_shortform_dir( * phase) so this is clearly a bogus entry. */ do_warn( - "entry references non-existent inode %llu in shortform dir %llu\n", + _("entry references non-existent inode %llu in shortform dir %llu\n"), lino, ino); junkit = 1; } @@ -248,23 +248,23 @@ process_shortform_dir( (__psint_t) sf); if (!no_modify) { do_warn( - "zero length entry in shortform dir %llu, resetting to %d\n", + _("zero length entry in shortform dir %llu, resetting to %d\n"), ino, namelen); sf_entry->namelen = namelen; } else { do_warn( - "zero length entry in shortform dir %llu, would set to %d\n", + _("zero length entry in shortform dir %llu, would set to %d\n"), ino, namelen); } } else { do_warn( - "zero length entry in shortform dir %llu", + _("zero length entry in shortform dir %llu, "), ino); if (!no_modify) - do_warn(", junking %d entries\n", + do_warn(_("junking %d entries\n"), num_entries - i); else - do_warn(", would junk %d entries\n", + do_warn(_("would junk %d entries\n"), num_entries - i); /* * don't process the rest of the directory, @@ -282,37 +282,38 @@ process_shortform_dir( ((__psint_t) &sf_entry->name[0] - (__psint_t) sf); do_warn( - "size of last entry overflows space left in in shortform dir %llu, ", + _("size of last entry overflows space left in in shortform dir %llu, "), ino); if (!no_modify) { - do_warn("resetting to %d\n", + do_warn(_("resetting to %d\n"), namelen); sf_entry->namelen = namelen; *dino_dirty = 1; } else { - do_warn("would reset to %d\n", + do_warn(_("would reset to %d\n"), namelen); } } else { do_warn( - "size of entry #%d overflows space left in in shortform dir %llu\n", + _("size of entry #%d overflows space left in in shortform dir %llu\n"), i, ino); if (!no_modify) { if (i == num_entries - 1) - do_warn("junking entry #%d\n", + do_warn( + _("junking entry #%d\n"), i); else do_warn( - "junking %d entries\n", + _("junking %d entries\n"), num_entries - i); } else { if (i == num_entries - 1) do_warn( - "would junk entry #%d\n", + _("would junk entry #%d\n"), i); else do_warn( - "would junk %d entries\n", + _("would junk %d entries\n"), num_entries - i); } @@ -331,7 +332,7 @@ process_shortform_dir( * junk entry */ do_warn( - "entry contains illegal character in shortform dir %llu\n", + _("entry contains illegal character in shortform dir %llu\n"), ino); junkit = 1; } @@ -352,7 +353,8 @@ process_shortform_dir( if (!no_modify) { tmp_elen = XFS_DIR_SF_ENTSIZE_BYENTRY(sf_entry); - INT_MOD(dip->di_core.di_size, ARCH_CONVERT, -(tmp_elen)); + INT_MOD(dip->di_core.di_size, + ARCH_CONVERT, -(tmp_elen)); ino_dir_size -= tmp_elen; tmp_sfe = (xfs_dir_sf_entry_t *) @@ -385,11 +387,11 @@ process_shortform_dir( *repair = 1; do_warn( - "junking entry \"%s\" in directory inode %llu\n", + _("junking entry \"%s\" in directory inode %llu\n"), name, ino); } else { do_warn( - "would have junked entry \"%s\" in directory inode %llu\n", + _("would have junked entry \"%s\" in directory inode %llu\n"), name, ino); } } @@ -414,10 +416,12 @@ process_shortform_dir( if (INT_GET(sf->hdr.count, ARCH_CONVERT) != i) { if (no_modify) { -do_warn("would have corrected entry count in directory %llu from %d to %d\n", + do_warn( + _("would have corrected entry count in directory %llu from %d to %d\n"), ino, INT_GET(sf->hdr.count, ARCH_CONVERT), i); } else { -do_warn("corrected entry count in directory %llu, was %d, now %d\n", + do_warn( + _("corrected entry count in directory %llu, was %d, now %d\n"), ino, INT_GET(sf->hdr.count, ARCH_CONVERT), i); INT_SET(sf->hdr.count, ARCH_CONVERT, i); *dino_dirty = 1; @@ -428,17 +432,18 @@ do_warn("corrected entry count in directory %llu, was %d, now %d\n", if ((__psint_t) next_sfe - (__psint_t) sf != ino_dir_size) { if (no_modify) { do_warn( - "would have corrected directory %llu size from %lld to %lld\n", + _("would have corrected directory %llu size from %lld to %lld\n"), ino, (__int64_t) ino_dir_size, (__int64_t)((__psint_t) next_sfe - (__psint_t) sf)); } else { do_warn( - "corrected directory %llu size, was %lld, now %lld\n", + _("corrected directory %llu size, was %lld, now %lld\n"), ino, (__int64_t) ino_dir_size, (__int64_t)((__psint_t) next_sfe - (__psint_t) sf)); - INT_SET(dip->di_core.di_size, ARCH_CONVERT, (xfs_fsize_t) - ((__psint_t) next_sfe - (__psint_t) sf)); + INT_SET(dip->di_core.di_size, + ARCH_CONVERT, (xfs_fsize_t) + ((__psint_t) next_sfe - (__psint_t) sf)); *dino_dirty = 1; *repair = 1; } @@ -455,16 +460,17 @@ do_warn("corrected entry count in directory %llu, was %d, now %d\n", *parent = NULLFSINO; do_warn( - "bogus .. inode number (%llu) in directory inode %llu,", + _("bogus .. inode number (%llu) in directory inode %llu, "), *parent, ino); if (!no_modify) { - do_warn("clearing inode number\n"); + do_warn(_("clearing inode number\n")); - XFS_DIR_SF_PUT_DIRINO_ARCH(parent, &sf->hdr.parent, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(parent, + &sf->hdr.parent, ARCH_CONVERT); *dino_dirty = 1; *repair = 1; } else { - do_warn("would clear inode number\n"); + do_warn(_("would clear inode number\n")); } } else if (ino == mp->m_sb.sb_rootino && ino != *parent) { /* @@ -472,15 +478,16 @@ do_warn("corrected entry count in directory %llu, was %d, now %d\n", */ if (!no_modify) { do_warn( - "corrected root directory %llu .. entry, was %llu, now %llu\n", + _("corrected root directory %llu .. entry, was %llu, now %llu\n"), ino, *parent, ino); *parent = ino; - XFS_DIR_SF_PUT_DIRINO_ARCH(parent, &sf->hdr.parent, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(parent, + &sf->hdr.parent, ARCH_CONVERT); *dino_dirty = 1; *repair = 1; } else { do_warn( - "would have corrected root directory %llu .. entry from %llu to %llu\n", + _("would have corrected root directory %llu .. entry from %llu to %llu\n"), ino, *parent, ino); } } else if (ino == *parent && ino != mp->m_sb.sb_rootino) { @@ -489,16 +496,17 @@ do_warn("corrected entry count in directory %llu, was %d, now %d\n", * to . */ *parent = NULLFSINO; - do_warn("bad .. entry in dir ino %llu, points to self,", + do_warn(_("bad .. entry in dir ino %llu, points to self, "), ino); if (!no_modify) { - do_warn(" clearing inode number\n"); + do_warn(_("clearing inode number\n")); - XFS_DIR_SF_PUT_DIRINO_ARCH(parent, &sf->hdr.parent, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(parent, + &sf->hdr.parent, ARCH_CONVERT); *dino_dirty = 1; *repair = 1; } else { - do_warn(" would clear inode number\n"); + do_warn(_("would clear inode number\n")); } } @@ -552,21 +560,21 @@ set_da_freemap(xfs_mount_t *mp, da_freemap_t *map, int start, int stop) /* * allow == relation since [x, x) claims 1 byte */ - do_warn("bad range claimed [%d, %d) in da block\n", + do_warn(_("bad range claimed [%d, %d) in da block\n"), start, stop); return(1); } if (stop > mp->m_sb.sb_blocksize) { do_warn( - "byte range end [%d %d) in da block larger than blocksize %d\n", + _("byte range end [%d %d) in da block larger than blocksize %d\n"), start, stop, mp->m_sb.sb_blocksize); return(1); } for (i = start; i < stop; i ++) { if (map[i / NBBY] & (mask << i % NBBY)) { - do_warn("multiply claimed byte %d in da block\n", i); + do_warn(_("multiply claimed byte %d in da block\n"), i); return(1); } map[i / NBBY] |= (mask << i % NBBY); @@ -596,7 +604,7 @@ verify_da_freemap(xfs_mount_t *mp, da_freemap_t *map, da_hole_map_t *holes, if (start >= mp->m_sb.sb_blocksize || start + len > mp->m_sb.sb_blocksize) { do_warn( - "hole (start %d, len %d) out of range, block %d, dir ino %llu\n", + _("hole (start %d, len %d) out of range, block %d, dir ino %llu\n"), start, len, da_bno, ino); return(1); } @@ -607,7 +615,7 @@ verify_da_freemap(xfs_mount_t *mp, da_freemap_t *map, da_hole_map_t *holes, * bad news -- hole claims a used byte is free */ do_warn( - "hole claims used byte %d, block %d, dir ino %llu\n", + _("hole claims used byte %d, block %d, dir ino %llu\n"), j, da_bno, ino); return(1); } @@ -722,7 +730,7 @@ compare_da_freemaps(xfs_mount_t *mp, da_hole_map_t *holemap, if ((holemap->lost_holes > 0 ? 1 : 0) != block_hmap->lost_holes) { if (verbose) { do_warn( - "- derived hole value %d, saw %d, block %d, dir ino %llu\n", + _("- derived hole value %d, saw %d, block %d, dir ino %llu\n"), holemap->lost_holes, block_hmap->lost_holes, da_bno, ino); res = 1; @@ -741,7 +749,7 @@ compare_da_freemaps(xfs_mount_t *mp, da_hole_map_t *holemap, if (!found) { if (verbose) { do_warn( -"- derived hole (base %d, size %d) in block %d, dir inode %llu not found\n", +_("- derived hole (base %d, size %d) in block %d, dir inode %llu not found\n"), holemap->hentries[i].base, holemap->hentries[i].size, da_bno, ino); @@ -817,12 +825,12 @@ traverse_int_dablock(xfs_mount_t *mp, XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { if (whichfork == XFS_DATA_FORK) - do_warn("can't read block %u (fsbno %llu) for " - "directory inode %llu\n", + do_warn(_("can't read block %u (fsbno %llu) " + "for directory inode %llu\n"), bno, fsbno, da_cursor->ino); else - do_warn("can't read block %u (fsbno %llu) for " - "attrbute fork of inode %llu\n", + do_warn(_("can't read block %u (fsbno %llu) " + "for attrbute fork of inode %llu\n"), bno, fsbno, da_cursor->ino); goto error_out; } @@ -830,15 +838,18 @@ traverse_int_dablock(xfs_mount_t *mp, node = (xfs_da_intnode_t *)XFS_BUF_PTR(bp); if (INT_GET(node->hdr.info.magic, ARCH_CONVERT) != XFS_DA_NODE_MAGIC) { - do_warn("bad dir/attr magic number in inode %llu, file " - "bno = %u, fsbno = %llu\n", da_cursor->ino, bno, fsbno); + do_warn(_("bad dir/attr magic number in inode %llu, " + "file bno = %u, fsbno = %llu\n"), + da_cursor->ino, bno, fsbno); libxfs_putbuf(bp); goto error_out; } if (INT_GET(node->hdr.count, ARCH_CONVERT) > mp->m_dir_node_ents) { - do_warn("bad record count in inode %llu, count = %d, max = %d\n", - da_cursor->ino, INT_GET(node->hdr.count, ARCH_CONVERT), + do_warn(_("bad record count in inode %llu, " + "count = %d, max = %d\n"), + da_cursor->ino, + INT_GET(node->hdr.count, ARCH_CONVERT), mp->m_dir_node_ents); libxfs_putbuf(bp); goto error_out; @@ -854,11 +865,13 @@ traverse_int_dablock(xfs_mount_t *mp, i--; } else { if (whichfork == XFS_DATA_FORK) - do_warn("bad directory btree for directory " - "inode %llu\n", da_cursor->ino); + do_warn(_("bad directory btree for " + "directory inode %llu\n"), + da_cursor->ino); else - do_warn("bad attribute fork btree for " - "inode %llu\n", da_cursor->ino); + do_warn(_("bad attribute fork btree " + "for inode %llu\n"), + da_cursor->ino); libxfs_putbuf(bp); goto error_out; } @@ -910,8 +923,9 @@ release_da_cursor_int(xfs_mount_t *mp, if (cursor->level[level].bp != NULL) { if (!error) { - do_warn("release_da_cursor_int got unexpected non-null bp, " - "dabno = %u\n", cursor->level[level].bno); + do_warn(_("release_da_cursor_int got unexpected " + "non-null bp, dabno = %u\n"), + cursor->level[level].bno); } ASSERT(error != 0); @@ -970,7 +984,7 @@ get_first_dblock_fsbno(xfs_mount_t *mp, fsbno = get_bmapi(mp, dino, ino, bno, XFS_DATA_FORK); if (fsbno == NULLDFSBNO) { - do_warn("bmap of block #%u of inode %llu failed\n", + do_warn(_("bmap of block #%u of inode %llu failed\n"), bno, ino); return(fsbno); } @@ -989,16 +1003,19 @@ get_first_dblock_fsbno(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, fsbno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read block %u (fsbno %llu) for directory " - "inode %llu\n", bno, fsbno, ino); + do_warn(_("can't read block %u (fsbno %llu) " + "for directory inode %llu\n"), + bno, fsbno, ino); return(NULLDFSBNO); } node = (xfs_da_intnode_t *)XFS_BUF_PTR(bp); - if (INT_GET(node->hdr.info.magic, ARCH_CONVERT) != XFS_DA_NODE_MAGIC) { - do_warn("bad dir/attr magic number in inode %llu, file " - "bno = %u, fsbno = %llu\n", ino, bno, fsbno); + if (XFS_DA_NODE_MAGIC != + INT_GET(node->hdr.info.magic, ARCH_CONVERT)) { + do_warn(_("bad dir/attr magic number in inode %llu, " + "file bno = %u, fsbno = %llu\n"), + ino, bno, fsbno); libxfs_putbuf(bp); return(NULLDFSBNO); } @@ -1012,7 +1029,8 @@ get_first_dblock_fsbno(xfs_mount_t *mp, fsbno = get_bmapi(mp, dino, ino, bno, XFS_DATA_FORK); if (fsbno == NULLDFSBNO) { - do_warn("bmap of block #%u of inode %llu failed\n", bno, ino); + do_warn(_("bmap of block #%u of inode %llu failed\n"), + bno, ino); return(NULLDFSBNO); } @@ -1057,7 +1075,8 @@ verify_final_da_path(xfs_mount_t *mp, * match, etc. */ if (entry != INT_GET(node->hdr.count, ARCH_CONVERT) - 1) { - do_warn("directory/attribute block used/count inconsistency - %d/%hu\n", + do_warn(_("directory/attribute block used/count " + "inconsistency - %d/%hu\n"), entry, INT_GET(node->hdr.count, ARCH_CONVERT)); bad++; } @@ -1065,19 +1084,22 @@ verify_final_da_path(xfs_mount_t *mp, * hash values monotonically increasing ??? */ if (cursor->level[this_level].hashval >= - INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { - do_warn("directory/attribute block hashvalue inconsistency, " - "expected > %u / saw %u\n", cursor->level[this_level].hashval, + INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { + do_warn(_("directory/attribute block hashvalue inconsistency, " + "expected > %u / saw %u\n"), + cursor->level[this_level].hashval, INT_GET(node->btree[entry].hashval, ARCH_CONVERT)); bad++; } if (INT_GET(node->hdr.info.forw, ARCH_CONVERT) != 0) { - do_warn("bad directory/attribute forward block pointer, expected 0, " - "saw %u\n", INT_GET(node->hdr.info.forw, ARCH_CONVERT)); + do_warn(_("bad directory/attribute forward block pointer, " + "expected 0, saw %u\n"), + INT_GET(node->hdr.info.forw, ARCH_CONVERT)); bad++; } if (bad) { - do_warn("bad directory block in dir ino %llu\n", cursor->ino); + do_warn(_("bad directory block in dir ino %llu\n"), + cursor->ino); return(1); } /* @@ -1091,10 +1113,10 @@ verify_final_da_path(xfs_mount_t *mp, * ok, now check descendant block number against this level */ if (cursor->level[p_level].bno != - INT_GET(node->btree[entry].before, ARCH_CONVERT)) { + INT_GET(node->btree[entry].before, ARCH_CONVERT)) { #ifdef XR_DIR_TRACE - fprintf(stderr, "bad directory btree pointer, child bno should be %d, " - "block bno is %d, hashval is %u\n", + fprintf(stderr, "bad directory btree pointer, child bno should " + "be %d, block bno is %d, hashval is %u\n", INT_GET(node->btree[entry].before, ARCH_CONVERT), cursor->level[p_level].bno, cursor->level[p_level].hashval); @@ -1104,17 +1126,19 @@ verify_final_da_path(xfs_mount_t *mp, } if (cursor->level[p_level].hashval != - INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { + INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting bad hashval in non-leaf dir/attr block\n"); - do_warn("\tin (level %d) in inode %llu.\n", + do_warn(_("correcting bad hashval in non-leaf " + "dir/attr block\n\tin (level %d) in " + "inode %llu.\n"), this_level, cursor->ino); INT_SET(node->btree[entry].hashval, ARCH_CONVERT, cursor->level[p_level].hashval); cursor->level[this_level].dirty++; } else { - do_warn("would correct bad hashval in non-leaf dir/attr " - "block\n\tin (level %d) in inode %llu.\n", + do_warn(_("would correct bad hashval in non-leaf " + "dir/attr block\n\tin (level %d) in " + "inode %llu.\n"), this_level, cursor->ino); } } @@ -1250,15 +1274,17 @@ verify_da_path(xfs_mount_t *mp, fsbno = blkmap_get(cursor->blkmap, dabno); if (fsbno == NULLDFSBNO) { - do_warn("can't get map info for block %u of directory " - "inode %llu\n", dabno, cursor->ino); + do_warn(_("can't get map info for block %u " + "of directory inode %llu\n"), + dabno, cursor->ino); return(1); } bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, fsbno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read block %u (%llu) for directory inode %llu\n", + do_warn(_("can't read block %u (%llu) " + "for directory inode %llu\n"), dabno, fsbno, cursor->ino); return(1); } @@ -1269,30 +1295,33 @@ verify_da_path(xfs_mount_t *mp, * entry count, verify level */ bad = 0; - if (INT_GET(newnode->hdr.info.magic, ARCH_CONVERT) != XFS_DA_NODE_MAGIC) { - do_warn("bad magic number %x in block %u (%llu) for directory " - "inode %llu\n", + if (XFS_DA_NODE_MAGIC != + INT_GET(newnode->hdr.info.magic, ARCH_CONVERT)) { + do_warn(_("bad magic number %x in block %u (%llu) " + "for directory inode %llu\n"), INT_GET(newnode->hdr.info.magic, ARCH_CONVERT), dabno, fsbno, cursor->ino); bad++; } if (INT_GET(newnode->hdr.info.back, ARCH_CONVERT) != - cursor->level[this_level].bno) { - do_warn("bad back pointer in block %u (%llu) for directory " - "inode %llu\n", dabno, fsbno, cursor->ino); + cursor->level[this_level].bno) { + do_warn(_("bad back pointer in block %u (%llu) " + "for directory inode %llu\n"), + dabno, fsbno, cursor->ino); bad++; } if (INT_GET(newnode->hdr.count, ARCH_CONVERT) > - mp->m_dir_node_ents) { - do_warn("entry count %d too large in block %u (%llu) for " - "directory inode %llu\n", + mp->m_dir_node_ents) { + do_warn(_("entry count %d too large in block %u (%llu) " + "for directory inode %llu\n"), INT_GET(newnode->hdr.count, ARCH_CONVERT), dabno, fsbno, cursor->ino); bad++; } if (INT_GET(newnode->hdr.level, ARCH_CONVERT) != this_level) { - do_warn("bad level %d in block %u (%llu) for directory inode " - "%llu\n", INT_GET(newnode->hdr.level, ARCH_CONVERT), + do_warn(_("bad level %d in block %u (%llu) " + "for directory inode %llu\n"), + INT_GET(newnode->hdr.level, ARCH_CONVERT), dabno, fsbno, cursor->ino); bad++; } @@ -1332,8 +1361,8 @@ verify_da_path(xfs_mount_t *mp, if (cursor->level[p_level].bno != INT_GET(node->btree[entry].before, ARCH_CONVERT)) { #ifdef XR_DIR_TRACE - fprintf(stderr, "bad directory btree pointer, child bno should be %d, " - "block bno is %d, hashval is %u\n", + fprintf(stderr, "bad directory btree pointer, child bno " + "should be %d, block bno is %d, hashval is %u\n", INT_GET(node->btree[entry].before, ARCH_CONVERT), cursor->level[p_level].bno, cursor->level[p_level].hashval); @@ -1348,15 +1377,17 @@ verify_da_path(xfs_mount_t *mp, if (cursor->level[p_level].hashval != INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting bad hashval in interior dir/attr block\n"); - do_warn("\tin (level %d) in inode %llu.\n", + do_warn(_("correcting bad hashval in interior " + "dir/attr block\n\tin (level %d) in " + "inode %llu.\n"), this_level, cursor->ino); INT_SET(node->btree[entry].hashval, ARCH_CONVERT, cursor->level[p_level].hashval); cursor->level[this_level].dirty++; } else { - do_warn("would correct bad hashval in interior dir/attr " - "block\n\tin (level %d) in inode %llu.\n", + do_warn(_("would correct bad hashval in interior " + "dir/attr block\n\tin (level %d) in " + "inode %llu.\n"), this_level, cursor->ino); } } @@ -1474,7 +1505,7 @@ junk_zerolen_dir_leaf_entries( if (current_hole < XFS_DIR_LEAF_MAPSIZE) { ASSERT(sizeof(xfs_dir_leaf_name_t) <= bytes); - do_warn("marking bad entry in directory inode %llu\n", + do_warn(_("marking bad entry in directory inode %llu\n"), ino); entry->namelen = 1; @@ -1500,7 +1531,7 @@ junk_zerolen_dir_leaf_entries( */ INT_MOD(hdr->count, ARCH_CONVERT, -1); do_warn( - "deleting zero length entry in directory inode %llu\n", + _("deleting zero length entry in directory inode %llu\n"), ino); /* * overwrite the bad entry unless it's the @@ -1599,7 +1630,7 @@ junk_zerolen_dir_leaf_entries( * a bad entry */ do_warn( - "deleting entry in directory inode %llu\n", + _("deleting entry in directory inode %llu\n"), ino); /* * overwrite the bad entry unless it's the @@ -1748,7 +1779,7 @@ process_leaf_dir_block( */ if ((dir_freemap = alloc_da_freemap(mp)) == NULL) { - do_error("couldn't allocate directory block freemap\n"); + do_error(_("couldn't allocate directory block freemap\n")); abort(); } #endif @@ -1761,8 +1792,8 @@ process_leaf_dir_block( i = stop = sizeof(xfs_dir_leaf_hdr_t); if (set_da_freemap(mp, dir_freemap, 0, stop)) { do_warn( -"directory block header conflicts with used space in directory inode %llu\n", - ino); +_("directory block header conflicts with used space in directory inode %llu\n"), + ino); return(1); } @@ -1783,17 +1814,22 @@ process_leaf_dir_block( * if it is, delete the entry since we can't * grab the inode #. */ - if (INT_GET(entry->nameidx, ARCH_CONVERT) >= mp->m_sb.sb_blocksize) { + if (INT_GET(entry->nameidx, ARCH_CONVERT) >= + mp->m_sb.sb_blocksize) { if (!no_modify) { *buf_dirty = 1; if (INT_GET(leaf->hdr.count, ARCH_CONVERT) > 1) { do_warn( -"nameidx %d for entry #%d, bno %d, ino %llu > fs blocksize, deleting entry\n", - INT_GET(entry->nameidx, ARCH_CONVERT), i, da_bno, ino); - ASSERT(INT_GET(leaf->hdr.count, ARCH_CONVERT) > i); - - bytes = (INT_GET(leaf->hdr.count, ARCH_CONVERT) - i) * +_("nameidx %d for entry #%d, bno %d, ino %llu > fs blocksize, deleting entry\n"), + INT_GET(entry->nameidx, + ARCH_CONVERT), + i, da_bno, ino); + ASSERT(INT_GET(leaf->hdr.count, + ARCH_CONVERT) > i); + + bytes = (INT_GET(leaf->hdr.count, + ARCH_CONVERT) - i) * sizeof(xfs_dir_leaf_entry_t); /* @@ -1825,21 +1861,26 @@ process_leaf_dir_block( entry--; } else { do_warn( -"nameidx %d, entry #%d, bno %d, ino %llu > fs blocksize, marking entry bad\n", - INT_GET(entry->nameidx, ARCH_CONVERT), i, da_bno, ino); - INT_SET(entry->nameidx, ARCH_CONVERT, mp->m_sb.sb_blocksize - +_("nameidx %d, entry #%d, bno %d, ino %llu > fs blocksize, marking entry bad\n"), + INT_GET(entry->nameidx, + ARCH_CONVERT), + i, da_bno, ino); + INT_SET(entry->nameidx, ARCH_CONVERT, + mp->m_sb.sb_blocksize - sizeof(xfs_dir_leaf_name_t)); namest = XFS_DIR_LEAF_NAMESTRUCT(leaf, - INT_GET(entry->nameidx, ARCH_CONVERT)); + INT_GET(entry->nameidx, + ARCH_CONVERT)); lino = NULLFSINO; XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, - &namest->inumber, ARCH_CONVERT); + &namest->inumber, ARCH_CONVERT); namest->name[0] = '/'; } } else { do_warn( -"nameidx %d, entry #%d, bno %d, ino %llu > fs blocksize, would delete entry\n", - INT_GET(entry->nameidx, ARCH_CONVERT), i, da_bno, ino); +_("nameidx %d, entry #%d, bno %d, ino %llu > fs blocksize, would delete entry\n"), + INT_GET(entry->nameidx, ARCH_CONVERT), + i, da_bno, ino); } continue; } @@ -1850,7 +1891,8 @@ process_leaf_dir_block( * we can still try for the inode as long as nameidx * is ok. */ - namest = XFS_DIR_LEAF_NAMESTRUCT(leaf, INT_GET(entry->nameidx, ARCH_CONVERT)); + namest = XFS_DIR_LEAF_NAMESTRUCT(leaf, + INT_GET(entry->nameidx, ARCH_CONVERT)); XFS_DIR_SF_GET_DIRINO_ARCH(&namest->inumber, &lino, ARCH_CONVERT); /* @@ -1873,78 +1915,91 @@ process_leaf_dir_block( * since it's still structurally intact. */ do_warn( -"invalid ino number %llu in dir ino %llu, entry #%d, bno %d\n", + _("invalid ino number %llu in dir ino %llu, entry #%d, bno %d\n"), lino, ino, i, da_bno); if (!no_modify) { do_warn( - "\tclearing ino number in entry %d...\n", i); - + _("\tclearing ino number in entry %d...\n"), + i); lino = NULLFSINO; - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( - "\twould clear ino number in entry %d...\n", i); + _("\twould clear ino number in entry %d...\n"), + i); } } else if (lino == mp->m_sb.sb_rbmino) { do_warn( -"entry #%d, bno %d in directory %llu references realtime bitmap inode %llu\n", +_("entry #%d, bno %d in directory %llu references realtime bitmap inode %llu\n"), i, da_bno, ino, lino); if (!no_modify) { do_warn( - "\tclearing ino number in entry %d...\n", i); + _("\tclearing ino number in entry %d...\n"), + i); lino = NULLFSINO; - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( - "\twould clear ino number in entry %d...\n", i); + _("\twould clear ino number in entry %d...\n"), + i); } } else if (lino == mp->m_sb.sb_rsumino) { do_warn( -"entry #%d, bno %d in directory %llu references realtime summary inode %llu\n", +_("entry #%d, bno %d in directory %llu references realtime summary inode %llu\n"), i, da_bno, ino, lino); if (!no_modify) { do_warn( - "\tclearing ino number in entry %d...\n", i); + _("\tclearing ino number in entry %d...\n"), i); lino = NULLFSINO; - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( - "\twould clear ino number in entry %d...\n", i); + _("\twould clear ino number in entry %d...\n"), + i); } } else if (lino == mp->m_sb.sb_uquotino) { do_warn( -"entry #%d, bno %d in directory %llu references user quota inode %llu\n", +_("entry #%d, bno %d in directory %llu references user quota inode %llu\n"), i, da_bno, ino, lino); if (!no_modify) { do_warn( - "\tclearing ino number in entry %d...\n", i); + _("\tclearing ino number in entry %d...\n"), + i); lino = NULLFSINO; - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( - "\twould clear ino number in entry %d...\n", i); + _("\twould clear ino number in entry %d...\n"), + i); } } else if (lino == mp->m_sb.sb_gquotino) { do_warn( -"entry #%d, bno %d in directory %llu references group quota inode %llu\n", +_("entry #%d, bno %d in directory %llu references group quota inode %llu\n"), i, da_bno, ino, lino); if (!no_modify) { do_warn( - "\tclearing ino number in entry %d...\n", i); + _("\tclearing ino number in entry %d...\n"), + i); lino = NULLFSINO; - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( - "\twould clear ino number in entry %d...\n", i); + _("\twould clear ino number in entry %d...\n"), + i); } } else if (lino == old_orphanage_ino) { /* @@ -1974,15 +2029,15 @@ process_leaf_dir_block( if (!ino_discovery && is_inode_free(irec_p, ino_off)) { if (!no_modify) { do_warn( -"entry references free inode %llu in directory %llu, will clear entry\n", +_("entry references free inode %llu in directory %llu, will clear entry\n"), lino, ino); lino = NULLFSINO; XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, - &namest->inumber, ARCH_CONVERT); + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( -"entry references free inode %llu in directory %llu, would clear entry\n", +_("entry references free inode %llu in directory %llu, would clear entry\n"), lino, ino); } } @@ -1990,15 +2045,16 @@ process_leaf_dir_block( add_inode_uncertain(mp, lino, 0); } else { do_warn( - "bad ino number %llu in dir ino %llu, entry #%d, bno %d\n", + _("bad ino number %llu in dir ino %llu, entry #%d, bno %d\n"), lino, ino, i, da_bno); if (!no_modify) { - do_warn("clearing inode number...\n"); + do_warn(_("clearing inode number...\n")); lino = NULLFSINO; - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); *buf_dirty = 1; } else { - do_warn("would clear inode number...\n"); + do_warn(_("would clear inode number...\n")); } } /* @@ -2018,11 +2074,12 @@ process_leaf_dir_block( if (INT_GET(leaf->hdr.count, ARCH_CONVERT) > 1) { do_warn( - "entry #%d, dir inode %llu, has zero-len name, deleting entry\n", + _("entry #%d, dir inode %llu, has zero-len name, deleting entry\n"), i, ino); ASSERT(INT_GET(leaf->hdr.count, ARCH_CONVERT) > i); - bytes = (INT_GET(leaf->hdr.count, ARCH_CONVERT) - i) * + bytes = (INT_GET(leaf->hdr.count, + ARCH_CONVERT) - i) * sizeof(xfs_dir_leaf_entry_t); /* @@ -2032,8 +2089,7 @@ process_leaf_dir_block( * just zero it. */ if (bytes > sizeof(xfs_dir_leaf_entry_t)) { - memmove(entry, entry + 1, - bytes); + memmove(entry, entry + 1, bytes); bzero((void *) ((__psint_t) entry + bytes), sizeof(xfs_dir_leaf_entry_t)); @@ -2057,19 +2113,23 @@ process_leaf_dir_block( * inode number for now */ do_warn( - "entry #%d, dir inode %llu, has zero-len name, marking entry bad\n", + _("entry #%d, dir inode %llu, has zero-len name, marking entry bad\n"), i, ino); - INT_SET(entry->nameidx, ARCH_CONVERT, mp->m_sb.sb_blocksize - + INT_SET(entry->nameidx, ARCH_CONVERT, + mp->m_sb.sb_blocksize - sizeof(xfs_dir_leaf_name_t)); namest = XFS_DIR_LEAF_NAMESTRUCT(leaf, - INT_GET(entry->nameidx, ARCH_CONVERT)); - XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, &namest->inumber, ARCH_CONVERT); + INT_GET(entry->nameidx, + ARCH_CONVERT)); + XFS_DIR_SF_PUT_DIRINO_ARCH(&lino, + &namest->inumber, ARCH_CONVERT); namest->name[0] = '/'; } - } else if (INT_GET(entry->nameidx, ARCH_CONVERT) + entry->namelen > XFS_LBSIZE(mp)) { + } else if (INT_GET(entry->nameidx, ARCH_CONVERT) + + entry->namelen > XFS_LBSIZE(mp)) { do_warn( -"bad size, entry #%d in dir inode %llu, block %u -- entry overflows block\n", - i, ino, da_bno); +_("bad size, entry #%d in dir inode %llu, block %u -- entry overflows block\n"), + i, ino, da_bno); return(1); } @@ -2079,7 +2139,7 @@ process_leaf_dir_block( if (set_da_freemap(mp, dir_freemap, start, stop)) { do_warn( -"dir entry slot %d in block %u conflicts with used space in dir inode %llu\n", +_("dir entry slot %d in block %u conflicts with used space in dir inode %llu\n"), i, da_bno, ino); return(1); } @@ -2118,32 +2178,33 @@ process_leaf_dir_block( */ if (!no_modify) { do_warn( - "illegal name \"%s\" in directory inode %llu, entry will be cleared\n", +_("illegal name \"%s\" in directory inode %llu, entry will be cleared\n"), fname, ino); namest->name[0] = '/'; *buf_dirty = 1; } else { do_warn( - "illegal name \"%s\" in directory inode %llu, entry would be cleared\n", +_("illegal name \"%s\" in directory inode %llu, entry would be cleared\n"), fname, ino); } - } else if (!nm_illegal && INT_GET(entry->hashval, ARCH_CONVERT) != hashval) { + } else if (!nm_illegal && + INT_GET(entry->hashval, ARCH_CONVERT) != hashval) { /* * try resetting the hashvalue to the correct * value for the string, if the string has been * corrupted, too, that will get picked up next */ - do_warn("\tmismatched hash value for entry \"%s\"\n", + do_warn(_("\tmismatched hash value for entry \"%s\"\n"), fname); if (!no_modify) { do_warn( - "\t\tin directory inode %llu. resetting hash value.\n", + _("\t\tin directory inode %llu. resetting hash value.\n"), ino); INT_SET(entry->hashval, ARCH_CONVERT, hashval); *buf_dirty = 1; } else { do_warn( - "\t\tin directory inode %llu. would reset hash value.\n", + _("\t\tin directory inode %llu. would reset hash value.\n"), ino); } } @@ -2173,18 +2234,19 @@ process_leaf_dir_block( * inode number in the entry so we can attach * the inode to the orphanage later. */ - do_warn("\tbad hash ordering for entry \"%s\"\n", + do_warn(_("\tbad hash ordering for entry \"%s\"\n"), fname); if (!no_modify) { do_warn( - "\t\tin directory inode %llu. will clear entry\n", + _("\t\tin directory inode %llu. will clear entry\n"), ino); - INT_SET(entry->hashval, ARCH_CONVERT, last_hashval); + INT_SET(entry->hashval, ARCH_CONVERT, + last_hashval); namest->name[0] = '/'; *buf_dirty = 1; } else { do_warn( - "\t\tin directory inode %llu. would clear entry\n", + _("\t\tin directory inode %llu. would clear entry\n"), ino); } } @@ -2195,22 +2257,24 @@ process_leaf_dir_block( * if heap data conflicts with something, * blow it out and skip the rest of the loop */ - if (set_da_freemap(mp, dir_freemap, INT_GET(entry->nameidx, ARCH_CONVERT), - INT_GET(entry->nameidx, ARCH_CONVERT) + sizeof(xfs_dir_leaf_name_t) + - entry->namelen - 1)) { + if (set_da_freemap(mp, dir_freemap, + INT_GET(entry->nameidx, ARCH_CONVERT), + INT_GET(entry->nameidx, ARCH_CONVERT) + + sizeof(xfs_dir_leaf_name_t) + + entry->namelen - 1)) { do_warn( -"name \"%s\" (block %u, slot %d) conflicts with used space in dir inode %llu\n", +_("name \"%s\" (block %u, slot %d) conflicts with used space in dir inode %llu\n"), fname, da_bno, i, ino); if (!no_modify) { entry->namelen = 0; *buf_dirty = 1; do_warn( - "will clear entry \"%s\" (#%d) in directory inode %llu\n", + _("will clear entry \"%s\" (#%d) in directory inode %llu\n"), fname, i, ino); } else { do_warn( - "would clear entry \"%s\" (#%d)in directory inode %llu\n", + _("would clear entry \"%s\" (#%d)in directory inode %llu\n"), fname, i, ino); } continue; @@ -2246,15 +2310,16 @@ process_leaf_dir_block( ino != mp->m_sb.sb_rootino) { *parent = NULLFSINO; do_warn( - "bad .. entry in dir ino %llu, points to self", + _("bad .. entry in dir ino %llu, points to self"), ino); if (!no_modify) { - do_warn("will clear entry\n"); - + do_warn( + _("will clear entry\n")); namest->name[0] = '/'; *buf_dirty = 1; } else { - do_warn("would clear entry\n"); + do_warn( + _("would clear entry\n")); } } else if (ino != lino && ino == mp->m_sb.sb_rootino) { @@ -2264,7 +2329,7 @@ process_leaf_dir_block( */ if (!no_modify) { do_warn( - "correcting .. entry in root inode %llu, was %llu\n", + _("correcting .. entry in root inode %llu, was %llu\n"), ino, *parent); XFS_DIR_SF_PUT_DIRINO_ARCH( &ino, @@ -2272,7 +2337,7 @@ process_leaf_dir_block( *buf_dirty = 1; } else { do_warn( - "bad .. entry (%llu) in root inode %llu should be %llu\n", + _("bad .. entry (%llu) in root inode %llu should be %llu\n"), *parent, ino, ino); } @@ -2289,13 +2354,13 @@ process_leaf_dir_block( */ if (!no_modify) { do_warn( -"multiple .. entries in directory inode %llu, will clear second entry\n", +_("multiple .. entries in directory inode %llu, will clear second entry\n"), ino); namest->name[0] = '/'; *buf_dirty = 1; } else { do_warn( -"multiple .. entries in directory inode %llu, would clear second entry\n", +_("multiple .. entries in directory inode %llu, would clear second entry\n"), ino); } } @@ -2308,33 +2373,34 @@ process_leaf_dir_block( if (lino != ino) { if (!no_modify) { do_warn( - ". in directory inode %llu has wrong value (%llu), fixing entry...\n", +_(". in directory inode %llu has wrong value (%llu), fixing entry...\n"), ino, lino); XFS_DIR_SF_PUT_DIRINO_ARCH(&ino, - &namest->inumber, ARCH_CONVERT); + &namest->inumber, + ARCH_CONVERT); *buf_dirty = 1; } else { do_warn( - ". in directory inode %llu has wrong value (%llu)\n", + _(". in directory inode %llu has wrong value (%llu)\n"), ino, lino); } } } else { do_warn( - "multiple . entries in directory inode %llu\n", + _("multiple . entries in directory inode %llu\n"), ino); /* * mark entry as to be junked. */ if (!no_modify) { do_warn( - "will clear one . entry in directory inode %llu\n", + _("will clear one . entry in directory inode %llu\n"), ino); namest->name[0] = '/'; *buf_dirty = 1; } else { do_warn( - "would clear one . entry in directory inode %llu\n", + _("would clear one . entry in directory inode %llu\n"), ino); } } @@ -2344,14 +2410,14 @@ process_leaf_dir_block( */ if (lino == ino) { do_warn( - "entry \"%s\" in directory inode %llu points to self, ", + _("entry \"%s\" in directory inode %llu points to self, "), fname, ino); if (!no_modify) { - do_warn("will clear entry\n"); + do_warn(_("will clear entry\n")); namest->name[0] = '/'; *buf_dirty = 1; } else { - do_warn("would clear entry\n"); + do_warn(_("would clear entry\n")); } } } @@ -2363,22 +2429,25 @@ process_leaf_dir_block( * pointing to used bytes. we're being conservative here * since the block will get compacted anyhow by the kernel. */ - if ((leaf->hdr.holes == 0 && first_used != INT_GET(leaf->hdr.firstused, ARCH_CONVERT)) || - INT_GET(leaf->hdr.firstused, ARCH_CONVERT) > first_used) { + if ((leaf->hdr.holes == 0 && + first_used != INT_GET(leaf->hdr.firstused, ARCH_CONVERT)) || + INT_GET(leaf->hdr.firstused, ARCH_CONVERT) > first_used) { if (!no_modify) { if (verbose) do_warn( -"- resetting first used heap value from %d to %d in block %u of dir ino %llu\n", - (int) INT_GET(leaf->hdr.firstused, ARCH_CONVERT), first_used, - da_bno, ino); +_("- resetting first used heap value from %d to %d in block %u of dir ino %llu\n"), + (int) INT_GET(leaf->hdr.firstused, + ARCH_CONVERT), + first_used, da_bno, ino); INT_SET(leaf->hdr.firstused, ARCH_CONVERT, first_used); *buf_dirty = 1; } else { if (verbose) do_warn( -"- would reset first used value from %d to %d in block %u of dir ino %llu\n", - (int) INT_GET(leaf->hdr.firstused, ARCH_CONVERT), first_used, - da_bno, ino); +_("- would reset first used value from %d to %d in block %u of dir ino %llu\n"), + (int) INT_GET(leaf->hdr.firstused, + ARCH_CONVERT), + first_used, da_bno, ino); } } @@ -2386,17 +2455,19 @@ process_leaf_dir_block( if (!no_modify) { if (verbose) do_warn( -"- resetting namebytes cnt from %d to %d in block %u of dir inode %llu\n", - (int) INT_GET(leaf->hdr.namebytes, ARCH_CONVERT), bytes_used, - da_bno, ino); +_("- resetting namebytes cnt from %d to %d in block %u of dir inode %llu\n"), + (int) INT_GET(leaf->hdr.namebytes, + ARCH_CONVERT), + bytes_used, da_bno, ino); INT_SET(leaf->hdr.namebytes, ARCH_CONVERT, bytes_used); *buf_dirty = 1; } else { if (verbose) do_warn( -"- would reset namebytes cnt from %d to %d in block %u of dir inode %llu\n", - (int) INT_GET(leaf->hdr.namebytes, ARCH_CONVERT), bytes_used, - da_bno, ino); +_("- would reset namebytes cnt from %d to %d in block %u of dir inode %llu\n"), + (int) INT_GET(leaf->hdr.namebytes, + ARCH_CONVERT), + bytes_used, da_bno, ino); } } @@ -2429,7 +2500,7 @@ process_leaf_dir_block( if (holemap.lost_holes > 0) { if (verbose) do_warn( - "- found unexpected lost holes in block %u, dir inode %llu\n", + _("- found unexpected lost holes in block %u, dir inode %llu\n"), da_bno, ino); reset_holes = 1; @@ -2437,14 +2508,14 @@ process_leaf_dir_block( XFS_DIR_LEAF_MAPSIZE, ino, da_bno)) { if (verbose) do_warn( - "- hole info non-optimal in block %u, dir inode %llu\n", + _("- hole info non-optimal in block %u, dir inode %llu\n"), da_bno, ino); reset_holes = 1; } } else if (verify_da_freemap(mp, dir_freemap, &holemap, ino, da_bno)) { if (verbose) do_warn( - "- hole info incorrect in block %u, dir inode %llu\n", + _("- hole info incorrect in block %u, dir inode %llu\n"), da_bno, ino); reset_holes = 1; } @@ -2455,7 +2526,7 @@ process_leaf_dir_block( */ if (verbose) { do_warn( - "- existing hole info for block %d, dir inode %llu (base, size) - \n", +_("- existing hole info for block %d, dir inode %llu (base, size) - \n"), da_bno, ino); do_warn("- \t"); for (i = 0; i < XFS_DIR_LEAF_MAPSIZE; i++) { @@ -2463,13 +2534,13 @@ process_leaf_dir_block( "- (%d, %d) ", bholemap.hentries[i].base, bholemap.hentries[i].size); } - do_warn("- holes flag = %d\n", bholemap.lost_holes); + do_warn(_("- holes flag = %d\n"), bholemap.lost_holes); } if (!no_modify) { if (verbose) do_warn( - "- compacting block %u in dir inode %llu\n", + _("- compacting block %u in dir inode %llu\n"), da_bno, ino); new_leaf = (xfs_dir_leafblock_t *) &dirbuf[0]; @@ -2510,7 +2581,7 @@ process_leaf_dir_block( sizeof(xfs_dir_leaf_entry_t) + (__psint_t) d_entry) { do_warn( - "not enough space in block %u of dir inode %llu for all entries\n", + _("not enough space in block %u of dir inode %llu for all entries\n"), da_bno, ino); break; } @@ -2578,7 +2649,7 @@ process_leaf_dir_block( } else { if (verbose) do_warn( - "- would compact block %u in dir inode %llu\n", + _("- would compact block %u in dir inode %llu\n"), da_bno, ino); } } @@ -2639,7 +2710,8 @@ process_leaf_dir_level(xfs_mount_t *mp, ASSERT(da_bno != 0); if (dev_bno == NULLDFSBNO) { - do_warn("can't map block %u for directory inode %llu\n", + do_warn( + _("can't map block %u for directory inode %llu\n"), da_bno, ino); goto error_out; } @@ -2649,8 +2721,9 @@ process_leaf_dir_level(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, dev_bno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read file block %u (fsbno %llu, daddr %lld) " - "for directory inode %llu\n", + do_warn( + _("can't read file block %u (fsbno %llu, daddr %lld) " + "for directory inode %llu\n"), da_bno, dev_bno, (__int64_t) bd_addr, ino); goto error_out; } @@ -2660,9 +2733,12 @@ process_leaf_dir_level(xfs_mount_t *mp, /* * check magic number for leaf directory btree block */ - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR_LEAF_MAGIC) { - do_warn("bad directory leaf magic # %#x for dir ino %llu\n", - INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), ino); + if (XFS_DIR_LEAF_MAGIC != + INT_GET(leaf->hdr.info.magic, ARCH_CONVERT)) { + do_warn( + _("bad directory leaf magic # %#x for dir ino %llu\n"), + INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), + ino); libxfs_putbuf(bp); goto error_out; } @@ -2699,8 +2775,9 @@ process_leaf_dir_level(xfs_mount_t *mp, da_cursor->level[0].dirty = buf_dirty; if (INT_GET(leaf->hdr.info.back, ARCH_CONVERT) != prev_bno) { - do_warn("bad sibling back pointer for directory block %u " - "in directory inode %llu\n", da_bno, ino); + do_warn(_("bad sibling back pointer for directory " + "block %u in directory inode %llu\n"), + da_bno, ino); libxfs_putbuf(bp); goto error_out; } @@ -2730,7 +2807,7 @@ process_leaf_dir_level(xfs_mount_t *mp, /* * verify the final path up (right-hand-side) if still ok */ - do_warn("bad hash path in directory %llu\n", da_cursor->ino); + do_warn(_("bad hash path in directory %llu\n"), da_cursor->ino); goto error_out; } @@ -2840,13 +2917,13 @@ process_node_dir( if ((xfs_fsize_t) (da_cursor.greatest_bno * mp->m_sb.sb_blocksize) > UINT_MAX) { do_warn( -"out of range internal directory block numbers (inode %llu)\n", + _("out of range internal directory block numbers (inode %llu)\n"), ino); return(1); } do_warn( -"setting directory inode (%llu) size to %llu bytes, was %lld bytes\n", +_("setting directory inode (%llu) size to %llu bytes, was %lld bytes\n"), ino, (xfs_dfiloff_t) (da_cursor.greatest_bno + 1) * mp->m_sb.sb_blocksize, @@ -2901,13 +2978,15 @@ process_leaf_dir( bno = blkmap_get(blkmap, 0); if (bno == NULLDFSBNO) { - do_warn("block 0 for directory inode %llu is missing\n", ino); + do_warn(_("block 0 for directory inode %llu is missing\n"), + ino); return(1); } bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, bno), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_warn("can't read block 0 for directory inode %llu\n", ino); + do_warn(_("can't read block 0 for directory inode %llu\n"), + ino); return(1); } /* @@ -2919,7 +2998,7 @@ process_leaf_dir( * check magic number for leaf directory btree block */ if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR_LEAF_MAGIC) { - do_warn("bad directory leaf magic # %#x for dir ino %llu\n", + do_warn(_("bad directory leaf magic # %#x for dir ino %llu\n"), INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), ino); libxfs_putbuf(bp); return(1); @@ -2941,16 +3020,16 @@ process_leaf_dir( * check sibling pointers in leaf block (above doesn't do it) */ if (INT_GET(leaf->hdr.info.forw, ARCH_CONVERT) != 0 || - INT_GET(leaf->hdr.info.back, ARCH_CONVERT) != 0) { + INT_GET(leaf->hdr.info.back, ARCH_CONVERT) != 0) { if (!no_modify) { - do_warn("clearing forw/back pointers for directory inode " - "%llu\n", ino); + do_warn(_("clearing forw/back pointers for " + "directory inode %llu\n"), ino); buf_dirty = 1; INT_ZERO(leaf->hdr.info.forw, ARCH_CONVERT); INT_ZERO(leaf->hdr.info.back, ARCH_CONVERT); } else { - do_warn("would clear forw/back pointers for directory inode " - "%llu\n", ino); + do_warn(_("would clear forw/back pointers for " + "directory inode %llu\n"), ino); } } @@ -2993,14 +3072,16 @@ process_dir( * is only called ONCE so all the subordinate routines will * fix '.' and junk '..' if they're bogus. */ - if (INT_GET(dip->di_core.di_size, ARCH_CONVERT) <= XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT)) { + if (INT_GET(dip->di_core.di_size, ARCH_CONVERT) <= + XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT)) { dot = 1; dotdot = 1; if (process_shortform_dir(mp, ino, dip, ino_discovery, dino_dirty, parent, dirname, &repair)) { res = 1; } - } else if (INT_GET(dip->di_core.di_size, ARCH_CONVERT) <= XFS_LBSIZE(mp)) { + } else if (INT_GET(dip->di_core.di_size, ARCH_CONVERT) <= + XFS_LBSIZE(mp)) { if (process_leaf_dir(mp, ino, dip, ino_discovery, dino_dirty, blkmap, &dot, &dotdot, parent, dirname, &repair)) { @@ -3017,7 +3098,7 @@ process_dir( * bad . entries in all directories will be fixed up in phase 6 */ if (dot == 0) { - do_warn("no . entry for directory %llu\n", ino); + do_warn(_("no . entry for directory %llu\n"), ino); } /* @@ -3027,9 +3108,9 @@ process_dir( * fixed in place since we know what it should be */ if (dotdot == 0 && ino != mp->m_sb.sb_rootino) { - do_warn("no .. entry for directory %llu\n", ino); + do_warn(_("no .. entry for directory %llu\n"), ino); } else if (dotdot == 0 && ino == mp->m_sb.sb_rootino) { - do_warn("no .. entry for root directory %llu\n", ino); + do_warn(_("no .. entry for root directory %llu\n"), ino); need_root_dotdot = 1; } diff --git a/repair/dir2.c b/repair/dir2.c index fcb8be55e..2c45888ee 100644 --- a/repair/dir2.c +++ b/repair/dir2.c @@ -64,7 +64,8 @@ dir2_add_badlist( dir2_bad_t *l; if ((l = malloc(sizeof(dir2_bad_t))) == NULL) { - do_error("malloc failed (%u bytes) dir2_add_badlist:ino %llu\n", + do_error( + _("malloc failed (%u bytes) dir2_add_badlist:ino %llu\n"), sizeof(dir2_bad_t), ino); exit(1); } @@ -103,7 +104,7 @@ da_read_buf( bplist = calloc(nex, sizeof(*bplist)); if (bplist == NULL) { - do_error("couldn't malloc dir2 buffer list\n"); + do_error(_("couldn't malloc dir2 buffer list\n")); exit(1); } for (i = 0; i < nex; i++) { @@ -115,7 +116,7 @@ da_read_buf( } dabuf = malloc(XFS_DA_BUF_SIZE(nex)); if (dabuf == NULL) { - do_error("couldn't malloc dir2 buffer header\n"); + do_error(_("couldn't malloc dir2 buffer header\n")); exit(1); } dabuf->dirty = 0; @@ -132,7 +133,7 @@ da_read_buf( } dabuf->data = malloc(BBTOB(dabuf->bbcount)); if (dabuf->data == NULL) { - do_error("couldn't malloc dir2 buffer data\n"); + do_error(_("couldn't malloc dir2 buffer data\n")); exit(1); } for (i = off = 0; i < nex; i++, off += XFS_BUF_COUNT(bp)) { @@ -196,7 +197,7 @@ da_bwrite( } else { bplist = malloc(nbuf * sizeof(*bplist)); if (bplist == NULL) { - do_error("couldn't malloc dir2 buffer list\n"); + do_error(_("couldn't malloc dir2 buffer list\n")); exit(1); } bcopy(dabuf->bps, bplist, nbuf * sizeof(*bplist)); @@ -232,7 +233,7 @@ da_brelse( } else { bplist = malloc(nbuf * sizeof(*bplist)); if (bplist == NULL) { - do_error("couldn't malloc dir2 buffer list\n"); + do_error(_("couldn't malloc dir2 buffer list\n")); exit(1); } bcopy(dabuf->bps, bplist, nbuf * sizeof(*bplist)); @@ -285,8 +286,8 @@ traverse_int_dir2block(xfs_mount_t *mp, bp = da_read_buf(mp, nex, bmp); free(bmp); if (bp == NULL) { - do_warn("can't read block %u for directory inode " - "%llu\n", + do_warn(_("can't read block %u for directory inode " + "%llu\n"), bno, da_cursor->ino); goto error_out; } @@ -296,13 +297,13 @@ traverse_int_dir2block(xfs_mount_t *mp, if (INT_GET(node->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC) { if ( i != -1 ) { - do_warn("found non-root LEAFN node in inode " - "%llu bno = %u\n", + do_warn(_("found non-root LEAFN node in inode " + "%llu bno = %u\n"), da_cursor->ino, bno); } if (INT_GET(node->hdr.level, ARCH_CONVERT) >= 1) { - do_warn("LEAFN node level is %d inode %llu " - "bno = %u\n", + do_warn(_("LEAFN node level is %d inode %llu " + "bno = %u\n"), INT_GET(node->hdr.level, ARCH_CONVERT), da_cursor->ino, bno); } @@ -312,8 +313,8 @@ traverse_int_dir2block(xfs_mount_t *mp, } else if (INT_GET(node->hdr.info.magic, ARCH_CONVERT) != XFS_DA_NODE_MAGIC) { da_brelse(bp); - do_warn("bad dir magic number 0x%x in inode %llu " - "bno = %u\n", + do_warn(_("bad dir magic number 0x%x in inode %llu " + "bno = %u\n"), INT_GET(node->hdr.info.magic, ARCH_CONVERT), da_cursor->ino, bno); goto error_out; @@ -321,8 +322,8 @@ traverse_int_dir2block(xfs_mount_t *mp, if (INT_GET(node->hdr.count, ARCH_CONVERT) > mp->m_dir_node_ents) { da_brelse(bp); - do_warn("bad record count in inode %llu, count = %d, " - "max = %d\n", da_cursor->ino, + do_warn(_("bad record count in inode %llu, count = %d, " + "max = %d\n"), da_cursor->ino, INT_GET(node->hdr.count, ARCH_CONVERT), mp->m_dir_node_ents); goto error_out; @@ -338,8 +339,8 @@ traverse_int_dir2block(xfs_mount_t *mp, if (INT_GET(node->hdr.level, ARCH_CONVERT) == i - 1) { i--; } else { - do_warn("bad directory btree for directory " - "inode %llu\n", + do_warn(_("bad directory btree for directory " + "inode %llu\n"), da_cursor->ino); da_brelse(bp); goto error_out; @@ -389,8 +390,8 @@ release_dir2_cursor_int(xfs_mount_t *mp, if (cursor->level[level].bp != NULL) { if (!error) { - do_warn("release_dir2_cursor_int got unexpected " - "non-null bp, dabno = %u\n", + do_warn(_("release_dir2_cursor_int got unexpected " + "non-null bp, dabno = %u\n"), cursor->level[level].bno); } ASSERT(error != 0); @@ -451,28 +452,30 @@ verify_final_dir2_path(xfs_mount_t *mp, * match, etc. */ if (entry != INT_GET(node->hdr.count, ARCH_CONVERT) - 1) { - do_warn("directory block used/count inconsistency - %d / %hu\n", + do_warn( + _("directory block used/count inconsistency - %d / %hu\n"), entry, INT_GET(node->hdr.count, ARCH_CONVERT)); bad++; } /* * hash values monotonically increasing ??? */ - if (cursor->level[this_level].hashval >= INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { - do_warn("directory/attribute block hashvalue inconsistency, " - "expected > %u / saw %u\n", + if (cursor->level[this_level].hashval >= + INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { + do_warn(_("directory/attribute block hashvalue inconsistency, " + "expected > %u / saw %u\n"), cursor->level[this_level].hashval, INT_GET(node->btree[entry].hashval, ARCH_CONVERT)); bad++; } if (INT_GET(node->hdr.info.forw, ARCH_CONVERT) != 0) { - do_warn("bad directory/attribute forward block pointer, " - "expected 0, saw %u\n", + do_warn(_("bad directory/attribute forward block pointer, " + "expected 0, saw %u\n"), INT_GET(node->hdr.info.forw, ARCH_CONVERT)); bad++; } if (bad) { - do_warn("bad directory block in inode %llu\n", cursor->ino); + do_warn(_("bad directory block in inode %llu\n"), cursor->ino); return(1); } /* @@ -485,22 +488,23 @@ verify_final_dir2_path(xfs_mount_t *mp, /* * ok, now check descendant block number against this level */ - if (cursor->level[p_level].bno != INT_GET(node->btree[entry].before, ARCH_CONVERT)) { + if (cursor->level[p_level].bno != + INT_GET(node->btree[entry].before, ARCH_CONVERT)) { return(1); } - if (cursor->level[p_level].hashval != INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { + if (cursor->level[p_level].hashval != + INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting bad hashval in non-leaf dir " - "block\n"); - do_warn("\tin (level %d) in inode %llu.\n", + do_warn(_("correcting bad hashval in non-leaf dir " + "block\n\tin (level %d) in inode %llu.\n"), this_level, cursor->ino); - INT_SET(node->btree[entry].hashval, ARCH_CONVERT, cursor->level[p_level].hashval); + INT_SET(node->btree[entry].hashval, ARCH_CONVERT, + cursor->level[p_level].hashval); cursor->level[this_level].dirty++; } else { - do_warn("would correct bad hashval in non-leaf dir " - "block\n"); - do_warn("\tin (level %d) in inode %llu.\n", + do_warn(_("would correct bad hashval in non-leaf dir " + "block\n\tin (level %d) in inode %llu.\n"), this_level, cursor->ino); } } @@ -528,7 +532,8 @@ verify_final_dir2_path(xfs_mount_t *mp, * set hashvalue to correctl reflect the now-validated * last entry in this block and continue upwards validation */ - cursor->level[this_level].hashval = INT_GET(node->btree[entry].hashval, ARCH_CONVERT); + cursor->level[this_level].hashval = + INT_GET(node->btree[entry].hashval, ARCH_CONVERT); return(verify_final_dir2_path(mp, cursor, this_level)); } @@ -606,7 +611,7 @@ verify_dir2_path(xfs_mount_t *mp, * it was set when the block was first read in. */ cursor->level[this_level].hashval = - INT_GET(node->btree[entry - 1].hashval, ARCH_CONVERT); + INT_GET(node->btree[entry - 1].hashval, ARCH_CONVERT); /* * keep track of greatest block # -- that gets @@ -629,8 +634,8 @@ verify_dir2_path(xfs_mount_t *mp, nex = blkmap_getn(cursor->blkmap, dabno, mp->m_dirblkfsbs, &bmp); if (nex == 0) { - do_warn("can't get map info for block %u of directory " - "inode %llu\n", + do_warn(_("can't get map info for block %u of " + "directory inode %llu\n"), dabno, cursor->ino); return(1); } @@ -638,8 +643,8 @@ verify_dir2_path(xfs_mount_t *mp, bp = da_read_buf(mp, nex, bmp); if (bp == NULL) { - do_warn("can't read block %u for directory inode " - "%llu\n", + do_warn(_("can't read block %u for directory inode " + "%llu\n"), dabno, cursor->ino); return(1); } @@ -650,29 +655,34 @@ verify_dir2_path(xfs_mount_t *mp, * entry count, verify level */ bad = 0; - if (INT_GET(newnode->hdr.info.magic, ARCH_CONVERT) != XFS_DA_NODE_MAGIC) { - do_warn("bad magic number %x in block %u for directory " - "inode %llu\n", - INT_GET(newnode->hdr.info.magic, ARCH_CONVERT), dabno, cursor->ino); + if (XFS_DA_NODE_MAGIC != + INT_GET(newnode->hdr.info.magic, ARCH_CONVERT)) { + do_warn(_("bad magic number %x in block %u for " + "directory inode %llu\n"), + INT_GET(newnode->hdr.info.magic, ARCH_CONVERT), + dabno, cursor->ino); bad++; } - if (INT_GET(newnode->hdr.info.back, ARCH_CONVERT) != cursor->level[this_level].bno) { - do_warn("bad back pointer in block %u for directory " - "inode %llu\n", + if (INT_GET(newnode->hdr.info.back, ARCH_CONVERT) != + cursor->level[this_level].bno) { + do_warn(_("bad back pointer in block %u for directory " + "inode %llu\n"), dabno, cursor->ino); bad++; } if (INT_GET(newnode->hdr.count, ARCH_CONVERT) > mp->m_dir_node_ents) { - do_warn("entry count %d too large in block %u for " - "directory inode %llu\n", - INT_GET(newnode->hdr.count, ARCH_CONVERT), dabno, cursor->ino); + do_warn(_("entry count %d too large in block %u for " + "directory inode %llu\n"), + INT_GET(newnode->hdr.count, ARCH_CONVERT), + dabno, cursor->ino); bad++; } if (INT_GET(newnode->hdr.level, ARCH_CONVERT) != this_level) { - do_warn("bad level %d in block %u for directory inode " - "%llu\n", - INT_GET(newnode->hdr.level, ARCH_CONVERT), dabno, cursor->ino); + do_warn(_("bad level %d in block %u for directory " + "inode %llu\n"), + INT_GET(newnode->hdr.level, ARCH_CONVERT), + dabno, cursor->ino); bad++; } if (bad) { @@ -693,7 +703,8 @@ verify_dir2_path(xfs_mount_t *mp, cursor->level[this_level].bp = bp; cursor->level[this_level].dirty = 0; cursor->level[this_level].bno = dabno; - cursor->level[this_level].hashval = INT_GET(newnode->btree[0].hashval, ARCH_CONVERT); + cursor->level[this_level].hashval = + INT_GET(newnode->btree[0].hashval, ARCH_CONVERT); node = newnode; entry = cursor->level[this_level].index = 0; @@ -701,25 +712,26 @@ verify_dir2_path(xfs_mount_t *mp, /* * ditto for block numbers */ - if (cursor->level[p_level].bno != INT_GET(node->btree[entry].before, ARCH_CONVERT)) { + if (cursor->level[p_level].bno != + INT_GET(node->btree[entry].before, ARCH_CONVERT)) { return(1); } /* * ok, now validate last hashvalue in the descendant * block against the hashval in the current entry */ - if (cursor->level[p_level].hashval != INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { + if (cursor->level[p_level].hashval != + INT_GET(node->btree[entry].hashval, ARCH_CONVERT)) { if (!no_modify) { - do_warn("correcting bad hashval in interior dir " - "block\n"); - do_warn("\tin (level %d) in inode %llu.\n", + do_warn(_("correcting bad hashval in interior dir " + "block\n\tin (level %d) in inode %llu.\n"), this_level, cursor->ino); - INT_SET(node->btree[entry].hashval, ARCH_CONVERT, cursor->level[p_level].hashval); + INT_SET(node->btree[entry].hashval, ARCH_CONVERT, + cursor->level[p_level].hashval); cursor->level[this_level].dirty++; } else { - do_warn("would correct bad hashval in interior dir " - "block\n"); - do_warn("\tin (level %d) in inode %llu.\n", + do_warn(_("would correct bad hashval in interior dir " + "block\n\tin (level %d) in inode %llu.\n"), this_level, cursor->ino); } } @@ -752,20 +764,24 @@ process_sf_dir2_fixi8( oldsize = (__psint_t)*next_sfep - (__psint_t)sfp; oldsfp = malloc(oldsize); if (oldsfp == NULL) { - do_error("couldn't malloc dir2 shortform copy\n"); + do_error(_("couldn't malloc dir2 shortform copy\n")); exit(1); } memmove(oldsfp, newsfp, oldsize); - INT_SET(newsfp->hdr.count, ARCH_CONVERT, INT_GET(oldsfp->hdr.count, ARCH_CONVERT)); + INT_SET(newsfp->hdr.count, ARCH_CONVERT, + INT_GET(oldsfp->hdr.count, ARCH_CONVERT)); newsfp->hdr.i8count = 0; - ino = XFS_DIR2_SF_GET_INUMBER_ARCH(oldsfp, &oldsfp->hdr.parent, ARCH_CONVERT); - XFS_DIR2_SF_PUT_INUMBER_ARCH(newsfp, &ino, &newsfp->hdr.parent, ARCH_CONVERT); + ino = XFS_DIR2_SF_GET_INUMBER_ARCH(oldsfp, + &oldsfp->hdr.parent, ARCH_CONVERT); + XFS_DIR2_SF_PUT_INUMBER_ARCH(newsfp, &ino, + &newsfp->hdr.parent, ARCH_CONVERT); oldsfep = XFS_DIR2_SF_FIRSTENTRY(oldsfp); newsfep = XFS_DIR2_SF_FIRSTENTRY(newsfp); while ((int)((char *)oldsfep - (char *)oldsfp) < oldsize) { newsfep->namelen = oldsfep->namelen; XFS_DIR2_SF_PUT_OFFSET_ARCH(newsfep, - XFS_DIR2_SF_GET_OFFSET_ARCH(oldsfep, ARCH_CONVERT), ARCH_CONVERT); + XFS_DIR2_SF_GET_OFFSET_ARCH(oldsfep, ARCH_CONVERT), + ARCH_CONVERT); memmove(newsfep->name, oldsfep->name, newsfep->namelen); ino = XFS_DIR2_SF_GET_INUMBER_ARCH(oldsfp, XFS_DIR2_SF_INUMBERP(oldsfep), ARCH_CONVERT); @@ -853,7 +869,8 @@ process_sf_dir2( /* * Initialize i8 based on size of parent inode number. */ - i8 = (XFS_DIR2_SF_GET_INUMBER_ARCH(sfp, &sfp->hdr.parent, ARCH_CONVERT) > XFS_DIR2_MAX_SHORT_INUM); + i8 = (XFS_DIR2_SF_GET_INUMBER_ARCH(sfp, &sfp->hdr.parent, ARCH_CONVERT) + > XFS_DIR2_MAX_SHORT_INUM); /* * check for bad entry count @@ -875,7 +892,8 @@ process_sf_dir2( sfep = next_sfep; junkit = 0; bad_sfnamelen = 0; - lino = XFS_DIR2_SF_GET_INUMBER_ARCH(sfp, XFS_DIR2_SF_INUMBERP(sfep), ARCH_CONVERT); + lino = XFS_DIR2_SF_GET_INUMBER_ARCH(sfp, + XFS_DIR2_SF_INUMBERP(sfep), ARCH_CONVERT); /* * if entry points to self, junk it since only '.' or '..' * should do that and shortform dirs don't contain either @@ -889,22 +907,22 @@ process_sf_dir2( */ if (lino == ino) { junkit = 1; - junkreason = "current"; + junkreason = _("current"); } else if (verify_inum(mp, lino)) { junkit = 1; - junkreason = "invalid"; + junkreason = _("invalid"); } else if (lino == mp->m_sb.sb_rbmino) { junkit = 1; - junkreason = "realtime bitmap"; + junkreason = _("realtime bitmap"); } else if (lino == mp->m_sb.sb_rsumino) { junkit = 1; - junkreason = "realtime summary"; + junkreason = _("realtime summary"); } else if (lino == mp->m_sb.sb_uquotino) { junkit = 1; - junkreason = "user quota"; + junkreason = _("user quota"); } else if (lino == mp->m_sb.sb_gquotino) { junkit = 1; - junkreason = "group quota"; + junkreason = _("group quota"); } else if ((irec_p = find_inode_rec(XFS_INO_TO_AGNO(mp, lino), XFS_INO_TO_AGINO(mp, lino))) != NULL) { /* @@ -921,7 +939,7 @@ process_sf_dir2( ASSERT(is_inode_confirmed(irec_p, ino_off)); if (is_inode_free(irec_p, ino_off) && !ino_discovery) { junkit = 1; - junkreason = "free"; + junkreason = _("free"); } } else if (ino_discovery) { /* @@ -938,12 +956,12 @@ process_sf_dir2( * phase) so this is clearly a bogus entry. */ junkit = 1; - junkreason = "non-existent"; + junkreason = _("non-existent"); } namelen = sfep->namelen; if (junkit) - do_warn("entry \"%*.*s\" in shortform directory %llu " - "references %s inode %llu\n", + do_warn(_("entry \"%*.*s\" in shortform directory %llu " + "references %s inode %llu\n"), namelen, namelen, sfep->name, ino, junkreason, lino); if (namelen == 0) { @@ -962,26 +980,26 @@ process_sf_dir2( ((__psint_t) &sfep->name[0] - (__psint_t) sfp); if (!no_modify) { - do_warn("zero length entry in " - "shortform dir %llu, resetting " - "to %d\n", + do_warn(_("zero length entry in " + "shortform dir %llu, " + "resetting to %d\n"), ino, namelen); sfep->namelen = namelen; } else { - do_warn("zero length entry in " - "shortform dir %llu, would set " - "to %d\n", + do_warn(_("zero length entry in " + "shortform dir %llu, " + "would set to %d\n"), ino, namelen); } } else { - do_warn("zero length entry in shortform dir " - "%llu", + do_warn(_("zero length entry in shortform dir " + "%llu"), ino); if (!no_modify) - do_warn(", junking %d entries\n", + do_warn(_(", junking %d entries\n"), num_entries - i); else - do_warn(", would junk %d entries\n", + do_warn(_(", would junk %d entries\n"), num_entries - i); /* * don't process the rest of the directory, @@ -998,37 +1016,39 @@ process_sf_dir2( namelen = ino_dir_size - ((__psint_t) &sfep->name[0] - (__psint_t) sfp); - do_warn("size of last entry overflows space " - "left in in shortform dir %llu, ", + do_warn(_("size of last entry overflows space " + "left in in shortform dir %llu, "), ino); if (!no_modify) { - do_warn("resetting to %d\n", + do_warn(_("resetting to %d\n"), namelen); sfep->namelen = namelen; *dino_dirty = 1; } else { - do_warn("would reset to %d\n", + do_warn(_("would reset to %d\n"), namelen); } } else { - do_warn("size of entry #%d overflows space " - "left in in shortform dir %llu\n", + do_warn(_("size of entry #%d overflows space " + "left in in shortform dir %llu\n"), i, ino); if (!no_modify) { if (i == num_entries - 1) - do_warn("junking entry #%d\n", + do_warn( + _("junking entry #%d\n"), i); else - do_warn("junking %d entries\n", + do_warn( + _("junking %d entries\n"), num_entries - i); } else { if (i == num_entries - 1) - do_warn("would junk entry " - "#%d\n", + do_warn( + _("would junk entry #%d\n"), i); else - do_warn("would junk %d " - "entries\n", + do_warn( + _("would junk %d entries\n"), num_entries - i); } @@ -1046,15 +1066,15 @@ process_sf_dir2( /* * junk entry */ - do_warn("entry contains illegal character in shortform " - "dir %llu\n", + do_warn(_("entry contains illegal character " + "in shortform dir %llu\n"), ino); junkit = 1; } if (XFS_DIR2_SF_GET_OFFSET_ARCH(sfep, ARCH_CONVERT) < offset) { - do_warn("entry contains offset out of order in " - "shortform dir %llu\n", + do_warn(_("entry contains offset out of order in " + "shortform dir %llu\n"), ino); bad_offset = 1; } @@ -1078,7 +1098,8 @@ process_sf_dir2( if (!no_modify) { tmp_elen = XFS_DIR2_SF_ENTSIZE_BYENTRY(sfp, sfep); - INT_MOD(dip->di_core.di_size, ARCH_CONVERT, -(tmp_elen)); + INT_MOD(dip->di_core.di_size, ARCH_CONVERT, + -(tmp_elen)); ino_dir_size -= tmp_elen; tmp_sfep = (xfs_dir2_sf_entry_t *) @@ -1110,12 +1131,12 @@ process_sf_dir2( *dino_dirty = 1; *repair = 1; - do_warn("junking entry \"%s\" in directory " - "inode %llu\n", + do_warn(_("junking entry \"%s\" in directory " + "inode %llu\n"), name, ino); } else { - do_warn("would have junked entry \"%s\" in " - "directory inode %llu\n", + do_warn(_("would have junked entry \"%s\" in " + "directory inode %llu\n"), name, ino); } } else if (lino > XFS_DIR2_MAX_SHORT_INUM) @@ -1141,12 +1162,12 @@ process_sf_dir2( if (INT_GET(sfp->hdr.count, ARCH_CONVERT) != i) { if (no_modify) { - do_warn("would have corrected entry count in directory " - "%llu from %d to %d\n", + do_warn(_("would have corrected entry count " + "in directory %llu from %d to %d\n"), ino, INT_GET(sfp->hdr.count, ARCH_CONVERT), i); } else { - do_warn("corrected entry count in directory %llu, was " - "%d, now %d\n", + do_warn(_("corrected entry count in directory %llu, " + "was %d, now %d\n"), ino, INT_GET(sfp->hdr.count, ARCH_CONVERT), i); INT_SET(sfp->hdr.count, ARCH_CONVERT, i); *dino_dirty = 1; @@ -1156,12 +1177,12 @@ process_sf_dir2( if (sfp->hdr.i8count != i8) { if (no_modify) { - do_warn("would have corrected i8 count in directory " - "%llu from %d to %d\n", + do_warn(_("would have corrected i8 count in directory " + "%llu from %d to %d\n"), ino, sfp->hdr.i8count, i8); } else { - do_warn("corrected i8 count in directory %llu, was %d, " - "now %d\n", + do_warn(_("corrected i8 count in directory %llu, " + "was %d, now %d\n"), ino, sfp->hdr.i8count, i8); if (i8 == 0) process_sf_dir2_fixi8(sfp, &next_sfep); @@ -1174,36 +1195,40 @@ process_sf_dir2( if ((__psint_t) next_sfep - (__psint_t) sfp != ino_dir_size) { if (no_modify) { - do_warn("would have corrected directory %llu size from " - "%lld to %lld\n", + do_warn(_("would have corrected directory %llu size " + "from %lld to %lld\n"), ino, (__int64_t) ino_dir_size, (__int64_t)((__psint_t)next_sfep - (__psint_t)sfp)); } else { - do_warn("corrected directory %llu size, was %lld, now " - "%lld\n", + do_warn(_("corrected directory %llu size, was %lld, " + "now %lld\n"), ino, (__int64_t) ino_dir_size, (__int64_t)((__psint_t)next_sfep - (__psint_t)sfp)); - INT_SET(dip->di_core.di_size, ARCH_CONVERT, (xfs_fsize_t)((__psint_t)next_sfep - + INT_SET(dip->di_core.di_size, ARCH_CONVERT, + (xfs_fsize_t)((__psint_t)next_sfep - (__psint_t)sfp)); *dino_dirty = 1; *repair = 1; } } - if (offset + (INT_GET(sfp->hdr.count, ARCH_CONVERT) + 2) * sizeof(xfs_dir2_leaf_entry_t) + + if (offset + + (INT_GET(sfp->hdr.count, ARCH_CONVERT) + 2) * + sizeof(xfs_dir2_leaf_entry_t) + sizeof(xfs_dir2_block_tail_t) > mp->m_dirblksize) { - do_warn("directory %llu offsets too high\n", ino); + do_warn(_("directory %llu offsets too high\n"), ino); bad_offset = 1; } if (bad_offset) { if (no_modify) { - do_warn("would have corrected entry offsets in " - "directory %llu\n", + do_warn(_("would have corrected entry offsets in " + "directory %llu\n"), ino); } else { - do_warn("corrected entry offsets in directory %llu\n", + do_warn(_("corrected entry offsets in " + "directory %llu\n"), ino); process_sf_dir2_fixoff(dip); *dino_dirty = 1; @@ -1214,41 +1239,44 @@ process_sf_dir2( /* * check parent (..) entry */ - *parent = XFS_DIR2_SF_GET_INUMBER_ARCH(sfp, &sfp->hdr.parent, ARCH_CONVERT); + *parent = XFS_DIR2_SF_GET_INUMBER_ARCH(sfp, + &sfp->hdr.parent, ARCH_CONVERT); /* * if parent entry is bogus, null it out. we'll fix it later . */ if (verify_inum(mp, *parent)) { - do_warn("bogus .. inode number (%llu) in directory inode " - "%llu, ", + do_warn(_("bogus .. inode number (%llu) in directory inode " + "%llu, "), *parent, ino); *parent = NULLFSINO; if (!no_modify) { - do_warn("clearing inode number\n"); + do_warn(_("clearing inode number\n")); - XFS_DIR2_SF_PUT_INUMBER_ARCH(sfp, &zero, &sfp->hdr.parent, ARCH_CONVERT); + XFS_DIR2_SF_PUT_INUMBER_ARCH(sfp, &zero, + &sfp->hdr.parent, ARCH_CONVERT); *dino_dirty = 1; *repair = 1; } else { - do_warn("would clear inode number\n"); + do_warn(_("would clear inode number\n")); } } else if (ino == mp->m_sb.sb_rootino && ino != *parent) { /* * root directories must have .. == . */ if (!no_modify) { - do_warn("corrected root directory %llu .. entry, was " - "%llu, now %llu\n", + do_warn(_("corrected root directory %llu .. entry, " + "was %llu, now %llu\n"), ino, *parent, ino); *parent = ino; - XFS_DIR2_SF_PUT_INUMBER_ARCH(sfp, parent, &sfp->hdr.parent, ARCH_CONVERT); + XFS_DIR2_SF_PUT_INUMBER_ARCH(sfp, parent, + &sfp->hdr.parent, ARCH_CONVERT); *dino_dirty = 1; *repair = 1; } else { - do_warn("would have corrected root directory %llu .. " - "entry from %llu to %llu\n", + do_warn(_("would have corrected root directory %llu .. " + "entry from %llu to %llu\n"), ino, *parent, ino); } } else if (ino == *parent && ino != mp->m_sb.sb_rootino) { @@ -1257,17 +1285,18 @@ process_sf_dir2( * to . */ *parent = NULLFSINO; - do_warn("bad .. entry in directory inode %llu, points to " - "self,", + do_warn(_("bad .. entry in directory inode %llu, points to " + "self, "), ino); if (!no_modify) { - do_warn(" clearing inode number\n"); + do_warn(_("clearing inode number\n")); - XFS_DIR2_SF_PUT_INUMBER_ARCH(sfp, &zero, &sfp->hdr.parent, ARCH_CONVERT); + XFS_DIR2_SF_PUT_INUMBER_ARCH(sfp, &zero, + &sfp->hdr.parent, ARCH_CONVERT); *dino_dirty = 1; *repair = 1; } else { - do_warn(" would clear inode number\n"); + do_warn(_("would clear inode number\n")); } } @@ -1335,10 +1364,12 @@ process_dir2_data( * need to be there. */ if (INT_GET(dup->freetag, ARCH_CONVERT) == XFS_DIR2_DATA_FREE_TAG) { - if (ptr + INT_GET(dup->length, ARCH_CONVERT) > endptr || INT_GET(dup->length, ARCH_CONVERT) == 0 || + if (ptr + INT_GET(dup->length, ARCH_CONVERT) > endptr || + INT_GET(dup->length, ARCH_CONVERT) == 0 || (INT_GET(dup->length, ARCH_CONVERT) & (XFS_DIR2_DATA_ALIGN - 1))) break; - if (INT_GET(*XFS_DIR2_DATA_UNUSED_TAG_P_ARCH(dup, ARCH_CONVERT), ARCH_CONVERT) != + if (INT_GET(*XFS_DIR2_DATA_UNUSED_TAG_P_ARCH(dup, + ARCH_CONVERT), ARCH_CONVERT) != (char *)dup - (char *)d) break; badbest |= lastfree != 0; @@ -1348,7 +1379,8 @@ process_dir2_data( badbest |= (freeseen & (1 << i)) != 0; freeseen |= 1 << i; } else - badbest |= INT_GET(dup->length, ARCH_CONVERT) > INT_GET(bf[2].length, ARCH_CONVERT); + badbest |= INT_GET(dup->length, ARCH_CONVERT) > + INT_GET(bf[2].length, ARCH_CONVERT); ptr += INT_GET(dup->length, ARCH_CONVERT); lastfree = 1; continue; @@ -1356,7 +1388,8 @@ process_dir2_data( dep = (xfs_dir2_data_entry_t *)ptr; if (ptr + XFS_DIR2_DATA_ENTSIZE(dep->namelen) > endptr) break; - if (INT_GET(*XFS_DIR2_DATA_ENTRY_TAG_P(dep), ARCH_CONVERT) != (char *)dep - (char *)d) + if (INT_GET(*XFS_DIR2_DATA_ENTRY_TAG_P(dep), ARCH_CONVERT) != + (char *)dep - (char *)d) break; ptr += XFS_DIR2_DATA_ENTSIZE(dep->namelen); lastfree = 0; @@ -1366,12 +1399,12 @@ process_dir2_data( * Phase 6 will kill this block if we don't kill the inode. */ if (ptr != endptr) { - do_warn("corrupt block %u in directory inode %llu\n", + do_warn(_("corrupt block %u in directory inode %llu\n"), da_bno, ino); if (!no_modify) - do_warn("\twill junk block\n"); + do_warn(_("\twill junk block\n")); else - do_warn("\twould junk block\n"); + do_warn(_("\twould junk block\n")); return 1; } ptr = (char *)d->u; @@ -1380,7 +1413,8 @@ process_dir2_data( */ while (ptr < endptr) { dup = (xfs_dir2_data_unused_t *)ptr; - if (INT_GET(dup->freetag, ARCH_CONVERT) == XFS_DIR2_DATA_FREE_TAG) { + if (INT_GET(dup->freetag, ARCH_CONVERT) == + XFS_DIR2_DATA_FREE_TAG) { ptr += INT_GET(dup->length, ARCH_CONVERT); continue; } @@ -1390,7 +1424,8 @@ process_dir2_data( * numbers. Do NOT touch the name until after we've computed * the hashvalue and done a namecheck() on the name. */ - if (!ino_discovery && INT_GET(dep->inumber, ARCH_CONVERT) == BADFSINO) { + if (!ino_discovery && + INT_GET(dep->inumber, ARCH_CONVERT) == BADFSINO) { /* * Don't do a damned thing. We already found this * (or did it ourselves) during phase 3. @@ -1403,19 +1438,19 @@ process_dir2_data( * directory since it's still structurally intact. */ clearino = 1; - clearreason = "invalid"; + clearreason = _("invalid"); } else if (INT_GET(dep->inumber, ARCH_CONVERT) == mp->m_sb.sb_rbmino) { clearino = 1; - clearreason = "realtime bitmap"; + clearreason = _("realtime bitmap"); } else if (INT_GET(dep->inumber, ARCH_CONVERT) == mp->m_sb.sb_rsumino) { clearino = 1; - clearreason = "realtime summary"; + clearreason = _("realtime summary"); } else if (INT_GET(dep->inumber, ARCH_CONVERT) == mp->m_sb.sb_uquotino) { clearino = 1; - clearreason = "user quota"; + clearreason = _("user quota"); } else if (INT_GET(dep->inumber, ARCH_CONVERT) == mp->m_sb.sb_gquotino) { clearino = 1; - clearreason = "group quota"; + clearreason = _("group quota"); } else if (INT_GET(dep->inumber, ARCH_CONVERT) == old_orphanage_ino) { /* * Do nothing, silently ignore it, entry has already @@ -1424,14 +1459,15 @@ process_dir2_data( */ clearino = 0; } else if ((irec_p = find_inode_rec( - XFS_INO_TO_AGNO(mp, INT_GET(dep->inumber, ARCH_CONVERT)), - XFS_INO_TO_AGINO(mp, INT_GET(dep->inumber, ARCH_CONVERT)))) != NULL) { + XFS_INO_TO_AGNO(mp, INT_GET(dep->inumber, + ARCH_CONVERT)), + XFS_INO_TO_AGINO(mp, INT_GET(dep->inumber, + ARCH_CONVERT)))) != NULL) { /* * Inode recs should have only confirmed inodes in them. */ - ino_off = - XFS_INO_TO_AGINO(mp, INT_GET(dep->inumber, ARCH_CONVERT)) - - irec_p->ino_startnum; + ino_off = XFS_INO_TO_AGINO(mp, INT_GET(dep->inumber, + ARCH_CONVERT)) - irec_p->ino_startnum; ASSERT(is_inode_confirmed(irec_p, ino_off)); /* * If inode is marked free and we're in inode discovery @@ -1443,7 +1479,7 @@ process_dir2_data( */ if (!ino_discovery && is_inode_free(irec_p, ino_off)) { clearino = 1; - clearreason = "free"; + clearreason = _("free"); } else clearino = 0; } else if (ino_discovery) { @@ -1451,22 +1487,23 @@ process_dir2_data( clearino = 0; } else { clearino = 1; - clearreason = "non-existent"; + clearreason = _("non-existent"); } if (clearino) - do_warn("entry \"%*.*s\" at block %u offset %d in " - "directory inode %llu references %s inode " - "%llu\n", + do_warn(_("entry \"%*.*s\" at block %u offset %d in " + "directory inode %llu references %s inode " + "%llu\n"), dep->namelen, dep->namelen, dep->name, da_bno, (char *)ptr - (char *)d, ino, - clearreason, INT_GET(dep->inumber, ARCH_CONVERT)); + clearreason, + INT_GET(dep->inumber, ARCH_CONVERT)); /* * If the name length is 0 (illegal) make it 1 and blast * the entry. */ if (dep->namelen == 0) { - do_warn("entry at block %u offset %d in directory " - "inode %llu has 0 namelength\n", + do_warn(_("entry at block %u offset %d in directory " + "inode %llu has 0 namelength\n"), da_bno, (char *)ptr - (char *)d, ino); if (!no_modify) dep->namelen = 1; @@ -1477,14 +1514,14 @@ process_dir2_data( */ if (clearino) { if (!no_modify) { - do_warn("\tclearing inode number in entry at " - "offset %d...\n", + do_warn(_("\tclearing inode number in entry at " + "offset %d...\n"), (char *)ptr - (char *)d); INT_SET(dep->inumber, ARCH_CONVERT, BADFSINO); bp->dirty = 1; } else { - do_warn("\twould clear inode number in entry " - "at offset %d...\n", + do_warn(_("\twould clear inode number in entry " + "at offset %d...\n"), (char *)ptr - (char *)d); } } @@ -1496,8 +1533,8 @@ process_dir2_data( junkit = INT_GET(dep->inumber, ARCH_CONVERT) == BADFSINO; nm_illegal = namecheck((char *)dep->name, dep->namelen); if (ino_discovery && nm_illegal) { - do_warn("entry at block %u offset %d in directory " - "inode %llu has illegal name \"%*.*s\": ", + do_warn(_("entry at block %u offset %d in directory " + "inode %llu has illegal name \"%*.*s\": "), da_bno, (char *)ptr - (char *)d, ino, dep->namelen, dep->namelen, dep->name); junkit = 1; @@ -1505,7 +1542,8 @@ process_dir2_data( /* * Now we can mark entries with BADFSINO's bad. */ - if (!no_modify && INT_GET(dep->inumber, ARCH_CONVERT) == BADFSINO) { + if (!no_modify && + INT_GET(dep->inumber, ARCH_CONVERT) == BADFSINO) { dep->name[0] = '/'; bp->dirty = 1; junkit = 0; @@ -1526,8 +1564,8 @@ process_dir2_data( if (ino == INT_GET(dep->inumber, ARCH_CONVERT) && ino != mp->m_sb.sb_rootino) { *parent = NULLFSINO; - do_warn("bad .. entry in directory " - "inode %llu, points to self: ", + do_warn(_("bad .. entry in directory " + "inode %llu, points to self: "), ino); junkit = 1; } @@ -1537,16 +1575,16 @@ process_dir2_data( */ else if (ino != INT_GET(dep->inumber, ARCH_CONVERT) && ino == mp->m_sb.sb_rootino) { - do_warn("bad .. entry in root " - "directory inode %llu, was " - "%llu: ", + do_warn(_("bad .. entry in root " + "directory inode %llu, was " + "%llu: "), ino, INT_GET(dep->inumber, ARCH_CONVERT)); if (!no_modify) { - do_warn("correcting\n"); + do_warn(_("correcting\n")); INT_SET(dep->inumber, ARCH_CONVERT, ino); bp->dirty = 1; } else { - do_warn("would correct\n"); + do_warn(_("would correct\n")); } } } @@ -1557,8 +1595,8 @@ process_dir2_data( * seem equally valid, trash this one. */ else { - do_warn("multiple .. entries in directory " - "inode %llu: ", + do_warn(_("multiple .. entries in directory " + "inode %llu: "), ino); junkit = 1; } @@ -1570,20 +1608,20 @@ process_dir2_data( if (!*dot) { (*dot)++; if (INT_GET(dep->inumber, ARCH_CONVERT) != ino) { - do_warn("bad . entry in directory " - "inode %llu, was %llu: ", + do_warn(_("bad . entry in directory " + "inode %llu, was %llu: "), ino, INT_GET(dep->inumber, ARCH_CONVERT)); if (!no_modify) { - do_warn("correcting\n"); + do_warn(_("correcting\n")); INT_SET(dep->inumber, ARCH_CONVERT, ino); bp->dirty = 1; } else { - do_warn("would correct\n"); + do_warn(_("would correct\n")); } } } else { - do_warn("multiple . entries in directory " - "inode %llu: ", + do_warn(_("multiple . entries in directory " + "inode %llu: "), ino); junkit = 1; } @@ -1592,8 +1630,8 @@ process_dir2_data( * All other entries -- make sure only . references self. */ else if (INT_GET(dep->inumber, ARCH_CONVERT) == ino) { - do_warn("entry \"%*.*s\" in directory inode %llu " - "points to self: ", + do_warn(_("entry \"%*.*s\" in directory inode %llu " + "points to self: "), dep->namelen, dep->namelen, dep->name, ino); junkit = 1; } @@ -1604,9 +1642,9 @@ process_dir2_data( if (!no_modify) { dep->name[0] = '/'; bp->dirty = 1; - do_warn("clearing entry\n"); + do_warn(_("clearing entry\n")); } else { - do_warn("would clear entry\n"); + do_warn(_("would clear entry\n")); } } /* @@ -1618,15 +1656,15 @@ process_dir2_data( * Check the bestfree table. */ if (freeseen != 7 || badbest) { - do_warn("bad bestfree table in block %u in directory inode " - "%llu: ", + do_warn(_("bad bestfree table in block %u in directory inode " + "%llu: "), da_bno, ino); if (!no_modify) { - do_warn("repairing table\n"); + do_warn(_("repairing table\n")); libxfs_dir2_data_freescan(mp, d, &i, endptr); bp->dirty = 1; } else { - do_warn("would repair table\n"); + do_warn(_("would repair table\n")); } } return 0; @@ -1662,14 +1700,14 @@ process_block_dir2( *parent = NULLFSINO; nex = blkmap_getn(blkmap, mp->m_dirdatablk, mp->m_dirblkfsbs, &bmp); if (nex == 0) { - do_warn("block %u for directory inode %llu is missing\n", + do_warn(_("block %u for directory inode %llu is missing\n"), mp->m_dirdatablk, ino); return 1; } bp = da_read_buf(mp, nex, bmp); free(bmp); if (bp == NULL) { - do_warn("can't read block %u for directory inode %llu\n", + do_warn(_("can't read block %u for directory inode %llu\n"), mp->m_dirdatablk, ino); return 1; } @@ -1678,9 +1716,10 @@ process_block_dir2( */ block = bp->data; if (INT_GET(block->hdr.magic, ARCH_CONVERT) != XFS_DIR2_BLOCK_MAGIC) - do_warn("bad directory block magic # %#x in block %u for " - "directory inode %llu\n", - INT_GET(block->hdr.magic, ARCH_CONVERT), mp->m_dirdatablk, ino); + do_warn(_("bad directory block magic # %#x in block %u for " + "directory inode %llu\n"), + INT_GET(block->hdr.magic, ARCH_CONVERT), + mp->m_dirdatablk, ino); /* * process the data area * this also checks & fixes the bestfree @@ -1722,23 +1761,27 @@ process_leaf_block_dir2( for (i = stale = 0; i < INT_GET(leaf->hdr.count, ARCH_CONVERT); i++) { if ((char *)&leaf->ents[i] >= (char *)leaf + mp->m_dirblksize) { - do_warn("bad entry count in block %u of directory " - "inode %llu\n", + do_warn(_("bad entry count in block %u of directory " + "inode %llu\n"), da_bno, ino); return 1; } - if (INT_GET(leaf->ents[i].address, ARCH_CONVERT) == XFS_DIR2_NULL_DATAPTR) + if (INT_GET(leaf->ents[i].address, ARCH_CONVERT) == + XFS_DIR2_NULL_DATAPTR) stale++; - else if (INT_GET(leaf->ents[i].hashval, ARCH_CONVERT) < last_hashval) { - do_warn("bad hash ordering in block %u of directory " - "inode %llu\n", + else if (INT_GET(leaf->ents[i].hashval, ARCH_CONVERT) < + last_hashval) { + do_warn(_("bad hash ordering in block %u of directory " + "inode %llu\n"), da_bno, ino); return 1; } - *next_hashval = last_hashval = INT_GET(leaf->ents[i].hashval, ARCH_CONVERT); + *next_hashval = last_hashval = + INT_GET(leaf->ents[i].hashval, ARCH_CONVERT); } if (stale != INT_GET(leaf->hdr.stale, ARCH_CONVERT)) { - do_warn("bad stale count in block %u of directory inode %llu\n", + do_warn(_("bad stale count in block %u of directory " + "inode %llu\n"), da_bno, ino); return 1; } @@ -1783,7 +1826,8 @@ process_leaf_level_dir2( ASSERT(da_bno != 0); if (nex == 0) { - do_warn("can't map block %u for directory inode %llu\n", + do_warn(_("can't map block %u for directory " + "inode %llu\n"), da_bno, ino); goto error_out; } @@ -1791,8 +1835,8 @@ process_leaf_level_dir2( free(bmp); bmp = NULL; if (bp == NULL) { - do_warn("can't read file block %u for directory inode " - "%llu\n", + do_warn(_("can't read file block %u for directory " + "inode %llu\n"), da_bno, ino); goto error_out; } @@ -1800,10 +1844,12 @@ process_leaf_level_dir2( /* * Check magic number for leaf directory btree block. */ - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR2_LEAFN_MAGIC) { - do_warn("bad directory leaf magic # %#x for directory " - "inode %llu block %u\n", - INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), ino, da_bno); + if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != + XFS_DIR2_LEAFN_MAGIC) { + do_warn(_("bad directory leaf magic # %#x for " + "directory inode %llu block %u\n"), + INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), + ino, da_bno); da_brelse(bp); goto error_out; } @@ -1825,12 +1871,13 @@ process_leaf_level_dir2( da_cursor->level[0].hashval = greatest_hashval; da_cursor->level[0].bp = bp; da_cursor->level[0].bno = da_bno; - da_cursor->level[0].index = INT_GET(leaf->hdr.count, ARCH_CONVERT); + da_cursor->level[0].index = + INT_GET(leaf->hdr.count, ARCH_CONVERT); da_cursor->level[0].dirty = buf_dirty; if (INT_GET(leaf->hdr.info.back, ARCH_CONVERT) != prev_bno) { - do_warn("bad sibling back pointer for block %u in " - "directory inode %llu\n", + do_warn(_("bad sibling back pointer for block %u in " + "directory inode %llu\n"), da_bno, ino); da_brelse(bp); goto error_out; @@ -1855,7 +1902,7 @@ process_leaf_level_dir2( /* * Verify the final path up (right-hand-side) if still ok. */ - do_warn("bad hash path in directory %llu\n", ino); + do_warn(_("bad hash path in directory %llu\n"), ino); goto error_out; } /* @@ -1958,24 +2005,26 @@ process_leaf_node_dir2( nex = blkmap_getn(blkmap, dbno, mp->m_dirblkfsbs, &bmp); ndbno = dbno + mp->m_dirblkfsbs - 1; if (nex == 0) { - do_warn("block %llu for directory inode %llu is " - "missing\n", + do_warn(_("block %llu for directory inode %llu is " + "missing\n"), dbno, ino); continue; } bp = da_read_buf(mp, nex, bmp); free(bmp); if (bp == NULL) { - do_warn("can't read block %llu for directory inode " - "%llu\n", + do_warn(_("can't read block %llu for directory inode " + "%llu\n"), dbno, ino); continue; } data = bp->data; - if (INT_GET(data->hdr.magic, ARCH_CONVERT) != XFS_DIR2_DATA_MAGIC) - do_warn("bad directory block magic # %#x in block %llu " - "for directory inode %llu\n", - INT_GET(data->hdr.magic, ARCH_CONVERT), dbno, ino); + if (INT_GET(data->hdr.magic, ARCH_CONVERT) != + XFS_DIR2_DATA_MAGIC) + do_warn(_("bad directory block magic # %#x in block " + "%llu for directory inode %llu\n"), + INT_GET(data->hdr.magic, ARCH_CONVERT), + dbno, ino); i = process_dir2_data(mp, ino, dip, ino_discovery, dirname, parent, bp, dot, dotdot, (xfs_dablk_t)dbno, (char *)data + mp->m_dirblksize); @@ -2033,7 +2082,8 @@ process_dir2( */ if (blkmap) last = blkmap_last_off(blkmap); - if (INT_GET(dip->di_core.di_size, ARCH_CONVERT) <= XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT) && + if (INT_GET(dip->di_core.di_size, ARCH_CONVERT) <= + XFS_DFORK_DSIZE_ARCH(dip, mp, ARCH_CONVERT) && dip->di_core.di_format == XFS_DINODE_FMT_LOCAL) { dot = dotdot = 1; res = process_sf_dir2(mp, ino, dip, ino_discovery, dino_dirty, @@ -2051,14 +2101,14 @@ process_dir2( dirname, parent, blkmap, &dot, &dotdot, &repair, last > mp->m_dirleafblk + mp->m_dirblkfsbs); } else { - do_warn("bad size/format for directory %llu\n", ino); + do_warn(_("bad size/format for directory %llu\n"), ino); return 1; } /* * bad . entries in all directories will be fixed up in phase 6 */ if (dot == 0) { - do_warn("no . entry for directory %llu\n", ino); + do_warn(_("no . entry for directory %llu\n"), ino); } /* @@ -2068,9 +2118,9 @@ process_dir2( * fixed in place since we know what it should be */ if (dotdot == 0 && ino != mp->m_sb.sb_rootino) { - do_warn("no .. entry for directory %llu\n", ino); + do_warn(_("no .. entry for directory %llu\n"), ino); } else if (dotdot == 0 && ino == mp->m_sb.sb_rootino) { - do_warn("no .. entry for root directory %llu\n", ino); + do_warn(_("no .. entry for root directory %llu\n"), ino); need_root_dotdot = 1; } diff --git a/repair/dir_stack.c b/repair/dir_stack.c index bc714ada2..41be4a529 100644 --- a/repair/dir_stack.c +++ b/repair/dir_stack.c @@ -102,7 +102,7 @@ push_dir(dir_stack_t *stack, xfs_ino_t ino) if (dirstack_freelist.cnt == 0) { if ((elem = malloc(sizeof(dir_stack_elem_t))) == NULL) { do_error( - "couldn't malloc dir stack element, try more swap\n"); + _("couldn't malloc dir stack element, try more swap\n")); exit(1); } } else { diff --git a/repair/incore.c b/repair/incore.c index 1b4382ee3..d376cb358 100644 --- a/repair/incore.c +++ b/repair/incore.c @@ -75,7 +75,7 @@ setup_bmap(xfs_agnumber_t agno, xfs_agblock_t numblocks, xfs_drtbno_t rtblocks) ba_bmap = (__uint64_t**)malloc(agno*sizeof(__uint64_t *)); if (!ba_bmap) { - do_error("couldn't allocate block map pointers\n"); + do_error(_("couldn't allocate block map pointers\n")); return; } for (i = 0; i < agno; i++) { @@ -83,7 +83,7 @@ setup_bmap(xfs_agnumber_t agno, xfs_agblock_t numblocks, xfs_drtbno_t rtblocks) ba_bmap[i] = (__uint64_t*)memalign(sizeof(__uint64_t), size); if (!ba_bmap[i]) { - do_error("couldn't allocate block map, size = %d\n", + do_error(_("couldn't allocate block map, size = %d\n"), numblocks); return; } @@ -100,7 +100,7 @@ setup_bmap(xfs_agnumber_t agno, xfs_agblock_t numblocks, xfs_drtbno_t rtblocks) rt_ba_bmap=(__uint64_t*)memalign(sizeof(__uint64_t), size); if (!rt_ba_bmap) { do_error( - "couldn't allocate real-time block map, size = %llu\n", + _("couldn't allocate realtime block map, size = %llu\n"), rtblocks); return; } diff --git a/repair/incore_ext.c b/repair/incore_ext.c index 9b8ba82ec..09b0ad463 100644 --- a/repair/incore_ext.c +++ b/repair/incore_ext.c @@ -122,7 +122,8 @@ mk_extent_tree_nodes(xfs_agblock_t new_startblock, ASSERT(ext_flist.list == NULL); if ((rec = malloc(sizeof(extent_alloc_rec_t))) == NULL) - do_error("couldn't allocate new extent descriptors.\n"); + do_error( + _("couldn't allocate new extent descriptors.\n")); record_allocation(&rec->alloc_rec, ba_list); @@ -251,7 +252,7 @@ add_bno_extent(xfs_agnumber_t agno, xfs_agblock_t startblock, ext = mk_extent_tree_nodes(startblock, blockcount, XR_E_FREE); if (avl_insert(extent_bno_ptrs[agno], (avlnode_t *) ext) == NULL) { - do_error("xfs_repair: duplicate bno extent range\n"); + do_error(_("duplicate bno extent range\n")); } } @@ -367,7 +368,7 @@ add_bcnt_extent(xfs_agnumber_t agno, xfs_agblock_t startblock, } if (avl_insert(extent_bcnt_ptrs[agno], (avlnode_t *) ext) == NULL) { - do_error("xfs_repair: duplicate bno extent range\n"); + do_error(_(": duplicate bno extent range\n")); } return; @@ -529,7 +530,7 @@ add_dup_extent(xfs_agnumber_t agno, xfs_agblock_t startblock, if (avl_insert(extent_tree_ptrs[agno], (avlnode_t *) ext) == NULL) { - do_error("xfs_repair: duplicate extent range\n"); + do_error(_("duplicate extent range\n")); } return; @@ -580,7 +581,7 @@ add_dup_extent(xfs_agnumber_t agno, xfs_agblock_t startblock, ext = mk_extent_tree_nodes(new_startblock, new_blockcount, XR_E_MULT); if (avl_insert(extent_tree_ptrs[agno], (avlnode_t *) ext) == NULL) { - do_error("xfs_repair: duplicate extent range\n"); + do_error(_("duplicate extent range\n")); } return; @@ -666,7 +667,8 @@ mk_rt_extent_tree_nodes(xfs_drtbno_t new_startblock, ASSERT(rt_ext_flist.list == NULL); if ((rec = malloc(sizeof(rt_extent_alloc_rec_t))) == NULL) - do_error("couldn't allocate new extent descriptors.\n"); + do_error( + _("couldn't allocate new extent descriptors.\n")); record_allocation(&rec->alloc_rec, rt_ba_list); @@ -779,7 +781,7 @@ add_rt_dup_extent(xfs_drtbno_t startblock, xfs_extlen_t blockcount) if (avl64_insert(rt_ext_tree_ptr, (avl64node_t *) ext) == NULL) { - do_error("xfs_repair: duplicate extent range\n"); + do_error(_("duplicate extent range\n")); } return; @@ -831,7 +833,7 @@ add_rt_dup_extent(xfs_drtbno_t startblock, xfs_extlen_t blockcount) new_blockcount, XR_E_MULT); if (avl64_insert(rt_ext_tree_ptr, (avl64node_t *) ext) == NULL) { - do_error("xfs_repair: duplicate extent range\n"); + do_error(_("duplicate extent range\n")); } return; @@ -879,26 +881,32 @@ incore_ext_init(xfs_mount_t *mp) if ((extent_tree_ptrs = malloc(agcount * sizeof(avltree_desc_t *))) == NULL) - do_error("couldn't malloc dup extent tree descriptor table\n"); + do_error( + _("couldn't malloc dup extent tree descriptor table\n")); if ((extent_bno_ptrs = malloc(agcount * sizeof(avltree_desc_t *))) == NULL) - do_error("couldn't malloc free by-bno extent tree descriptor table\n"); + do_error( + _("couldn't malloc free by-bno extent tree descriptor table\n")); if ((extent_bcnt_ptrs = malloc(agcount * sizeof(avltree_desc_t *))) == NULL) - do_error("couldn't malloc free by-bcnt extent tree descriptor table\n"); + do_error( + _("couldn't malloc free by-bcnt extent tree descriptor table\n")); for (i = 0; i < agcount; i++) { if ((extent_tree_ptrs[i] = malloc(sizeof(avltree_desc_t))) == NULL) - do_error("couldn't malloc dup extent tree descriptor\n"); + do_error( + _("couldn't malloc dup extent tree descriptor\n")); if ((extent_bno_ptrs[i] = malloc(sizeof(avltree_desc_t))) == NULL) - do_error("couldn't malloc bno extent tree descriptor\n"); + do_error( + _("couldn't malloc bno extent tree descriptor\n")); if ((extent_bcnt_ptrs[i] = malloc(sizeof(avltree_desc_t))) == NULL) - do_error("couldn't malloc bcnt extent tree descriptor\n"); + do_error( + _("couldn't malloc bcnt extent tree descriptor\n")); } for (i = 0; i < agcount; i++) { @@ -908,7 +916,7 @@ incore_ext_init(xfs_mount_t *mp) } if ((rt_ext_tree_ptr = malloc(sizeof(avltree_desc_t))) == NULL) - do_error("couldn't malloc dup rt extent tree descriptor\n"); + do_error(_("couldn't malloc dup rt extent tree descriptor\n")); avl64_init_tree(rt_ext_tree_ptr, &avl64_extent_tree_ops); diff --git a/repair/incore_ino.c b/repair/incore_ino.c index 825a1d79f..eeeb4b504 100644 --- a/repair/incore_ino.c +++ b/repair/incore_ino.c @@ -88,7 +88,7 @@ mk_ino_tree_nodes(xfs_agino_t starting_ino) if ((new = malloc(sizeof(ino_tree_node_t[ALLOC_NUM_INOS]))) == NULL) - do_error("inode map malloc failed\n"); + do_error(_("inode map malloc failed\n")); for (i = 0; i < ALLOC_NUM_INOS; i++) { new->avl_node.avl_nextino = @@ -201,8 +201,8 @@ add_aginode_uncertain(xfs_agnumber_t agno, xfs_agino_t ino, int free) if (avl_insert(inode_uncertain_tree_ptrs[agno], (avlnode_t *) ino_rec) == NULL) { - do_error("xfs_repair: add_aginode_uncertain - " - "duplicate inode range\n"); + do_error(_("add_aginode_uncertain - " + "duplicate inode range\n")); } } @@ -303,7 +303,7 @@ add_inode(xfs_agnumber_t agno, xfs_agino_t ino) if (avl_insert(inode_tree_ptrs[agno], (avlnode_t *) ino_rec) == NULL) { - do_warn("xfs_repair: add_inode - duplicate inode range\n"); + do_warn(_("add_inode - duplicate inode range\n")); } return(ino_rec); @@ -415,23 +415,23 @@ print_inode_list_int(xfs_agnumber_t agno, int uncertain) ino_tree_node_t *ino_rec; if (!uncertain) { - fprintf(stderr, "good inode list is --\n"); + fprintf(stderr, _("good inode list is --\n")); ino_rec = findfirst_inode_rec(agno); } else { - fprintf(stderr, "uncertain inode list is --\n"); + fprintf(stderr, _("uncertain inode list is --\n")); ino_rec = findfirst_uncertain_inode_rec(agno); } if (ino_rec == NULL) { - fprintf(stderr, "agno %d -- no inodes\n", agno); + fprintf(stderr, _("agno %d -- no inodes\n"), agno); return; } - printf("agno %d\n", agno); + printf(_("agno %d\n"), agno); while(ino_rec != NULL) { fprintf(stderr, - "\tptr = %lx, start = 0x%x, free = 0x%llx, confirmed = 0x%llx\n", + _("\tptr = %lx, start = 0x%x, free = 0x%llx, confirmed = 0x%llx\n"), (unsigned long)ino_rec, ino_rec->ino_startnum, (unsigned long long)ino_rec->ir_free, @@ -475,13 +475,13 @@ set_inode_parent(ino_tree_node_t *irec, int offset, xfs_ino_t parent) irec->ino_un.plist = (parent_list_t*)malloc(sizeof(parent_list_t)); if (!irec->ino_un.plist) - do_error("couldn't malloc parent list table\n"); + do_error(_("couldn't malloc parent list table\n")); irec->ino_un.plist->pmask = 1LL << offset; irec->ino_un.plist->pentries = (xfs_ino_t*)memalign(sizeof(xfs_ino_t), sizeof(xfs_ino_t)); if (!irec->ino_un.plist->pentries) - do_error("couldn't memalign pentries table\n"); + do_error(_("couldn't memalign pentries table\n")); #ifdef DEBUG irec->ino_un.plist->cnt = 1; #endif @@ -527,7 +527,7 @@ set_inode_parent(ino_tree_node_t *irec, int offset, xfs_ino_t parent) tmp = (xfs_ino_t*)memalign(sizeof(xfs_ino_t), (cnt + 1) * sizeof(xfs_ino_t)); if (!tmp) - do_error("couldn't memalign pentries table\n"); + do_error(_("couldn't memalign pentries table\n")); (void) bcopy(irec->ino_un.plist->pentries, tmp, target * sizeof(parent_entry_t)); @@ -674,7 +674,7 @@ get_backptr(void) if ((bptrs = malloc(sizeof(backptrs_t[BPTR_ALLOC_NUM]))) == NULL) { - do_error("couldn't malloc ino rec backptrs.\n"); + do_error(_("couldn't malloc ino rec backptrs.\n")); } bptrs_index = 0; @@ -700,7 +700,7 @@ get_backptr(void) backptrs_t *ptr; if ((ptr = malloc(sizeof(backptrs_t))) == NULL) - do_error("could not malloc back pointer table\n"); + do_error(_("could not malloc back pointer table\n")); bzero(ptr, sizeof(backptrs_t)); @@ -790,19 +790,20 @@ incore_ino_init(xfs_mount_t *mp) if ((inode_tree_ptrs = malloc(agcount * sizeof(avltree_desc_t *))) == NULL) - do_error("couldn't malloc inode tree descriptor table\n"); + do_error(_("couldn't malloc inode tree descriptor table\n")); if ((inode_uncertain_tree_ptrs = malloc(agcount * sizeof(avltree_desc_t *))) == NULL) - do_error("couldn't malloc uncertain ino tree descriptor table\n"); + do_error( + _("couldn't malloc uncertain ino tree descriptor table\n")); for (i = 0; i < agcount; i++) { if ((inode_tree_ptrs[i] = malloc(sizeof(avltree_desc_t))) == NULL) - do_error("couldn't malloc inode tree descriptor\n"); + do_error(_("couldn't malloc inode tree descriptor\n")); if ((inode_uncertain_tree_ptrs[i] = malloc(sizeof(avltree_desc_t))) == NULL) do_error( - "couldn't malloc uncertain ino tree descriptor\n"); + _("couldn't malloc uncertain ino tree descriptor\n")); } for (i = 0; i < agcount; i++) { avl_init_tree(inode_tree_ptrs[i], &avl_ino_tree_ops); @@ -813,7 +814,7 @@ incore_ino_init(xfs_mount_t *mp) ino_flist.list = NULL; if ((last_rec = malloc(sizeof(ino_tree_node_t *) * agcount)) == NULL) - do_error("couldn't malloc uncertain inode cache area\n"); + do_error(_("couldn't malloc uncertain inode cache area\n")); bzero(last_rec, sizeof(ino_tree_node_t *) * agcount); diff --git a/repair/init.c b/repair/init.c index 2a87df5c9..713b43617 100644 --- a/repair/init.c +++ b/repair/init.c @@ -64,7 +64,7 @@ xfs_init(libxfs_init_t *args) /* XXX assume data file also means rt file */ } - args->notvolmsg = "you should never get this message - %s"; + args->notvolmsg = _("you should never get this message - %s"); args->notvolok = 1; args->setblksize = 1; @@ -72,5 +72,5 @@ xfs_init(libxfs_init_t *args) args->isreadonly = (LIBXFS_ISREADONLY | LIBXFS_ISINACTIVE); if (!libxfs_init(args)) - do_error("couldn't initialize XFS library\n"); + do_error(_("couldn't initialize XFS library\n")); } diff --git a/repair/io.c b/repair/io.c index 9efe3e37a..a9d004203 100644 --- a/repair/io.c +++ b/repair/io.c @@ -46,8 +46,7 @@ io_init(void) ASSERT(fs_name != NULL && *fs_name != '\0'); if ((fs_fd = open (fs_name, (no_modify? O_RDONLY : O_RDWR))) < 0) { - do_error("couldn't open filesystem \"%s\"\n", - fs_name); + do_error(_("couldn't open filesystem \"%s\"\n"), fs_name); } /* initialize i/o buffers */ @@ -63,13 +62,13 @@ io_init(void) sbbuf_size = 2 * 4096; /* 2 * max sector size */ if ((iobuf = malloc(iobuf_size)) == NULL) - do_error("couldn't malloc io buffer\n"); + do_error(_("couldn't malloc io buffer\n")); if ((smallbuf = malloc(smallbuf_size)) == NULL) - do_error("couldn't malloc secondary io buffer\n"); + do_error(_("couldn't malloc secondary io buffer\n")); for (i = 0; i < NUM_SBS; i++) { if ((sb_bufs[i] = malloc(sbbuf_size)) == NULL) - do_error("couldn't malloc sb io buffers\n"); + do_error(_("couldn't malloc sb io buffers\n")); } } diff --git a/repair/phase1.c b/repair/phase1.c index f77dff0aa..1853d0f77 100644 --- a/repair/phase1.c +++ b/repair/phase1.c @@ -39,8 +39,8 @@ void no_sb(void) { - do_warn("Sorry, could not find valid secondary superblock\n"); - do_warn("Exiting now.\n"); + do_warn(_("Sorry, could not find valid secondary superblock\n")); + do_warn(_("Exiting now.\n")); exit(1); } @@ -51,7 +51,7 @@ alloc_ag_buf(int size) bp = (char *)memalign(MEM_ALIGN, size); if (!bp) - do_error("could not allocate ag header buffer (%d bytes)\n", + do_error(_("could not allocate ag header buffer (%d bytes)\n"), size); return(bp); } @@ -71,7 +71,7 @@ phase1(xfs_mount_t *mp) io_init(); - do_log("Phase 1 - find and verify superblock...\n"); + do_log(_("Phase 1 - find and verify superblock...\n")); primary_sb_modified = 0; need_root_inode = 0; @@ -87,22 +87,21 @@ phase1(xfs_mount_t *mp) ag_bp = alloc_ag_buf(MAX_SECTSIZE); sb = (xfs_sb_t *) ag_bp; - if (get_sb(sb, 0LL, MAX_SECTSIZE, 0) == XR_EOF) { - do_error("error reading primary superblock\n"); - } + if (get_sb(sb, 0LL, MAX_SECTSIZE, 0) == XR_EOF) + do_error(_("error reading primary superblock\n")); /* * is this really an sb, verify internal consistency */ if ((rval = verify_sb(sb, 1)) != XR_OK) { - do_warn("bad primary superblock - %s !!!\n", + do_warn(_("bad primary superblock - %s !!!\n"), err_string(rval)); if (!find_secondary_sb(sb)) no_sb(); primary_sb_modified = 1; } else if ((rval = verify_set_primary_sb(sb, 0, &primary_sb_modified)) != XR_OK) { - do_warn("couldn't verify primary superblock - %s !!!\n", + do_warn(_("couldn't verify primary superblock - %s !!!\n"), err_string(rval)); if (!find_secondary_sb(sb)) no_sb(); @@ -111,10 +110,10 @@ phase1(xfs_mount_t *mp) if (primary_sb_modified) { if (!no_modify) { - do_warn("writing modified primary superblock\n"); + do_warn(_("writing modified primary superblock\n")); write_primary_sb(sb, sb->sb_sectsize); } else { - do_warn("would write modified primary superblock\n"); + do_warn(_("would write modified primary superblock\n")); } } diff --git a/repair/phase2.c b/repair/phase2.c index fdf85a9f9..5e4dd84e4 100644 --- a/repair/phase2.c +++ b/repair/phase2.c @@ -65,27 +65,27 @@ zero_log(xfs_mount_t *mp) log.l_mp = mp; if ((error = xlog_find_tail(&log, &head_blk, &tail_blk, 0))) { - do_warn("zero_log: cannot find log head/tail " - "(xlog_find_tail=%d), zeroing it anyway\n", + do_warn(_("zero_log: cannot find log head/tail " + "(xlog_find_tail=%d), zeroing it anyway\n"), error); } else { if (verbose) { - do_warn("zero_log: head block %lld tail block %lld\n", + do_warn(_("zero_log: head block %lld tail block %lld\n"), head_blk, tail_blk); } if (head_blk != tail_blk) { if (zap_log) { - do_warn( + do_warn(_( "ALERT: The filesystem has valuable metadata changes in a log which is being\n" -"destroyed because the -L option was used.\n"); +"destroyed because the -L option was used.\n")); } else { - do_warn( + do_warn(_( "ERROR: The filesystem has valuable metadata changes in a log which needs to\n" "be replayed. Mount the filesystem to replay the log, and unmount it before\n" "re-running xfs_repair. If you are unable to mount the filesystem, then use\n" "the -L option to destroy the log and attempt a repair.\n" "Note that destroying the log may cause corruption -- please attempt a mount\n" -"of the filesystem before doing this.\n"); +"of the filesystem before doing this.\n")); exit(2); } } @@ -121,25 +121,21 @@ phase2(xfs_mount_t *mp) /* Check whether this fs has internal or external log */ if (mp->m_sb.sb_logstart == 0) { - if (!x.logname) { - fprintf (stderr, - "This filesystem has an external log. " - "Specify log device with the -l option.\n"); - exit (1); - } + if (!x.logname) + do_error(_("This filesystem has an external log. " + "Specify log device with the -l option.\n")); - fprintf (stderr, "Phase 2 - using external log on %s\n", - x.logname); + do_log(_("Phase 2 - using external log on %s\n"), x.logname); } else - fprintf (stderr, "Phase 2 - using internal log\n"); + do_log(_("Phase 2 - using internal log\n")); /* Zero log if applicable */ if (!no_modify) { - do_log(" - zero log...\n"); + do_log(_(" - zero log...\n")); zero_log(mp); } - do_log(" - scan filesystem freespace and inode maps...\n"); + do_log(_(" - scan filesystem freespace and inode maps...\n")); /* * account for space used by ag headers and log if internal @@ -162,7 +158,7 @@ phase2(xfs_mount_t *mp) if ((ino_rec = find_inode_rec(0, mp->m_sb.sb_rootino)) == NULL) { ASSERT(mp->m_sb.sb_rbmino == mp->m_sb.sb_rootino + 1 && mp->m_sb.sb_rsumino == mp->m_sb.sb_rootino + 2); - do_warn("root inode chunk not found\n"); + do_warn(_("root inode chunk not found\n")); /* * mark the first 3 used, the rest are free @@ -184,36 +180,36 @@ phase2(xfs_mount_t *mp) XR_E_INO); } } else { - do_log(" - found root inode chunk\n"); + do_log(_(" - found root inode chunk\n")); /* * blocks are marked, just make sure they're in use */ if (is_inode_free(ino_rec, 0)) { - do_warn("root inode marked free, "); + do_warn(_("root inode marked free, ")); set_inode_used(ino_rec, 0); if (!no_modify) - do_warn("correcting\n"); + do_warn(_("correcting\n")); else - do_warn("would correct\n"); + do_warn(_("would correct\n")); } if (is_inode_free(ino_rec, 1)) { - do_warn("realtime bitmap inode marked free, "); + do_warn(_("realtime bitmap inode marked free, ")); set_inode_used(ino_rec, 1); if (!no_modify) - do_warn("correcting\n"); + do_warn(_("correcting\n")); else - do_warn("would correct\n"); + do_warn(_("would correct\n")); } if (is_inode_free(ino_rec, 2)) { - do_warn("realtime summary inode marked free, "); + do_warn(_("realtime summary inode marked free, ")); set_inode_used(ino_rec, 2); if (!no_modify) - do_warn("correcting\n"); + do_warn(_("correcting\n")); else - do_warn("would correct\n"); + do_warn(_("would correct\n")); } } } diff --git a/repair/phase3.c b/repair/phase3.c index 39e135ead..508c2e30a 100644 --- a/repair/phase3.c +++ b/repair/phase3.c @@ -80,8 +80,8 @@ walk_unlinked_list(xfs_mount_t *mp, xfs_agnumber_t agno, xfs_agino_t start_ino) XR_E_INO); break; case XR_E_BAD_STATE: - do_error( - "bad state in block map %d\n", + do_error(_( + "bad state in block map %d\n"), state); abort(); break; @@ -123,11 +123,9 @@ process_agi_unlinked(xfs_mount_t *mp, xfs_agnumber_t agno) bp = libxfs_readbuf(mp->m_dev, XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), mp->m_sb.sb_sectsize/BBSIZE, 0); - if (!bp) { - do_error("cannot read agi block %lld for ag %u\n", + if (!bp) + do_error(_("cannot read agi block %lld for ag %u\n"), XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), agno); - exit(1); - } agip = XFS_BUF_TO_AGI(bp); @@ -135,20 +133,21 @@ process_agi_unlinked(xfs_mount_t *mp, xfs_agnumber_t agno) for (i = 0; i < XFS_AGI_UNLINKED_BUCKETS; i++) { if (INT_GET(agip->agi_unlinked[i], ARCH_CONVERT) != NULLAGINO) { - err += walk_unlinked_list(mp, agno, - INT_GET(agip->agi_unlinked[i], ARCH_CONVERT)); + err += walk_unlinked_list(mp, agno, INT_GET( + agip->agi_unlinked[i], ARCH_CONVERT)); /* * clear the list */ if (!no_modify) { - INT_SET(agip->agi_unlinked[i], ARCH_CONVERT, NULLAGINO); + INT_SET(agip->agi_unlinked[i], ARCH_CONVERT, + NULLAGINO); agi_dirty = 1; } } } if (err) - do_warn("error following ag %d unlinked list\n", agno); + do_warn(_("error following ag %d unlinked list\n"), agno); ASSERT(agi_dirty == 0 || (agi_dirty && !no_modify)); @@ -163,11 +162,11 @@ phase3(xfs_mount_t *mp) { int i, j; - printf("Phase 3 - for each AG...\n"); + do_log(_("Phase 3 - for each AG...\n")); if (!no_modify) - printf(" - scan and clear agi unlinked lists...\n"); + do_log(_(" - scan and clear agi unlinked lists...\n")); else - printf(" - scan (but don't clear) agi unlinked lists...\n"); + do_log(_(" - scan (but don't clear) agi unlinked lists...\n")); /* * first, let's look at the possibly bogus inodes @@ -182,11 +181,11 @@ phase3(xfs_mount_t *mp) /* ok, now that the tree's ok, let's take a good look */ - printf( - " - process known inodes and perform inode discovery...\n"); + do_log(_( + " - process known inodes and perform inode discovery...\n")); for (i = 0; i < mp->m_sb.sb_agcount; i++) { - do_log(" - agno = %d\n", i); + do_log(_(" - agno = %d\n"), i); /* * turn on directory processing (inode discovery) and * attribute processing (extra_attr_check) @@ -197,7 +196,7 @@ phase3(xfs_mount_t *mp) /* * process newly discovered inode chunks */ - printf(" - process newly discovered inodes...\n"); + do_log(_(" - process newly discovered inodes...\n")); do { /* * have to loop until no ag has any uncertain @@ -213,4 +212,3 @@ phase3(xfs_mount_t *mp) } } while (j != 0); } - diff --git a/repair/phase4.c b/repair/phase4.c index 3c755c6b3..fc1c7e187 100644 --- a/repair/phase4.c +++ b/repair/phase4.c @@ -138,7 +138,8 @@ lf_block_delete_orphanage(xfs_mount_t *mp, irec->ino_startnum)), len, 0); if (!bp) - do_error("couldn't read %s inode %llu\n", + do_error( + _("couldn't read %s inode %llu\n"), ORPHANAGE, lino); /* @@ -162,7 +163,8 @@ lf_block_delete_orphanage(xfs_mount_t *mp, 0)); } - do_warn(" - clearing existing \"%s\" inode\n", + do_warn( + _(" - clearing existing \"%s\" inode\n"), ORPHANAGE); ino_dirty = clear_dinode(mp, dino, lino); @@ -193,7 +195,9 @@ lf_block_delete_orphanage(xfs_mount_t *mp, */ namest->name[0] = '/'; *dirty = 1; - do_warn(" - marking entry \"%s\" to be deleted\n", fname); + do_warn( + _(" - marking entry \"%s\" to be deleted\n"), + fname); res++; } } @@ -218,10 +222,9 @@ longform_delete_orphanage(xfs_mount_t *mp, da_bno = 0; *rbuf_dirty = 0; - if ((fsbno = get_first_dblock_fsbno(mp, ino, dino)) == NULLDFSBNO) { - do_error("couldn't map first leaf block of directory inode %llu\n", ino); - exit(1); - } + if ((fsbno = get_first_dblock_fsbno(mp, ino, dino)) == NULLDFSBNO) + do_error( + _("couldn't map first leaf block of directory inode %llu\n"), ino); /* * cycle through the entire directory looking to delete @@ -241,21 +244,19 @@ longform_delete_orphanage(xfs_mount_t *mp, break; bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, fsbno), XFS_FSB_TO_BB(mp, 1), 0); - if (!bp) { - do_error("can't read block %u (fsbno %llu) for directory inode " - "%llu\n", da_bno, fsbno, ino); - exit(1); - } + if (!bp) + do_error(_("can't read block %u (fsbno %llu) for " + "directory inode %llu\n"), + da_bno, fsbno, ino); leaf = (xfs_dir_leafblock_t *)XFS_BUF_PTR(bp); - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR_LEAF_MAGIC) { - do_error("bad magic # (0x%x) for directory leaf block " - "(bno %u fsbno %llu)\n", + if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != + XFS_DIR_LEAF_MAGIC) + do_error(_("bad magic # (0x%x) for directory " + "leaf block (bno %u fsbno %llu)\n"), INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), da_bno, fsbno); - exit(1); - } da_bno = INT_GET(leaf->hdr.info.forw, ARCH_CONVERT); @@ -328,7 +329,8 @@ shortform_delete_orphanage(xfs_mount_t *mp, (__psint_t)next_sfe - (__psint_t)sf; i++) { tmp_sfe = NULL; sf_entry = next_sfe; - XFS_DIR_SF_GET_DIRINO_ARCH(&sf_entry->inumber, &lino, ARCH_CONVERT); + XFS_DIR_SF_GET_DIRINO_ARCH(&sf_entry->inumber, + &lino, ARCH_CONVERT); bcopy(sf_entry->name, fname, sf_entry->namelen); fname[sf_entry->namelen] = '\0'; @@ -345,7 +347,8 @@ shortform_delete_orphanage(xfs_mount_t *mp, * reattached to the new orphanage. */ if (irec != NULL) { - do_warn(" - clearing existing \"%s\" inode\n", + do_warn( + _(" - clearing existing \"%s\" inode\n"), ORPHANAGE); ino_offset = agino - irec->ino_startnum; @@ -387,8 +390,10 @@ shortform_delete_orphanage(xfs_mount_t *mp, irec->ino_startnum)), len, 0); if (!bp) - do_error("could not read %s inode " - "%llu\n", ORPHANAGE, lino); + do_error( + _("could not read %s inode %llu\n"), + ORPHANAGE, lino); + /* * get the agbno containing the first * inode in the chunk. In multi-block @@ -437,7 +442,7 @@ shortform_delete_orphanage(xfs_mount_t *mp, set_inode_free(irec, ino_offset); } - do_warn(" - deleting existing \"%s\" entry\n", + do_warn(_(" - deleting existing \"%s\" entry\n"), ORPHANAGE); /* @@ -445,7 +450,8 @@ shortform_delete_orphanage(xfs_mount_t *mp, * process_shortform_dir() */ tmp_elen = XFS_DIR_SF_ENTSIZE_BYENTRY(sf_entry); - INT_MOD(root_dino->di_core.di_size, ARCH_CONVERT, -(tmp_elen)); + INT_MOD(root_dino->di_core.di_size, ARCH_CONVERT, + -(tmp_elen)); tmp_sfe = (xfs_dir_sf_entry_t *) ((__psint_t) sf_entry + tmp_elen); @@ -531,7 +537,8 @@ lf2_block_delete_orphanage(xfs_mount_t *mp, while (ptr < endptr) { dup = (xfs_dir2_data_unused_t *)ptr; - if (INT_GET(dup->freetag, ARCH_CONVERT) == XFS_DIR2_DATA_FREE_TAG) { + if (INT_GET(dup->freetag, ARCH_CONVERT) == + XFS_DIR2_DATA_FREE_TAG) { if (ptr + INT_GET(dup->length, ARCH_CONVERT) > endptr || INT_GET(dup->length, ARCH_CONVERT) == 0 || (INT_GET(dup->length, ARCH_CONVERT) & @@ -598,7 +605,8 @@ lf2_block_delete_orphanage(xfs_mount_t *mp, irec->ino_startnum)), len, 0); if (!bp) - do_error("couldn't read %s inode %llu\n", + do_error( + _("couldn't read %s inode %llu\n"), ORPHANAGE, lino); /* @@ -622,7 +630,8 @@ lf2_block_delete_orphanage(xfs_mount_t *mp, 0)); } - do_warn(" - clearing existing \"%s\" inode\n", + do_warn( + _(" - clearing existing \"%s\" inode\n"), ORPHANAGE); ino_dirty = clear_dinode(mp, dino, lino); @@ -655,8 +664,8 @@ lf2_block_delete_orphanage(xfs_mount_t *mp, dep->name[0] = '/'; *dirty = 1; do_warn( - " - marking entry \"%s\" to be deleted\n", - fname); + _(" - marking entry \"%s\" to be deleted\n"), + fname); res++; } ptr += XFS_DIR2_DATA_ENTSIZE(dep->namelen); @@ -685,12 +694,10 @@ longform2_delete_orphanage(xfs_mount_t *mp, *rbuf_dirty = 0; fsbno = NULLDFSBNO; bmp = malloc(mp->m_dirblkfsbs * sizeof(*bmp)); - if (!bmp) { + if (!bmp) do_error( - "malloc failed (%u bytes) in longform2_delete_orphanage, ino %llu\n", + _("malloc failed (%u bytes) in longform2_delete_orphanage, ino %llu\n"), mp->m_dirblkfsbs * sizeof(*bmp), ino); - exit(1); - } /* * cycle through the entire directory looking to delete @@ -721,22 +728,21 @@ longform2_delete_orphanage(xfs_mount_t *mp, if (fsbno == NULLDFSBNO) continue; bp = da_read_buf(mp, mp->m_dirblkfsbs, bmp); - if (bp == NULL) { + if (bp == NULL) do_error( - "can't read block %u (fsbno %llu) for directory inode %llu\n", - da_bno, bmp[0].startblock, ino); - exit(1); - } + _("can't read block %u (fsbno %llu) for directory inode %llu\n"), + da_bno, bmp[0].startblock, ino); data = (xfs_dir2_data_t *)bp->data; - if (INT_GET(data->hdr.magic, ARCH_CONVERT) != XFS_DIR2_DATA_MAGIC && - INT_GET(data->hdr.magic, ARCH_CONVERT) != XFS_DIR2_BLOCK_MAGIC) { + if (INT_GET(data->hdr.magic, ARCH_CONVERT) != + XFS_DIR2_DATA_MAGIC && + INT_GET(data->hdr.magic, ARCH_CONVERT) != + XFS_DIR2_BLOCK_MAGIC) do_error( - "bad magic # (0x%x) for directory data block (bno %u fsbno %llu)\n", - INT_GET(data->hdr.magic, ARCH_CONVERT), da_bno, bmp[0].startblock); - exit(1); - } + _("bad magic # (0x%x) for directory data block (bno %u fsbno %llu)\n"), + INT_GET(data->hdr.magic, ARCH_CONVERT), + da_bno, bmp[0].startblock); res += lf2_block_delete_orphanage(mp, ino, data, &dirty, rootino_bp, rbuf_dirty); @@ -822,7 +828,8 @@ shortform2_delete_orphanage(xfs_mount_t *mp, * reattached to the new orphanage. */ if (irec != NULL) { - do_warn(" - clearing existing \"%s\" inode\n", + do_warn( + _(" - clearing existing \"%s\" inode\n"), ORPHANAGE); ino_offset = agino - irec->ino_startnum; @@ -864,8 +871,10 @@ shortform2_delete_orphanage(xfs_mount_t *mp, irec->ino_startnum)), len, 0); if (!bp) - do_error("could not read %s inode " - "%llu\n", ORPHANAGE, lino); + do_error( + _("could not read %s inode %llu\n"), + ORPHANAGE, lino); + /* * get the agbno containing the first * inode in the chunk. In multi-block @@ -915,7 +924,7 @@ shortform2_delete_orphanage(xfs_mount_t *mp, set_inode_free(irec, ino_offset); } - do_warn(" - deleting existing \"%s\" entry\n", + do_warn(_(" - deleting existing \"%s\" entry\n"), ORPHANAGE); /* @@ -923,7 +932,8 @@ shortform2_delete_orphanage(xfs_mount_t *mp, * process_shortform_dir() */ tmp_elen = XFS_DIR2_SF_ENTSIZE_BYENTRY(sf, sf_entry); - INT_MOD(root_dino->di_core.di_size, ARCH_CONVERT, -(tmp_elen)); + INT_MOD(root_dino->di_core.di_size, ARCH_CONVERT, + -(tmp_elen)); tmp_sfe = (xfs_dir2_sf_entry_t *) ((__psint_t) sf_entry + tmp_elen); @@ -989,12 +999,11 @@ delete_orphanage(xfs_mount_t *mp) MAX(1, XFS_INODES_PER_CHUNK/inodes_per_block)); dbp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, XFS_INO_TO_FSB(mp, ino)), len, 0); - if (!dbp) { - do_error("could not read buffer for root inode %llu " - "(daddr %lld, size %d)\n", ino, + if (!dbp) + do_error(_("could not read buffer for root inode %llu " + "(daddr %lld, size %d)\n"), ino, XFS_FSB_TO_DADDR(mp, XFS_INO_TO_FSB(mp, ino)), XFS_FSB_TO_BB(mp, 1)); - } /* * we also know that the root inode is always the first inode @@ -1037,7 +1046,7 @@ delete_orphanage(xfs_mount_t *mp) INT_MOD(dino->di_core.di_nlink, ARCH_CONVERT, -res); break; default: - do_error("unknown version #%d in root inode\n", + do_error(_("unknown version #%d in root inode\n"), dino->di_core.di_version); } @@ -1141,8 +1150,8 @@ phase4(xfs_mount_t *mp) ag_hdr_block = howmany(ag_hdr_len, mp->m_sb.sb_blocksize); - printf("Phase 4 - check for duplicate blocks...\n"); - printf(" - setting up duplicate extent list...\n"); + do_log(_("Phase 4 - check for duplicate blocks...\n")); + do_log(_(" - setting up duplicate extent list...\n")); irec = find_inode_rec(XFS_INO_TO_AGNO(mp, mp->m_sb.sb_rootino), XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rootino)); @@ -1154,9 +1163,9 @@ phase4(xfs_mount_t *mp) if (is_inode_free(irec, 0) || !inode_isadir(irec, 0)) { need_root_inode = 1; if (no_modify) - do_warn("root inode would be lost\n"); + do_warn(_("root inode would be lost\n")); else - do_warn("root inode lost\n"); + do_warn(_("root inode lost\n")); } /* @@ -1164,7 +1173,7 @@ phase4(xfs_mount_t *mp) * by lost+found don't show up as used */ if (!no_modify) { - printf(" - clear lost+found (if it exists) ...\n"); + do_log(_(" - clear lost+found (if it exists) ...\n")); if (!need_root_inode) delete_orphanage(mp); } @@ -1184,8 +1193,8 @@ phase4(xfs_mount_t *mp) switch (bstate) { case XR_E_BAD_STATE: default: - do_warn("unknown block state, ag %d, \ -block %d\n", + do_warn( + _("unknown block state, ag %d, block %d\n"), i, j); /* fall through .. */ case XR_E_UNKNOWN: @@ -1241,7 +1250,8 @@ block %d\n", switch (bstate) { case XR_E_BAD_STATE: default: - do_warn("unknown rt extent state, extent %llu\n", bno); + do_warn(_("unknown rt extent state, extent %llu\n"), + bno); /* fall through .. */ case XR_E_UNKNOWN: case XR_E_FREE1: @@ -1303,7 +1313,7 @@ block %d\n", set_bmap_log(mp); set_bmap_fs(mp); - printf(" - check for inodes claiming duplicate blocks...\n"); + do_log(_(" - check for inodes claiming duplicate blocks...\n")); for (i = 0; i < mp->m_sb.sb_agcount; i++) { /* * ok, now process the inodes -- signal 2-pass check per inode. @@ -1314,7 +1324,7 @@ block %d\n", * and attribute processing is turned OFF since we did that * already in phase 3. */ - do_log(" - agno = %d\n", i); + do_log(_(" - agno = %d\n"), i); process_aginodes(mp, i, 0, 1, 0); /* diff --git a/repair/phase5.c b/repair/phase5.c index e13d549af..9c666ea0d 100644 --- a/repair/phase5.c +++ b/repair/phase5.c @@ -226,10 +226,8 @@ setup_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *curs) ASSERT(big_extent_len > 0); if ((curs->btree_blocks = malloc(sizeof(xfs_agblock_t *) - * big_extent_len)) == NULL) { - do_error("could not set up btree block array\n"); - exit(1); - } + * big_extent_len)) == NULL) + do_error(_("could not set up btree block array\n")); agb_ptr = curs->free_btree_blocks = curs->btree_blocks; @@ -240,10 +238,8 @@ setup_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *curs) * grab the smallest extent and use it up, then get the * next smallest. This mimics the init_*_cursor code. */ - if ((ext_ptr = findfirst_bcnt_extent(agno)) == NULL) { - do_error("error - not enough free space in filesystem\n"); - exit(1); - } + if ((ext_ptr = findfirst_bcnt_extent(agno)) == NULL) + do_error(_("error - not enough free space in filesystem\n")); agb_ptr = curs->btree_blocks; j = curs->level[0].num_blocks; @@ -465,11 +461,9 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, * figure out how many free extents will be used up by * our space allocation */ - if ((ext_ptr = findfirst_bcnt_extent(agno)) == NULL) { - do_error("can't rebuild fs trees -- not enough free space " - "on ag %u\n", agno); - exit(1); - } + if ((ext_ptr = findfirst_bcnt_extent(agno)) == NULL) + do_error(_("can't rebuild fs trees -- not enough free space " + "on ag %u\n"), agno); i = 0; while (ext_ptr != NULL && blocks_needed > 0) { @@ -491,11 +485,9 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, } #endif } - if (blocks_needed > 0) { - do_error("ag %u - not enough free space to build freespace " - "btrees\n", agno); - exit(1); - } + if (blocks_needed > 0) + do_error(_("ag %u - not enough free space to build freespace " + "btrees\n"), agno); ASSERT(num_extents >= extents_used); @@ -529,9 +521,9 @@ calculate_freespace_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, * the old tree had more than one level. * this is bad. */ - do_warn("not enough free blocks left to " - "describe all free blocks in AG %u\n", - agno); + do_warn(_("not enough free blocks left to " + "describe all free blocks in AG " + "%u\n"), agno); } #ifdef XR_BLD_FREE_TRACE fprintf(stderr, @@ -1339,10 +1331,12 @@ build_agf_agfl(xfs_mount_t *mp, if (j > 0) { if (j == lostblocks) - do_warn("lost %d blocks in ag %u\n", j, agno); + do_warn(_("lost %d blocks in ag %u\n"), + j, agno); else - do_warn("thought we were going to lose %d " - "blocks in ag %u, actually lost %d\n", + do_warn(_("thought we were going to lose %d " + "blocks in ag %u, actually lost " + "%d\n"), lostblocks, j, agno); } @@ -1388,7 +1382,7 @@ sync_sb(xfs_mount_t *mp) bp = libxfs_getsb(mp, 0); if (!bp) - do_error("couldn't get superblock\n"); + do_error(_("couldn't get superblock\n")); sbp = XFS_BUF_TO_SBP(bp); @@ -1442,7 +1436,7 @@ phase5(xfs_mount_t *mp) extern int count_bcnt_extents(xfs_agnumber_t); #endif - do_log("Phase 5 - rebuild AG headers and trees...\n"); + do_log(_("Phase 5 - rebuild AG headers and trees...\n")); #ifdef XR_BLD_FREE_TRACE fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n", @@ -1491,8 +1485,9 @@ phase5(xfs_mount_t *mp) * and clearing the in-use bit in the incore inode * tree. Then try mk_incore_fstree() again. */ - do_error("unable to rebuild AG %u. " - "Not enough free space in on-disk AG.\n", agno); + do_error(_("unable to rebuild AG %u. " + "Not enough free space in on-disk AG.\n"), + agno); } /* @@ -1529,9 +1524,8 @@ phase5(xfs_mount_t *mp) * and clearing the in-use bit in the incore inode * tree. Then try mk_incore_fstree() again. */ - do_error("unable to rebuild AG %u. No free space.\n", - agno); - exit(1); + do_error( + _("unable to rebuild AG %u. No free space.\n"), agno); } #ifdef XR_BLD_FREE_TRACE @@ -1558,7 +1552,7 @@ phase5(xfs_mount_t *mp) : 0; if (extra_blocks > 0) { - do_warn("lost %d blocks in agno %d, sorry.\n", + do_warn(_("lost %d blocks in agno %d, sorry.\n"), extra_blocks, agno); sb_fdblocks -= extra_blocks; } @@ -1616,13 +1610,13 @@ phase5(xfs_mount_t *mp) if (mp->m_sb.sb_rblocks) { do_log( - " - generate realtime summary info and bitmap...\n"); + _(" - generate realtime summary info and bitmap...\n")); rtinit(mp); generate_rtinfo(mp, btmcompute, sumcompute); teardown_rt_bmap(mp); } - do_log(" - reset superblock...\n"); + do_log(_(" - reset superblock...\n")); /* * sync superblock counter and set version bits correctly diff --git a/repair/phase6.c b/repair/phase6.c index b0202eb4c..d0c988ed2 100644 --- a/repair/phase6.c +++ b/repair/phase6.c @@ -85,6 +85,7 @@ typedef struct freetab { #define DIR_HASH_CK_NODATA 3 #define DIR_HASH_CK_NOLEAF 4 #define DIR_HASH_CK_BADSTALE 5 +#define DIR_HASH_CK_TOTAL 6 static void dir_hash_add( @@ -97,11 +98,9 @@ dir_hash_add( dir_hash_ent_t *p; i = DIR_HASH_FUNC(hashtab, addr); - if ((p = malloc(sizeof(*p))) == NULL) { - do_error("malloc failed in dir_hash_add (%u bytes)\n", + if ((p = malloc(sizeof(*p))) == NULL) + do_error(_("malloc failed in dir_hash_add (%u bytes)\n"), sizeof(*p)); - exit(1); - } p->next = hashtab->tab[i]; hashtab->tab[i] = p; if (!(p->junkit = junk)) @@ -132,25 +131,29 @@ dir_hash_check( xfs_inode_t *ip, int seeval) { - static char *seevalstr[] = { - "ok", - "duplicate leaf", - "hash value mismatch", - "no data entry", - "no leaf entry", - "bad stale count", - }; + static char *seevalstr[DIR_HASH_CK_TOTAL]; + static int done; + + if (!done) { + seevalstr[DIR_HASH_CK_OK] = _("ok"); + seevalstr[DIR_HASH_CK_DUPLEAF] = _("duplicate leaf"); + seevalstr[DIR_HASH_CK_BADHASH] = _("hash value mismatch"); + seevalstr[DIR_HASH_CK_NODATA] = _("no data entry"); + seevalstr[DIR_HASH_CK_NOLEAF] = _("no leaf entry"); + seevalstr[DIR_HASH_CK_BADSTALE] = _("bad stale count"); + done = 1; + } if (seeval == DIR_HASH_CK_OK && dir_hash_unseen(hashtab)) seeval = DIR_HASH_CK_NOLEAF; if (seeval == DIR_HASH_CK_OK) return 0; - do_warn("bad hash table for directory inode %llu (%s): ", ip->i_ino, - seevalstr[seeval]); + do_warn(_("bad hash table for directory inode %llu (%s): "), + ip->i_ino, seevalstr[seeval]); if (!no_modify) - do_warn("rebuilding\n"); + do_warn(_("rebuilding\n")); else - do_warn("would rebuild\n"); + do_warn(_("would rebuild\n")); return 1; } @@ -183,10 +186,8 @@ dir_hash_init( hsize = 1024; else if (hsize < 16) hsize = 16; - if ((hashtab = calloc(DIR_HASH_TAB_SIZE(hsize), 1)) == NULL) { - do_error("calloc failed in dir_hash_init\n"); - exit(1); - } + if ((hashtab = calloc(DIR_HASH_TAB_SIZE(hsize), 1)) == NULL) + do_error(_("calloc failed in dir_hash_init\n")); hashtab->size = hsize; return hashtab; } @@ -318,9 +319,9 @@ res_failed( int err) { if (err == ENOSPC) { - do_error("ran out of disk space!\n"); + do_error(_("ran out of disk space!\n")); } else - do_error("xfs_trans_reserve returned %d\n", err); + do_error(_("xfs_trans_reserve returned %d\n"), err); } void @@ -348,7 +349,8 @@ mk_rbmino(xfs_mount_t *mp) error = libxfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, &ip); if (error) { - do_error("couldn't iget realtime bitmap inode -- error - %d\n", + do_error( + _("couldn't iget realtime bitmap inode -- error - %d\n"), error); } @@ -397,7 +399,8 @@ mk_rbmino(xfs_mount_t *mp) XFS_BMAPI_WRITE, &first, mp->m_sb.sb_rbmblocks, map, &nmap, &flist); if (error) { - do_error("couldn't allocate realtime bitmap - err %d\n", + do_error( + _("couldn't allocate realtime bitmap, error = %d\n"), error); } for (i = 0, ep = map; i < nmap; i++, ep++) { @@ -410,7 +413,7 @@ mk_rbmino(xfs_mount_t *mp) error = libxfs_bmap_finish(&tp, &flist, first, &committed); if (error) { do_error( - "allocation of the realtime bitmap failed, error = %d\n", + _("allocation of the realtime bitmap failed, error = %d\n"), error); } libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC, 0); @@ -439,7 +442,8 @@ fill_rbmino(xfs_mount_t *mp) error = libxfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, &ip); if (error) { - do_error("couldn't iget realtime bitmap inode -- error - %d\n", + do_error( + _("couldn't iget realtime bitmap inode -- error - %d\n"), error); } @@ -452,7 +456,7 @@ fill_rbmino(xfs_mount_t *mp) &first, 1, &map, &nmap, NULL); if (error || nmap != 1) { do_error( - "couldn't map realtime bitmap block %llu - err %d\n", + _("couldn't map realtime bitmap block %llu, error = %d\n"), bno, error); } @@ -465,7 +469,7 @@ fill_rbmino(xfs_mount_t *mp) if (error) { do_warn( - "can't access block %llu (fsbno %llu) of realtime bitmap inode %llu\n", +_("can't access block %llu (fsbno %llu) of realtime bitmap inode %llu\n"), bno, map.br_startblock, mp->m_sb.sb_rbmino); return(1); } @@ -508,7 +512,8 @@ fill_rsumino(xfs_mount_t *mp) error = libxfs_trans_iget(mp, tp, mp->m_sb.sb_rsumino, 0, &ip); if (error) { - do_error("couldn't iget realtime summary inode -- error - %d\n", + do_error( + _("couldn't iget realtime summary inode -- error - %d\n"), error); } @@ -521,7 +526,7 @@ fill_rsumino(xfs_mount_t *mp) &first, 1, &map, &nmap, NULL); if (error || nmap != 1) { do_error( - "couldn't map realtime summary inode block %llu - err %d\n", + _("couldn't map realtime summary inode block %llu, error = %d\n"), bno, error); } @@ -534,7 +539,7 @@ fill_rsumino(xfs_mount_t *mp) if (error) { do_warn( - "can't access block %llu (fsbno %llu) of realtime summary inode %llu\n", +_("can't access block %llu (fsbno %llu) of realtime summary inode %llu\n"), bno, map.br_startblock, mp->m_sb.sb_rsumino); return(1); } @@ -579,7 +584,8 @@ mk_rsumino(xfs_mount_t *mp) error = libxfs_trans_iget(mp, tp, mp->m_sb.sb_rsumino, 0, &ip); if (error) { - do_error("couldn't iget realtime summary inode -- error - %d\n", + do_error( + _("couldn't iget realtime summary inode -- error - %d\n"), error); } @@ -635,21 +641,21 @@ mk_rsumino(xfs_mount_t *mp) map, &nmap, &flist); if (error) { do_error( - "couldn't allocate realtime summary inode - err %d\n", + _("couldn't allocate realtime summary inode, error = %d\n"), error); } for (i = 0, ep = map; i < nmap; i++, ep++) { libxfs_device_zero(mp->m_dev, XFS_FSB_TO_DADDR(mp, ep->br_startblock), XFS_FSB_TO_BB(mp, ep->br_blockcount)); - do_error("dev_zero of rtbitmap failed\n"); + do_error(_("dev_zero of rtbitmap failed\n")); bno += ep->br_blockcount; } } error = libxfs_bmap_finish(&tp, &flist, first, &committed); if (error) { do_error( - "allocation of the realtime summary ino failed, err = %d\n", + _("allocation of the realtime summary ino failed, error = %d\n"), error); } libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC, 0); @@ -676,7 +682,7 @@ mk_root_dir(xfs_mount_t *mp) error = libxfs_trans_iget(mp, tp, mp->m_sb.sb_rootino, 0, &ip); if (error) { - do_error("could not iget root inode -- error - %d\n", error); + do_error(_("could not iget root inode -- error - %d\n"), error); } /* @@ -744,14 +750,14 @@ mk_orphanage(xfs_mount_t *mp) * wrapper can commit the transaction and start a new one */ if ((i = libxfs_iget(mp, NULL, mp->m_sb.sb_rootino, 0, &pip, 0))) - do_error("%d - couldn't iget root inode to make %s\n", + do_error(_("%d - couldn't iget root inode to make %s\n"), i, ORPHANAGE); error = libxfs_inode_alloc(&tp, pip, mode|IFDIR, 1, mp->m_dev, &zerocr, &ip); if (error) { - do_error("%s inode allocation failed %d\n", + do_error(_("%s inode allocation failed %d\n"), ORPHANAGE, error); } @@ -770,7 +776,8 @@ mk_orphanage(xfs_mount_t *mp) */ if ((error = dir_createname(mp, tp, pip, ORPHANAGE, strlen(ORPHANAGE), ip->i_ino, &first, &flist, nres))) { - do_warn("can't make %s, createname error %d, will try later\n", + do_warn( + _("can't make %s, createname error %d, will try later\n"), ORPHANAGE, error); orphanage_entered = 0; } else @@ -788,7 +795,7 @@ mk_orphanage(xfs_mount_t *mp) error = libxfs_bmap_finish(&tp, &flist, first, &committed); if (error) { - do_error("%s directory creation failed -- bmapf error %d\n", + do_error(_("%s directory creation failed -- bmapf error %d\n"), ORPHANAGE, error); } @@ -825,12 +832,12 @@ mv_orphanage(xfs_mount_t *mp, snprintf(fname, sizeof(fname), "%llu", (unsigned long long)ino); if ((err = libxfs_iget(mp, NULL, dir_ino, 0, &dir_ino_p, 0))) - do_error("%d - couldn't iget orphanage inode\n", err); + do_error(_("%d - couldn't iget orphanage inode\n"), err); tp = libxfs_trans_alloc(mp, 0); if ((err = libxfs_iget(mp, NULL, ino, 0, &ino_p, 0))) - do_error("%d - couldn't iget disconnected inode\n", err); + do_error(_("%d - couldn't iget disconnected inode\n"), err); if (isa_dir) { nres = XFS_DIRENTER_SPACE_RES(mp, strlen(fname)) + @@ -844,7 +851,7 @@ mv_orphanage(xfs_mount_t *mp, XFS_TRANS_PERM_LOG_RES, XFS_RENAME_LOG_COUNT))) do_error( - "space reservation failed (%d), filesystem may be out of space\n", + _("space reservation failed (%d), filesystem may be out of space\n"), err); libxfs_trans_ijoin(tp, dir_ino_p, 0); @@ -855,7 +862,7 @@ mv_orphanage(xfs_mount_t *mp, strlen(fname), ino, &first, &flist, nres))) do_error( - "name create failed in %s (%d), filesystem may be out of space\n", + _("name create failed in %s (%d), filesystem may be out of space\n"), ORPHANAGE, err); dir_ino_p->i_d.di_nlink++; @@ -864,7 +871,7 @@ mv_orphanage(xfs_mount_t *mp, if ((err = dir_createname(mp, tp, ino_p, "..", 2, dir_ino, &first, &flist, nres))) do_error( - "creation of .. entry failed (%d), filesystem may be out of space\n", + _("creation of .. entry failed (%d), filesystem may be out of space\n"), err); ino_p->i_d.di_nlink++; @@ -872,7 +879,7 @@ mv_orphanage(xfs_mount_t *mp, if ((err = libxfs_bmap_finish(&tp, &flist, first, &committed))) do_error( - "bmap finish failed (err - %d), filesystem may be out of space\n", + _("bmap finish failed (err - %d), filesystem may be out of space\n"), err); libxfs_trans_commit(tp, @@ -883,7 +890,7 @@ mv_orphanage(xfs_mount_t *mp, XFS_TRANS_PERM_LOG_RES, XFS_RENAME_LOG_COUNT))) do_error( - "space reservation failed (%d), filesystem may be out of space\n", + _("space reservation failed (%d), filesystem may be out of space\n"), err); libxfs_trans_ijoin(tp, dir_ino_p, 0); @@ -895,7 +902,7 @@ mv_orphanage(xfs_mount_t *mp, strlen(fname), ino, &first, &flist, nres))) do_error( - "name create failed in %s (%d), filesystem may be out of space\n", + _("name create failed in %s (%d), filesystem may be out of space\n"), ORPHANAGE, err); dir_ino_p->i_d.di_nlink++; @@ -910,14 +917,14 @@ mv_orphanage(xfs_mount_t *mp, 2, dir_ino, &first, &flist, nres))) do_error( - "name replace op failed (%d), filesystem may be out of space\n", + _("name replace op failed (%d), filesystem may be out of space\n"), err); } if ((err = libxfs_bmap_finish(&tp, &flist, first, &committed))) do_error( - "bmap finish failed (%d), filesystem may be out of space\n", + _("bmap finish failed (%d), filesystem may be out of space\n"), err); libxfs_trans_commit(tp, @@ -934,7 +941,7 @@ mv_orphanage(xfs_mount_t *mp, if ((err = libxfs_trans_reserve(tp, nres, XFS_REMOVE_LOG_RES(mp), 0, XFS_TRANS_PERM_LOG_RES, XFS_REMOVE_LOG_COUNT))) do_error( - "space reservation failed (%d), filesystem may be out of space\n", + _("space reservation failed (%d), filesystem may be out of space\n"), err); libxfs_trans_ijoin(tp, dir_ino_p, 0); @@ -944,7 +951,7 @@ mv_orphanage(xfs_mount_t *mp, if ((err = dir_createname(mp, tp, dir_ino_p, fname, strlen(fname), ino, &first, &flist, nres))) do_error( - "name create failed in %s (%d), filesystem may be out of space\n", + _("name create failed in %s (%d), filesystem may be out of space\n"), ORPHANAGE, err); ASSERT(err == 0); @@ -953,7 +960,7 @@ mv_orphanage(xfs_mount_t *mp, if ((err = libxfs_bmap_finish(&tp, &flist, first, &committed))) do_error( - "bmap finish failed (%d), filesystem may be out of space\n", + _("bmap finish failed (%d), filesystem may be out of space\n"), err); libxfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES|XFS_TRANS_SYNC, 0); @@ -994,7 +1001,7 @@ map_first_dblock_fsbno(xfs_mount_t *mp, i = -1; node = NULL; fblock = NULLFSBLOCK; - ftype = "dir"; + ftype = _("dir"); nmap = 1; error = libxfs_bmapi(NULL, ip, (xfs_fileoff_t) da_bno, 1, @@ -1003,11 +1010,11 @@ map_first_dblock_fsbno(xfs_mount_t *mp, if (error || nmap != 1) { if (!no_modify) do_error( -"can't map block %d in %s inode %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map block %d in %s inode %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ftype, ino, error, nmap); else { do_warn( -"can't map block %d in %s inode %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map block %d in %s inode %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ftype, ino, error, nmap); return(NULLDFSBNO); } @@ -1015,10 +1022,10 @@ map_first_dblock_fsbno(xfs_mount_t *mp, if ((fsbno = map.br_startblock) == HOLESTARTBLOCK) { if (!no_modify) - do_error("block %d in %s ino %llu doesn't exist\n", + do_error(_("block %d in %s ino %llu doesn't exist\n"), da_bno, ftype, ino); else { - do_warn("block %d in %s ino %llu doesn't exist\n", + do_warn(_("block %d in %s ino %llu doesn't exist\n"), da_bno, ftype, ino); return(NULLDFSBNO); } @@ -1043,7 +1050,7 @@ map_first_dblock_fsbno(xfs_mount_t *mp, if (!bp) { do_warn( - "can't read block %u (fsbno %llu) for directory inode %llu\n", + _("can't read block %u (fsbno %llu) for directory inode %llu\n"), da_bno, fsbno, ino); return(NULLDFSBNO); } @@ -1053,7 +1060,7 @@ map_first_dblock_fsbno(xfs_mount_t *mp, if (INT_GET(node->hdr.info.magic, ARCH_CONVERT) != XFS_DA_NODE_MAGIC) { libxfs_putbuf(bp); do_warn( -"bad dir/attr magic number in inode %llu, file bno = %u, fsbno = %llu\n", +_("bad dir/attr magic number in inode %llu, file bno = %u, fsbno = %llu\n"), ino, da_bno, fsbno); return(NULLDFSBNO); } @@ -1073,11 +1080,11 @@ map_first_dblock_fsbno(xfs_mount_t *mp, if (error || nmap != 1) { if (!no_modify) do_error( - "can't map block %d in %s ino %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map block %d in %s ino %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ftype, ino, error, nmap); else { do_warn( - "can't map block %d in %s ino %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map block %d in %s ino %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ftype, ino, error, nmap); return(NULLDFSBNO); } @@ -1085,11 +1092,11 @@ map_first_dblock_fsbno(xfs_mount_t *mp, if ((fsbno = map.br_startblock) == HOLESTARTBLOCK) { if (!no_modify) do_error( - "block %d in %s inode %llu doesn't exist\n", + _("block %d in %s inode %llu doesn't exist\n"), da_bno, ftype, ino); else { do_warn( - "block %d in %s inode %llu doesn't exist\n", + _("block %d in %s inode %llu doesn't exist\n"), da_bno, ftype, ino); return(NULLDFSBNO); } @@ -1151,7 +1158,7 @@ prune_lf_dir_entry(xfs_mount_t *mp, xfs_ino_t ino, xfs_inode_t *ip, * first, grab the dinode and find the right leaf block. */ - ftype = "dir"; + ftype = _("dir"); da_bno = 0; bp = NULL; namest = NULL; @@ -1169,7 +1176,7 @@ prune_lf_dir_entry(xfs_mount_t *mp, xfs_ino_t ino, xfs_inode_t *ip, if (!bp) { do_error( - "can't read directory inode %llu (leaf) block %u (fsbno %llu)\n", + _("can't read directory inode %llu (leaf) block %u (fsbno %llu)\n"), ino, da_bno, fsbno); /* NOTREACHED */ } @@ -1211,12 +1218,12 @@ prune_lf_dir_entry(xfs_mount_t *mp, xfs_ino_t ino, xfs_inode_t *ip, &map, &nmap, NULL); if (error || nmap != 1) do_error( -"can't map block %d in directory %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map block %d in directory %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ino, error, nmap); if ((fsbno = map.br_startblock) == HOLESTARTBLOCK) { do_error( - "%s ino %llu block %d doesn't exist\n", + _("%s ino %llu block %d doesn't exist\n"), ftype, ino, da_bno); } } @@ -1232,7 +1239,8 @@ prune_lf_dir_entry(xfs_mount_t *mp, xfs_ino_t ino, xfs_inode_t *ip, ASSERT(index >= 0); ASSERT(entry == &leaf->entries[index]); - ASSERT(namest == XFS_DIR_LEAF_NAMESTRUCT(leaf, INT_GET(entry->nameidx, ARCH_CONVERT))); + ASSERT(namest == XFS_DIR_LEAF_NAMESTRUCT(leaf, + INT_GET(entry->nameidx, ARCH_CONVERT))); /* * snag the info we need out of the directory then release all buffers @@ -1270,7 +1278,7 @@ prune_lf_dir_entry(xfs_mount_t *mp, xfs_ino_t ino, xfs_inode_t *ip, if (error) { do_error( -"couldn't remove bogus entry \"%s\" in\n\tdirectory inode %llu, errno = %d\n", +_("couldn't remove bogus entry \"%s\" in\n\tdirectory inode %llu, errno = %d\n"), fname, ino, error); /* NOTREACHED */ } @@ -1406,15 +1414,15 @@ lf_block_dir_entry_check(xfs_mount_t *mp, if (irec == NULL) { nbad++; do_warn( - "entry \"%s\" in dir inode %llu points to non-existent inode, ", + _("entry \"%s\" in dir inode %llu points to non-existent inode, "), fname, ino); if (!no_modify) { namest->name[0] = '/'; *dirty = 1; - do_warn("marking entry to be junked\n"); + do_warn(_("marking entry to be junked\n")); } else { - do_warn("would junk entry\n"); + do_warn(_("would junk entry\n")); } continue; @@ -1434,20 +1442,21 @@ lf_block_dir_entry_check(xfs_mount_t *mp, */ if (verbose || no_modify || lino != old_orphanage_ino) do_warn( - "entry \"%s\" in dir inode %llu points to free inode %llu", + _("entry \"%s\" in dir inode %llu points to free inode %llu"), fname, ino, lino); nbad++; if (!no_modify) { if (verbose || lino != old_orphanage_ino) - do_warn(", marking entry to be junked\n"); + do_warn( + _(", marking entry to be junked\n")); else do_warn("\n"); namest->name[0] = '/'; *dirty = 1; } else { - do_warn(", would junk entry\n"); + do_warn(_(", would junk entry\n")); } continue; @@ -1475,7 +1484,7 @@ lf_block_dir_entry_check(xfs_mount_t *mp, if (is_inode_reached(irec, ino_offset)) { junkit = 1; do_warn( -"entry \"%s\" in dir %llu points to an already connected dir inode %llu,\n", +_("entry \"%s\" in dir %llu points to an already connected dir inode %llu,\n"), fname, ino, lino); } else if (parent == ino) { add_inode_reached(irec, ino_offset); @@ -1486,7 +1495,7 @@ lf_block_dir_entry_check(xfs_mount_t *mp, } else { junkit = 1; do_warn( -"entry \"%s\" in dir ino %llu not consistent with .. value (%llu) in ino %llu,\n", +_("entry \"%s\" in dir ino %llu not consistent with .. value (%llu) in ino %llu,\n"), fname, ino, parent, lino); } @@ -1498,10 +1507,12 @@ lf_block_dir_entry_check(xfs_mount_t *mp, namest->name[0] = '/'; *dirty = 1; if (verbose || lino != old_orphanage_ino) - do_warn("\twill clear entry \"%s\"\n", + do_warn( + _("\twill clear entry \"%s\"\n"), fname); } else { - do_warn("\twould clear entry \"%s\"\n", fname); + do_warn(_("\twould clear entry \"%s\"\n"), + fname); } } } @@ -1539,12 +1550,12 @@ longform_dir_entry_check(xfs_mount_t *mp, da_bno = 0; fblock = NULLFSBLOCK; *need_dot = 1; - ftype = "dir"; + ftype = _("dir"); fsbno = map_first_dblock_fsbno(mp, ino, ip, &da_bno); if (fsbno == NULLDFSBNO && no_modify) { - do_warn("cannot map block 0 of directory inode %llu\n", ino); + do_warn(_("cannot map block 0 of directory inode %llu\n"), ino); return; } @@ -1557,7 +1568,7 @@ longform_dir_entry_check(xfs_mount_t *mp, if (!bp) { do_error( - "can't read block %u (fsbno %llu) for directory inode %llu\n", + _("can't read block %u (fsbno %llu) for directory inode %llu\n"), da_bno, fsbno, ino); /* NOTREACHED */ } @@ -1566,11 +1577,13 @@ longform_dir_entry_check(xfs_mount_t *mp, da_bno = INT_GET(leaf->hdr.info.forw, ARCH_CONVERT); - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR_LEAF_MAGIC) { + if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != + XFS_DIR_LEAF_MAGIC) { if (!no_modify) { do_error( - "bad magic # (0x%x) for dir ino %llu leaf block (bno %u fsbno %llu)\n", - INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), +_("bad magic # (0x%x) for dir ino %llu leaf block (bno %u fsbno %llu)\n"), + INT_GET(leaf->hdr.info.magic, + ARCH_CONVERT), ino, da_bno, fsbno); /* NOTREACHED */ } else { @@ -1604,11 +1617,11 @@ longform_dir_entry_check(xfs_mount_t *mp, if (error || nmap != 1) { if (!no_modify) do_error( -"can't map leaf block %d in dir %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map leaf block %d in dir %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ino, error, nmap); else { do_warn( -"can't map leaf block %d in dir %llu, xfs_bmapi returns %d, nmap = %d\n", +_("can't map leaf block %d in dir %llu, xfs_bmapi returns %d, nmap = %d\n"), da_bno, ino, error, nmap); return; } @@ -1616,11 +1629,11 @@ longform_dir_entry_check(xfs_mount_t *mp, if ((fsbno = map.br_startblock) == HOLESTARTBLOCK) { if (!no_modify) do_error( - "block %d in %s ino %llu doesn't exist\n", + _("block %d in %s ino %llu doesn't exist\n"), da_bno, ftype, ino); else { do_warn( - "block %d in %s ino %llu doesn't exist\n", + _("block %d in %s ino %llu doesn't exist\n"), da_bno, ftype, ino); return; } @@ -1670,7 +1683,7 @@ dir2_kill_block( error = libxfs_dir2_shrink_inode(&args, XFS_DIR2_DA_TO_DB(mp, da_bno), bp); if (error) - do_error("shrink_inode failed inode %llu block %u\n", + do_error(_("shrink_inode failed inode %llu block %u\n"), ip->i_ino, da_bno); libxfs_bmap_finish(&tp, &flist, firstblock, &committed); libxfs_trans_commit(tp, 0, 0); @@ -1751,9 +1764,8 @@ longform_dir2_entry_check_data( *freetabp = freetab = realloc(freetab, FREETAB_SIZE(db + 1)); if (!freetab) { do_error( - "realloc failed in longform_dir2_entry_check_data (%u bytes)\n", + _("realloc failed in longform_dir2_entry_check_data (%u bytes)\n"), FREETAB_SIZE(db + 1)); - exit(1); } e.v = NULLDATAOFF; e.s = 0; @@ -1811,17 +1823,18 @@ longform_dir2_entry_check_data( /* did we find an empty or corrupt block? */ if (ptr != endptr) { if (junkit) { - do_warn("empty data block %u in directory inode %llu: ", + do_warn( + _("empty data block %u in directory inode %llu: "), da_bno, ip->i_ino); } else { - do_warn("corrupt block %u in directory inode %llu: ", + do_warn(_("corrupt block %u in directory inode %llu: "), da_bno, ip->i_ino); } if (!no_modify) { - do_warn("junking block\n"); + do_warn(_("junking block\n")); dir2_kill_block(mp, ip, da_bno, bp); } else { - do_warn("would junk block\n"); + do_warn(_("would junk block\n")); libxfs_da_brelse(NULL, bp); } freetab->ents[db].v = NULLDATAOFF; @@ -1845,15 +1858,15 @@ longform_dir2_entry_check_data( libxfs_da_bhold(tp, bp); XFS_BMAP_INIT(&flist, &firstblock); if (INT_GET(d->hdr.magic, ARCH_CONVERT) != wantmagic) { - do_warn("bad directory block magic # %#x for directory inode " - "%llu block %d: ", + do_warn(_("bad directory block magic # %#x for directory inode " + "%llu block %d: "), INT_GET(d->hdr.magic, ARCH_CONVERT), ip->i_ino, da_bno); if (!no_modify) { - do_warn("fixing magic # to %#x\n", wantmagic); + do_warn(_("fixing magic # to %#x\n"), wantmagic); INT_SET(d->hdr.magic, ARCH_CONVERT, wantmagic); needlog = 1; } else - do_warn("would fix magic # to %#x\n", wantmagic); + do_warn(_("would fix magic # to %#x\n"), wantmagic); } lastfree = 0; ptr = (char *)d->u; @@ -1871,13 +1884,14 @@ longform_dir2_entry_check_data( */ while (ptr < endptr) { dup = (xfs_dir2_data_unused_t *)ptr; - if (INT_GET(dup->freetag, ARCH_CONVERT) == XFS_DIR2_DATA_FREE_TAG) { + if (INT_GET(dup->freetag, ARCH_CONVERT) == + XFS_DIR2_DATA_FREE_TAG) { if (lastfree) { - do_warn("directory inode %llu block %u has " - "consecutive free entries: ", + do_warn(_("directory inode %llu block %u has " + "consecutive free entries: "), ip->i_ino, da_bno); if (!no_modify) { - do_warn("joining together\n"); + do_warn(_("joining together\n")); len = INT_GET(dup->length, ARCH_CONVERT); libxfs_dir2_data_use_free(tp, bp, dup, ptr - (char *)d, len, &needlog, @@ -1886,7 +1900,7 @@ longform_dir2_entry_check_data( ptr - (char *)d, len, &needlog, &needscan); } else - do_warn("would join together\n"); + do_warn(_("would join together\n")); } ptr += INT_GET(dup->length, ARCH_CONVERT); lastfree = 1; @@ -1949,29 +1963,34 @@ longform_dir2_entry_check_data( /* * skip entries with bogus inumbers if we're in no modify mode */ - if (no_modify && verify_inum(mp, INT_GET(dep->inumber, ARCH_CONVERT))) + if (no_modify && + verify_inum(mp, INT_GET(dep->inumber, ARCH_CONVERT))) continue; /* * ok, now handle the rest of the cases besides '.' and '..' */ - irec = find_inode_rec(XFS_INO_TO_AGNO(mp, INT_GET(dep->inumber, ARCH_CONVERT)), - XFS_INO_TO_AGINO(mp, INT_GET(dep->inumber, ARCH_CONVERT))); + irec = find_inode_rec( + XFS_INO_TO_AGNO(mp, + INT_GET(dep->inumber, ARCH_CONVERT)), + XFS_INO_TO_AGINO(mp, + INT_GET(dep->inumber, ARCH_CONVERT))); if (irec == NULL) { nbad++; - do_warn("entry \"%s\" in directory inode %llu points " - "to non-existent inode, ", + do_warn(_("entry \"%s\" in directory inode %llu points " + "to non-existent inode, "), fname, ip->i_ino); if (!no_modify) { dep->name[0] = '/'; libxfs_dir2_data_log_entry(tp, bp, dep); - do_warn("marking entry to be junked\n"); + do_warn(_("marking entry to be junked\n")); } else { - do_warn("would junk entry\n"); + do_warn(_("would junk entry\n")); } continue; } - ino_offset = - XFS_INO_TO_AGINO(mp, INT_GET(dep->inumber, ARCH_CONVERT)) - irec->ino_startnum; + ino_offset = XFS_INO_TO_AGINO(mp, + INT_GET(dep->inumber, ARCH_CONVERT)) - + irec->ino_startnum; /* * if it's a free inode, blow out the entry. * by now, any inode that we think is free @@ -1983,22 +2002,25 @@ longform_dir2_entry_check_data( * and now-free lost+found inode */ if (verbose || no_modify || - INT_GET(dep->inumber, ARCH_CONVERT) != old_orphanage_ino) - do_warn("entry \"%s\" in directory inode %llu " - "points to free inode %llu", - fname, ip->i_ino, INT_GET(dep->inumber, ARCH_CONVERT)); + INT_GET(dep->inumber, ARCH_CONVERT) != + old_orphanage_ino) + do_warn( + _("entry \"%s\" in directory inode %llu points to free inode %llu"), + fname, ip->i_ino, + INT_GET(dep->inumber, ARCH_CONVERT)); nbad++; if (!no_modify) { if (verbose || - INT_GET(dep->inumber, ARCH_CONVERT) != old_orphanage_ino) - do_warn(", marking entry to be " - "junked\n"); + INT_GET(dep->inumber, ARCH_CONVERT) != + old_orphanage_ino) + do_warn( + _(", marking entry to be junked\n")); else do_warn("\n"); dep->name[0] = '/'; libxfs_dir2_data_log_entry(tp, bp, dep); } else { - do_warn(", would junk entry\n"); + do_warn(_(", would junk entry\n")); } continue; } @@ -2021,21 +2043,24 @@ longform_dir2_entry_check_data( */ if (is_inode_reached(irec, ino_offset)) { junkit = 1; - do_warn("entry \"%s\" in dir %llu points to an already " - "connected directory inode %llu,\n", fname, - ip->i_ino, INT_GET(dep->inumber, ARCH_CONVERT)); + do_warn( +_("entry \"%s\" in dir %llu points to an already connected directory inode %llu,\n"), + fname, ip->i_ino, + INT_GET(dep->inumber, ARCH_CONVERT)); } else if (parent == ip->i_ino) { add_inode_reached(irec, ino_offset); add_inode_ref(current_irec, current_ino_offset); - if (!is_inode_refchecked(INT_GET(dep->inumber, ARCH_CONVERT), irec, + if (!is_inode_refchecked( + INT_GET(dep->inumber, ARCH_CONVERT), irec, ino_offset)) - push_dir(stack, INT_GET(dep->inumber, ARCH_CONVERT)); + push_dir(stack, + INT_GET(dep->inumber, ARCH_CONVERT)); } else { junkit = 1; - do_warn("entry \"%s\" in directory inode %llu not " - "consistent with .. value (%llu) in ino " - "%llu,\n", - fname, ip->i_ino, parent, INT_GET(dep->inumber, ARCH_CONVERT)); + do_warn( +_("entry \"%s\" in dir inode %llu inconsistent with .. value (%llu) in ino %llu,\n"), + fname, ip->i_ino, parent, + INT_GET(dep->inumber, ARCH_CONVERT)); } if (junkit) { junkit = 0; @@ -2044,11 +2069,14 @@ longform_dir2_entry_check_data( dep->name[0] = '/'; libxfs_dir2_data_log_entry(tp, bp, dep); if (verbose || - INT_GET(dep->inumber, ARCH_CONVERT) != old_orphanage_ino) - do_warn("\twill clear entry \"%s\"\n", + INT_GET(dep->inumber, ARCH_CONVERT) != + old_orphanage_ino) + do_warn( + _("\twill clear entry \"%s\"\n"), fname); } else { - do_warn("\twould clear entry \"%s\"\n", fname); + do_warn(_("\twould clear entry \"%s\"\n"), + fname); } } } @@ -2084,24 +2112,31 @@ longform_dir2_check_leaf( da_bno = mp->m_dirleafblk; if (libxfs_da_read_bufr(NULL, ip, da_bno, -1, &bp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode %llu\n", + do_error(_("can't read block %u for directory inode %llu\n"), da_bno, ip->i_ino); /* NOTREACHED */ } leaf = bp->data; ltp = XFS_DIR2_LEAF_TAIL_P(mp, leaf); bestsp = XFS_DIR2_LEAF_BESTS_P_ARCH(ltp, ARCH_CONVERT); - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR2_LEAF1_MAGIC || - INT_GET(leaf->hdr.info.forw, ARCH_CONVERT) || INT_GET(leaf->hdr.info.back, ARCH_CONVERT) || - INT_GET(leaf->hdr.count, ARCH_CONVERT) < INT_GET(leaf->hdr.stale, ARCH_CONVERT) || - INT_GET(leaf->hdr.count, ARCH_CONVERT) > XFS_DIR2_MAX_LEAF_ENTS(mp) || - (char *)&leaf->ents[INT_GET(leaf->hdr.count, ARCH_CONVERT)] > (char *)bestsp) { - do_warn("leaf block %u for directory inode %llu bad header\n", + if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != + XFS_DIR2_LEAF1_MAGIC || + INT_GET(leaf->hdr.info.forw, ARCH_CONVERT) || + INT_GET(leaf->hdr.info.back, ARCH_CONVERT) || + INT_GET(leaf->hdr.count, ARCH_CONVERT) < + INT_GET(leaf->hdr.stale, ARCH_CONVERT) || + INT_GET(leaf->hdr.count, ARCH_CONVERT) > + XFS_DIR2_MAX_LEAF_ENTS(mp) || + (char *)&leaf->ents[INT_GET(leaf->hdr.count, ARCH_CONVERT)] > + (char *)bestsp) { + do_warn( + _("leaf block %u for directory inode %llu bad header\n"), da_bno, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; } - seeval = dir_hash_see_all(hashtab, leaf->ents, INT_GET(leaf->hdr.count, ARCH_CONVERT), + seeval = dir_hash_see_all(hashtab, leaf->ents, + INT_GET(leaf->hdr.count, ARCH_CONVERT), INT_GET(leaf->hdr.stale, ARCH_CONVERT)); if (dir_hash_check(hashtab, ip, seeval)) { libxfs_da_brelse(NULL, bp); @@ -2113,7 +2148,7 @@ longform_dir2_check_leaf( badtail = freetab->ents[i].v != INT_GET(bestsp[i], ARCH_CONVERT); } if (badtail) { - do_warn("leaf block %u for directory inode %llu bad tail\n", + do_warn(_("leaf block %u for directory inode %llu bad tail\n"), da_bno, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; @@ -2151,27 +2186,32 @@ longform_dir2_check_node( break; if (libxfs_da_read_bufr(NULL, ip, da_bno, -1, &bp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode " - "%llu\n", + do_error( + _("can't read block %u for directory inode %llu\n"), da_bno, ip->i_ino); /* NOTREACHED */ } leaf = bp->data; - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != XFS_DIR2_LEAFN_MAGIC) { - if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DA_NODE_MAGIC) { + if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) != + XFS_DIR2_LEAFN_MAGIC) { + if (INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == + XFS_DA_NODE_MAGIC) { libxfs_da_brelse(NULL, bp); continue; } - do_warn("unknown magic number %#x for block %u in " - "directory inode %llu\n", - INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), da_bno, ip->i_ino); + do_warn(_("unknown magic number %#x for block %u in " + "directory inode %llu\n"), + INT_GET(leaf->hdr.info.magic, ARCH_CONVERT), + da_bno, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; } - if (INT_GET(leaf->hdr.count, ARCH_CONVERT) < INT_GET(leaf->hdr.stale, ARCH_CONVERT) || - INT_GET(leaf->hdr.count, ARCH_CONVERT) > XFS_DIR2_MAX_LEAF_ENTS(mp)) { - do_warn("leaf block %u for directory inode %llu bad " - "header\n", + if (INT_GET(leaf->hdr.count, ARCH_CONVERT) < + INT_GET(leaf->hdr.stale, ARCH_CONVERT) || + INT_GET(leaf->hdr.count, ARCH_CONVERT) > + XFS_DIR2_MAX_LEAF_ENTS(mp)) { + do_warn(_("leaf block %u for directory inode %llu bad " + "header\n"), da_bno, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; @@ -2192,30 +2232,34 @@ longform_dir2_check_node( break; if (libxfs_da_read_bufr(NULL, ip, da_bno, -1, &bp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode " - "%llu\n", + do_error(_("can't read block %u for directory inode " + "%llu\n"), da_bno, ip->i_ino); /* NOTREACHED */ } free = bp->data; fdb = XFS_DIR2_DA_TO_DB(mp, da_bno); - if (INT_GET(free->hdr.magic, ARCH_CONVERT) != XFS_DIR2_FREE_MAGIC || + if (INT_GET(free->hdr.magic, ARCH_CONVERT) != + XFS_DIR2_FREE_MAGIC || INT_GET(free->hdr.firstdb, ARCH_CONVERT) != - (fdb - XFS_DIR2_FREE_FIRSTDB(mp)) * - XFS_DIR2_MAX_FREE_BESTS(mp) || - INT_GET(free->hdr.nvalid, ARCH_CONVERT) < INT_GET(free->hdr.nused, ARCH_CONVERT)) { - do_warn("free block %u for directory inode %llu bad " - "header\n", + (fdb - XFS_DIR2_FREE_FIRSTDB(mp)) * + XFS_DIR2_MAX_FREE_BESTS(mp) || + INT_GET(free->hdr.nvalid, ARCH_CONVERT) < + INT_GET(free->hdr.nused, ARCH_CONVERT)) { + do_warn(_("free block %u for directory inode %llu bad " + "header\n"), da_bno, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; } for (i = used = 0; i < INT_GET(free->hdr.nvalid, ARCH_CONVERT); i++) { - if (i + INT_GET(free->hdr.firstdb, ARCH_CONVERT) >= freetab->nents || - freetab->ents[i + INT_GET(free->hdr.firstdb, ARCH_CONVERT)].v != + if (i + INT_GET(free->hdr.firstdb, ARCH_CONVERT) >= + freetab->nents || + freetab->ents[i + INT_GET(free->hdr.firstdb, + ARCH_CONVERT)].v != INT_GET(free->bests[i], ARCH_CONVERT)) { - do_warn("free block %u entry %i for directory " - "ino %llu bad\n", + do_warn( + _("free block %u entry %i for directory ino %llu bad\n"), da_bno, i, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; @@ -2224,8 +2268,8 @@ longform_dir2_check_node( freetab->ents[i + INT_GET(free->hdr.firstdb, ARCH_CONVERT)].s = 1; } if (used != INT_GET(free->hdr.nused, ARCH_CONVERT)) { - do_warn("free block %u for directory inode %llu bad " - "nused\n", + do_warn(_("free block %u for directory inode %llu bad " + "nused\n"), da_bno, ip->i_ino); libxfs_da_brelse(NULL, bp); return 1; @@ -2234,8 +2278,8 @@ longform_dir2_check_node( } for (i = 0; i < freetab->nents; i++) { if (freetab->ents[i].s == 0) { - do_warn("missing freetab entry %u for directory inode " - "%llu\n", + do_warn(_("missing freetab entry %u for " + "directory inode %llu\n"), i, ip->i_ino); return 1; } @@ -2286,7 +2330,7 @@ longform_dir2_rebuild_setup( XFS_BMAP_INIT(&flist, &firstblock); if (libxfs_da_read_buf(tp, ip, mp->m_dirdatablk, -2, &dbp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode %llu\n", + do_error(_("can't read block %u for directory inode %llu\n"), mp->m_dirdatablk, ino); /* NOTREACHED */ } @@ -2329,7 +2373,7 @@ longform_dir2_rebuild_setup( args.total = nres; if ((error = libxfs_da_grow_inode(&args, &lblkno)) || (error = libxfs_da_get_buf(tp, ip, lblkno, -1, &lbp, XFS_DATA_FORK))) { - do_error("can't add btree block to directory inode %llu\n", + do_error(_("can't add btree block to directory inode %llu\n"), ino); /* NOTREACHED */ } @@ -2362,8 +2406,8 @@ longform_dir2_rebuild_setup( &fbno)) || (error = libxfs_da_get_buf(tp, ip, XFS_DIR2_DB_TO_DA(mp, fbno), -1, &fbp, XFS_DATA_FORK))) { - do_error("can't add free block to directory inode " - "%llu\n", + do_error(_("can't add free block to directory inode " + "%llu\n"), ino); /* NOTREACHED */ } @@ -2418,7 +2462,7 @@ longform_dir2_rebuild_data( if (libxfs_da_read_buf(NULL, ip, da_bno, da_bno == 0 ? -2 : -1, &bp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode %llu\n", + do_error(_("can't read block %u for directory inode %llu\n"), da_bno, ino); /* NOTREACHED */ } @@ -2432,14 +2476,14 @@ longform_dir2_rebuild_data( fdb = XFS_DIR2_DB_TO_FDB(mp, dbno); if (libxfs_da_read_buf(NULL, ip, XFS_DIR2_DB_TO_DA(mp, fdb), -1, &fbp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode %llu\n", + do_error(_("can't read block %u for directory inode %llu\n"), XFS_DIR2_DB_TO_DA(mp, fdb), ino); /* NOTREACHED */ } data = malloc(mp->m_dirblksize); if (!data) { do_error( - "malloc failed in longform_dir2_rebuild_data (%u bytes)\n", + _("malloc failed in longform_dir2_rebuild_data (%u bytes)\n"), mp->m_dirblksize); exit(1); } @@ -2583,7 +2627,7 @@ longform_dir2_rebuild( xfs_dablk_t da_bno; xfs_fileoff_t next_da_bno; - do_warn("rebuilding directory inode %llu\n", ino); + do_warn(_("rebuilding directory inode %llu\n"), ino); /* kill leaf blocks */ for (da_bno = mp->m_dirleafblk, next_da_bno = isblock ? NULLFILEOFF : 0; @@ -2593,8 +2637,8 @@ longform_dir2_rebuild( if (libxfs_bmap_next_offset(NULL, ip, &next_da_bno, XFS_DATA_FORK)) break; if (libxfs_da_get_buf(NULL, ip, da_bno, -1, &bp, XFS_DATA_FORK)) { - do_error("can't get block %u for directory inode " - "%llu\n", + do_error(_("can't get block %u for directory inode " + "%llu\n"), da_bno, ino); /* NOTREACHED */ } @@ -2653,7 +2697,7 @@ longform_dir2_entry_check(xfs_mount_t *mp, freetab = malloc(FREETAB_SIZE(ip->i_d.di_size / mp->m_dirblksize)); if (!freetab) { do_error( - "malloc failed in longform_dir2_entry_check (%u bytes)\n", + _("malloc failed in longform_dir2_entry_check (%u bytes)\n"), FREETAB_SIZE(ip->i_d.di_size / mp->m_dirblksize)); exit(1); } @@ -2677,8 +2721,8 @@ longform_dir2_entry_check(xfs_mount_t *mp, break; if (libxfs_da_read_bufr(NULL, ip, da_bno, -1, &bp, XFS_DATA_FORK)) { - do_error("can't read block %u for directory inode " - "%llu\n", + do_error(_("can't read block %u for directory inode " + "%llu\n"), da_bno, ino); /* NOTREACHED */ } @@ -2765,7 +2809,8 @@ shortform_dir_entry_check(xfs_mount_t *mp, sf_entry = next_sfe = &sf->list[0]; if (sf == NULL) { junkit = 1; - do_warn("shortform dir inode %llu has null data entries \n", ino); + do_warn(_("shortform dir inode %llu has null data entries \n"), + ino); } else { @@ -2850,9 +2895,9 @@ shortform_dir_entry_check(xfs_mount_t *mp, if (irec == NULL && no_modify) { do_warn( -"entry \"%s\" in shortform dir %llu references non-existent ino %llu\n", +_("entry \"%s\" in shortform dir %llu references non-existent ino %llu\n"), fname, ino, lino); - do_warn("would junk entry\n"); + do_warn(_("would junk entry\n")); continue; } @@ -2872,13 +2917,13 @@ shortform_dir_entry_check(xfs_mount_t *mp, */ if (verbose || no_modify || lino != old_orphanage_ino) do_warn( - "entry \"%s\" in shortform dir inode %llu points to free inode %llu\n", +_("entry \"%s\" in shortform dir inode %llu points to free inode %llu\n"), fname, ino, lino); if (!no_modify) { junkit = 1; } else { - do_warn("would junk entry \"%s\"\n", + do_warn(_("would junk entry \"%s\"\n"), fname); } } else if (!inode_isadir(irec, ino_offset)) { @@ -2903,7 +2948,7 @@ shortform_dir_entry_check(xfs_mount_t *mp, if (is_inode_reached(irec, ino_offset)) { junkit = 1; do_warn( - "entry \"%s\" in dir %llu references already connected dir ino %llu,\n", +_("entry \"%s\" in dir %llu references already connected dir ino %llu,\n"), fname, ino, lino); } else if (parent == ino) { add_inode_reached(irec, ino_offset); @@ -2915,7 +2960,7 @@ shortform_dir_entry_check(xfs_mount_t *mp, } else { junkit = 1; do_warn( -"entry \"%s\" in dir %llu not consistent with .. value (%llu) in dir ino %llu,\n", +_("entry \"%s\" in dir %llu not consistent with .. value (%llu) in dir ino %llu,\n"), fname, ino, parent, lino); } } @@ -2954,10 +2999,10 @@ shortform_dir_entry_check(xfs_mount_t *mp, if (verbose || lino != old_orphanage_ino) do_warn( - "junking entry \"%s\" in directory inode %llu\n", + _("junking entry \"%s\" in directory inode %llu\n"), fname, lino); } else { - do_warn("would junk entry \"%s\"\n", fname); + do_warn(_("would junk entry \"%s\"\n"), fname); } } @@ -2996,7 +3041,7 @@ shortform_dir_entry_check(xfs_mount_t *mp, ip->i_d.di_size = (xfs_fsize_t) ((__psint_t) next_sfe - (__psint_t) sf); do_warn( - "setting size to %lld bytes to reflect junked entries\n", + _("setting size to %lld bytes to reflect junked entries\n"), ip->i_d.di_size); *ino_dirty = 1; } @@ -3091,7 +3136,7 @@ prune_sf_dir_entry(xfs_mount_t *mp, xfs_ino_t ino, xfs_inode_t *ip) ip->i_d.di_size = (xfs_fsize_t) ((__psint_t) next_sfe - (__psint_t) sf); do_warn( - "setting size to %lld bytes to reflect junked entries\n", + _("setting size to %lld bytes to reflect junked entries\n"), ip->i_d.di_size); } } @@ -3247,10 +3292,10 @@ shortform_dir2_entry_check(xfs_mount_t *mp, XFS_INO_TO_AGINO(mp, lino)); if (irec == NULL && no_modify) { - do_warn("entry \"%s\" in shortform directory %llu " - "references non-existent inode %llu\n", + do_warn(_("entry \"%s\" in shortform directory %llu " + "references non-existent inode %llu\n"), fname, ino, lino); - do_warn("would junk entry\n"); + do_warn(_("would junk entry\n")); continue; } @@ -3269,15 +3314,15 @@ shortform_dir2_entry_check(xfs_mount_t *mp, * and now-free lost+found inode */ if (verbose || no_modify || lino != old_orphanage_ino) - do_warn("entry \"%s\" in shortform directory " - "inode %llu points to free inode " - "%llu\n", + do_warn(_("entry \"%s\" in shortform directory " + "inode %llu points to free inode " + "%llu\n"), fname, ino, lino); if (!no_modify) { junkit = 1; } else { - do_warn("would junk entry \"%s\"\n", + do_warn(_("would junk entry \"%s\"\n"), fname); } } else if (!inode_isadir(irec, ino_offset)) { @@ -3296,9 +3341,9 @@ shortform_dir2_entry_check(xfs_mount_t *mp, */ if (is_inode_reached(irec, ino_offset)) { junkit = 1; - do_warn("entry \"%s\" in directory inode %llu " - "references already connected inode " - "%llu,\n", + do_warn(_("entry \"%s\" in directory inode %llu" + " references already connected inode " + "%llu,\n"), fname, ino, lino); } else if (parent == ino) { add_inode_reached(irec, ino_offset); @@ -3309,9 +3354,9 @@ shortform_dir2_entry_check(xfs_mount_t *mp, push_dir(stack, lino); } else { junkit = 1; - do_warn("entry \"%s\" in directory inode %llu " - "not consistent with .. value (%llu) " - "in inode %llu,\n", + do_warn(_("entry \"%s\" in directory inode %llu" + " not consistent with .. value (%llu)" + " in inode %llu,\n"), fname, ino, parent, lino); } } @@ -3349,11 +3394,11 @@ shortform_dir2_entry_check(xfs_mount_t *mp, *ino_dirty = 1; if (verbose || lino != old_orphanage_ino) - do_warn("junking entry \"%s\" in " - "directory inode %llu\n", + do_warn(_("junking entry \"%s\" in " + "directory inode %llu\n"), fname, lino); } else { - do_warn("would junk entry \"%s\"\n", fname); + do_warn(_("would junk entry \"%s\"\n"), fname); } } else if (lino > XFS_DIR2_MAX_SHORT_INUM) i8++; @@ -3377,7 +3422,7 @@ shortform_dir2_entry_check(xfs_mount_t *mp, if (sfp->hdr.i8count != i8) { if (no_modify) { - do_warn("would fix i8count in inode %llu\n", ino); + do_warn(_("would fix i8count in inode %llu\n"), ino); } else { if (i8 == 0) { tmp_sfep = next_sfep; @@ -3389,7 +3434,7 @@ shortform_dir2_entry_check(xfs_mount_t *mp, } else sfp->hdr.i8count = i8; *ino_dirty = 1; - do_warn("fixing i8count in inode %llu\n", ino); + do_warn(_("fixing i8count in inode %llu\n"), ino); } } @@ -3408,8 +3453,8 @@ shortform_dir2_entry_check(xfs_mount_t *mp, ((__psint_t) next_sfep - (__psint_t) sfp)); ip->i_d.di_size = (xfs_fsize_t) ((__psint_t) next_sfep - (__psint_t) sfp); - do_warn("setting size to %lld bytes to reflect junked " - "entries\n", + do_warn(_("setting size to %lld bytes to reflect junked " + "entries\n"), ip->i_d.di_size); *ino_dirty = 1; } @@ -3451,10 +3496,12 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) if ((error = libxfs_iget(mp, NULL, ino, 0, &ip, 0))) { if (!no_modify) - do_error("couldn't map inode %llu, err = %d\n", + do_error( + _("couldn't map inode %llu, err = %d\n"), ino, error); else { - do_warn("couldn't map inode %llu, err = %d\n", + do_warn( + _("couldn't map inode %llu, err = %d\n"), ino, error); /* * see below for what we're doing if this @@ -3576,7 +3623,7 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) if (!no_modify && !orphanage_entered && ino == mp->m_sb.sb_rootino) { - do_warn("re-entering %s into root directory\n", + do_warn(_("re-entering %s into root directory\n"), ORPHANAGE); tp = libxfs_trans_alloc(mp, 0); nres = XFS_MKDIR_SPACE_RES(mp, strlen(ORPHANAGE)); @@ -3593,8 +3640,8 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) strlen(ORPHANAGE), orphanage_ino, &first, &flist, nres))) - do_error("can't make %s entry in root inode " - "%llu, createname error %d\n", + do_error(_("can't make %s entry in root inode " + "%llu, createname error %d\n"), ORPHANAGE, ino, error); libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); error = libxfs_bmap_finish(&tp, &flist, first, &committed); @@ -3618,7 +3665,7 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) ino == mp->m_sb.sb_rootino) { ASSERT(ip->i_d.di_format != XFS_DINODE_FMT_LOCAL); - do_warn("recreating root directory .. entry\n"); + do_warn(_("recreating root directory .. entry\n")); tp = libxfs_trans_alloc(mp, 0); ASSERT(tp != NULL); @@ -3641,7 +3688,7 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) if ((error = dir_createname(mp, tp, ip, "..", 2, ip->i_ino, &first, &flist, nres))) do_error( -"can't make \"..\" entry in root inode %llu, createname error %d\n", +_("can't make \"..\" entry in root inode %llu, createname error %d\n"), ino, error); libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); @@ -3654,7 +3701,7 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) need_root_dotdot = 0; } else if (need_root_dotdot && ino == mp->m_sb.sb_rootino) { - do_warn("would recreate root directory .. entry\n"); + do_warn(_("would recreate root directory .. entry\n")); } /* @@ -3733,14 +3780,14 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) if (no_modify) { do_warn( - "would create missing \".\" entry in dir ino %llu\n", + _("would create missing \".\" entry in dir ino %llu\n"), ino); } else if (ip->i_d.di_format != XFS_DINODE_FMT_LOCAL) { /* * need to create . entry in longform dir. */ do_warn( - "creating missing \".\" entry in dir ino %llu\n", + _("creating missing \".\" entry in dir ino %llu\n"), ino); tp = libxfs_trans_alloc(mp, 0); @@ -3765,7 +3812,7 @@ process_dirstack(xfs_mount_t *mp, dir_stack_t *stack) 1, ip->i_ino, &first, &flist, nres))) do_error( - "can't make \".\" entry in dir ino %llu, createname error %d\n", + _("can't make \".\" entry in dir ino %llu, createname error %d\n"), ino, error); libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); @@ -3845,7 +3892,7 @@ phase6(xfs_mount_t *mp) bzero(&zerocr, sizeof(cred_t)); - do_log("Phase 6 - check inode connectivity...\n"); + do_log(_("Phase 6 - check inode connectivity...\n")); if (!no_modify) teardown_bmap_finish(mp); @@ -3864,46 +3911,46 @@ phase6(xfs_mount_t *mp) */ if (need_root_inode) { if (!no_modify) { - do_warn("reinitializing root directory\n"); + do_warn(_("reinitializing root directory\n")); mk_root_dir(mp); need_root_inode = 0; need_root_dotdot = 0; } else { - do_warn("would reinitialize root directory\n"); + do_warn(_("would reinitialize root directory\n")); } } if (need_rbmino) { if (!no_modify) { - do_warn("reinitializing realtime bitmap inode\n"); + do_warn(_("reinitializing realtime bitmap inode\n")); mk_rbmino(mp); need_rbmino = 0; } else { - do_warn("would reinitialize realtime bitmap inode\n"); + do_warn(_("would reinitialize realtime bitmap inode\n")); } } if (need_rsumino) { if (!no_modify) { - do_warn("reinitializing realtime summary inode\n"); + do_warn(_("reinitializing realtime summary inode\n")); mk_rsumino(mp); need_rsumino = 0; } else { - do_warn("would reinitialize realtime summary inode\n"); + do_warn(_("would reinitialize realtime summary inode\n")); } } if (!no_modify) { do_log( - " - resetting contents of realtime bitmap and summary inodes\n"); +_(" - resetting contents of realtime bitmap and summary inodes\n")); if (fill_rbmino(mp)) { do_warn( - "Warning: realtime bitmap may be inconsistent\n"); + _("Warning: realtime bitmap may be inconsistent\n")); } if (fill_rsumino(mp)) { do_warn( - "Warning: realtime bitmap may be inconsistent\n"); + _("Warning: realtime bitmap may be inconsistent\n")); } } @@ -3911,7 +3958,7 @@ phase6(xfs_mount_t *mp) * make orphanage (it's guaranteed to not exist now) */ if (!no_modify) { - do_log(" - ensuring existence of %s directory\n", + do_log(_(" - ensuring existence of %s directory\n"), ORPHANAGE); orphanage_ino = mk_orphanage(mp); } @@ -3924,22 +3971,22 @@ phase6(xfs_mount_t *mp) * push root dir on stack, then go */ if (!need_root_inode) { - do_log(" - traversing filesystem starting at / ... \n"); + do_log(_(" - traversing filesystem starting at / ... \n")); push_dir(&stack, mp->m_sb.sb_rootino); process_dirstack(mp, &stack); - do_log(" - traversal finished ... \n"); + do_log(_(" - traversal finished ... \n")); } else { ASSERT(no_modify != 0); do_log( -" - root inode lost, cannot make new one in no modify mode ... \n"); +_(" - root inode lost, cannot make new one in no modify mode ... \n")); do_log( -" - skipping filesystem traversal from / ... \n"); +_(" - skipping filesystem traversal from / ... \n")); } - do_log(" - traversing all unattached subtrees ... \n"); + do_log(_(" - traversing all unattached subtrees ... \n")); irec = find_inode_rec(XFS_INO_TO_AGNO(mp, mp->m_sb.sb_rootino), XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rootino)); @@ -3990,8 +4037,8 @@ phase6(xfs_mount_t *mp) } } - do_log(" - traversals finished ... \n"); - do_log(" - moving disconnected inodes to lost+found ... \n"); + do_log(_(" - traversals finished ... \n")); + do_log(_(" - moving disconnected inodes to lost+found ... \n")); /* * move all disconnected inodes to the orphanage @@ -4015,20 +4062,20 @@ phase6(xfs_mount_t *mp) j + irec->ino_startnum); if (inode_isadir(irec, j)) do_warn( - "disconnected dir inode %llu, ", + _("disconnected dir inode %llu, "), ino); else do_warn( - "disconnected inode %llu, ", + _("disconnected inode %llu, "), ino); if (!no_modify) { - do_warn("moving to %s\n", + do_warn(_("moving to %s\n"), ORPHANAGE); mv_orphanage(mp, orphanage_ino, ino, inode_isadir(irec, j)); } else { - do_warn("would move to %s\n", + do_warn(_("would move to %s\n"), ORPHANAGE); } /* diff --git a/repair/phase7.c b/repair/phase7.c index 261a9271c..085a85c32 100644 --- a/repair/phase7.c +++ b/repair/phase7.c @@ -50,13 +50,15 @@ set_nlinks(xfs_dinode_core_t *dinoc, if (!no_modify) { if (INT_GET(dinoc->di_nlink, ARCH_NOCONVERT) != nrefs) { *dirty = 1; - do_warn("resetting inode %llu nlinks from %d to %d\n", - ino, INT_GET(dinoc->di_nlink, ARCH_NOCONVERT), nrefs); + do_warn( + _("resetting inode %llu nlinks from %d to %d\n"), + ino, INT_GET(dinoc->di_nlink, ARCH_NOCONVERT), + nrefs); if (nrefs > XFS_MAXLINK_1) { ASSERT(fs_inode_nlink); do_warn( -"nlinks %d will overflow v1 ino, ino %llu will be converted to version 2\n", +_("nlinks %d will overflow v1 ino, ino %llu will be converted to version 2\n"), nrefs, ino); } @@ -65,8 +67,9 @@ set_nlinks(xfs_dinode_core_t *dinoc, } else { if (INT_GET(dinoc->di_nlink, ARCH_NOCONVERT) != nrefs) do_warn( - "would have reset inode %llu nlinks from %d to %d\n", - ino, INT_GET(dinoc->di_nlink, ARCH_NOCONVERT), nrefs); + _("would have reset inode %llu nlinks from %d to %d\n"), + ino, INT_GET(dinoc->di_nlink, ARCH_NOCONVERT), + nrefs); } } @@ -84,15 +87,15 @@ phase7(xfs_mount_t *mp) __uint32_t nrefs; if (!no_modify) - printf("Phase 7 - verify and correct link counts...\n"); + do_log(_("Phase 7 - verify and correct link counts...\n")); else - printf("Phase 7 - verify link counts...\n"); + do_log(_("Phase 7 - verify link counts...\n")); tp = libxfs_trans_alloc(mp, XFS_TRANS_REMOVE); error = libxfs_trans_reserve(tp, (no_modify ? 0 : 10), - XFS_REMOVE_LOG_RES(mp), 0, XFS_TRANS_PERM_LOG_RES, - XFS_REMOVE_LOG_COUNT); + XFS_REMOVE_LOG_RES(mp), 0, XFS_TRANS_PERM_LOG_RES, + XFS_REMOVE_LOG_COUNT); ASSERT(error == 0); @@ -126,11 +129,11 @@ phase7(xfs_mount_t *mp) if (error) { if (!no_modify) do_error( - "couldn't map inode %llu, err = %d\n", + _("couldn't map inode %llu, err = %d\n"), ino, error); else { do_warn( - "couldn't map inode %llu, err = %d, can't compare link counts\n", + _("couldn't map inode %llu, err = %d, can't compare link counts\n"), ino, error); continue; } diff --git a/repair/rt.c b/repair/rt.c index 83c8d20ad..719132752 100644 --- a/repair/rt.c +++ b/repair/rt.c @@ -58,11 +58,11 @@ rtinit(xfs_mount_t *mp) if ((btmcompute = calloc(mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize, 1)) == NULL) do_error( - "couldn't allocate memory for incore realtime bitmap.\n"); + _("couldn't allocate memory for incore realtime bitmap.\n")); if ((sumcompute = calloc(mp->m_rsumsize, 1)) == NULL) do_error( - "couldn't allocate memory for incore realtime summary info.\n"); + _("couldn't allocate memory for incore realtime summary info.\n")); } /* @@ -162,7 +162,7 @@ check_summary(xfs_mount_t *mp) bno++, csp++, fsp++) { if (*csp != *fsp) { do_warn( - "rt summary mismatch, size %d block %llu, file: %d, computed: %d\n", + _("rt summary mismatch, size %d block %llu, file: %d, computed: %d\n"), log, bno, *fsp, *csp); error = 1; } @@ -213,7 +213,7 @@ process_rtbitmap(xfs_mount_t *mp, bno = blkmap_get(blkmap, bmbno); if (bno == NULLDFSBNO) { - do_warn("can't find block %d for rtbitmap inode\n", + do_warn(_("can't find block %d for rtbitmap inode\n"), bmbno); error = 1; continue; @@ -221,7 +221,7 @@ process_rtbitmap(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, bno), XFS_FSB_TO_BB(mp, 1)); if (!bp) { - do_warn("can't read block %d for rtbitmap inode\n", + do_warn(_("can't read block %d for rtbitmap inode\n"), bmbno); error = 1; continue; @@ -275,7 +275,7 @@ process_rtsummary(xfs_mount_t *mp, for (sumbno = 0; sumbno < blkmap->count; sumbno++) { bno = blkmap_get(blkmap, sumbno); if (bno == NULLDFSBNO) { - do_warn("block %d for rtsummary inode is missing\n", + do_warn(_("block %d for rtsummary inode is missing\n"), sumbno); error++; continue; @@ -283,7 +283,7 @@ process_rtsummary(xfs_mount_t *mp, bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, bno), XFS_FSB_TO_BB(mp, 1)); if (!bp) { - do_warn("can't read block %d for rtsummary inode\n", + do_warn(_("can't read block %d for rtsummary inode\n"), sumbno); error++; continue; diff --git a/repair/sb.c b/repair/sb.c index aed6042f8..a2b4ecabb 100644 --- a/repair/sb.c +++ b/repair/sb.c @@ -108,12 +108,12 @@ find_secondary_sb(xfs_sb_t *rsb) int retval; int bsize; - do_warn("\nattempting to find secondary superblock...\n"); + do_warn(_("\nattempting to find secondary superblock...\n")); sb = (xfs_sb_t *) memalign(MEM_ALIGN, BSIZE); if (!sb) { do_error( - "error finding secondary superblock -- failed to memalign buffer\n"); + _("error finding secondary superblock -- failed to memalign buffer\n")); exit(1); } @@ -151,7 +151,7 @@ find_secondary_sb(xfs_sb_t *rsb) if (verify_sb(&bufsb, 0) != XR_OK) continue; - do_warn("found candidate secondary superblock...\n"); + do_warn(_("found candidate secondary superblock...\n")); /* * found one. now verify it by looking @@ -162,12 +162,13 @@ find_secondary_sb(xfs_sb_t *rsb) clear_sunit = 1; if (verify_set_primary_sb(rsb, 0, &dirty) == XR_OK) { - do_warn("verified secondary superblock...\n"); + do_warn( + _("verified secondary superblock...\n")); done = 1; retval = 1; } else { do_warn( - "unable to verify superblock, continuing...\n"); + _("unable to verify superblock, continuing...\n")); } } } @@ -429,20 +430,20 @@ write_primary_sb(xfs_sb_t *sbp, int size) return; if ((buf = calloc(size, 1)) == NULL) { - do_error("failed to malloc superblock buffer\n"); + do_error(_("failed to malloc superblock buffer\n")); return; } if (lseek64(fs_fd, 0LL, SEEK_SET) != 0LL) { free(buf); - do_error("couldn't seek to offset 0 in filesystem\n"); + do_error(_("couldn't seek to offset 0 in filesystem\n")); } libxfs_xlate_sb(buf, sbp, -1, ARCH_CONVERT, XFS_SB_ALL_BITS); if (write(fs_fd, buf, size) != size) { free(buf); - do_error("primary superblock write failed!\n"); + do_error(_("primary superblock write failed!\n")); } free(buf); @@ -459,7 +460,7 @@ get_sb(xfs_sb_t *sbp, xfs_off_t off, int size, xfs_agnumber_t agno) if ((buf = calloc(size, 1)) == NULL) { do_error( - "error reading superblock %u -- failed to malloc buffer\n", + _("error reading superblock %u -- failed to malloc buffer\n"), agno, off); exit(1); } @@ -468,7 +469,7 @@ get_sb(xfs_sb_t *sbp, xfs_off_t off, int size, xfs_agnumber_t agno) if (lseek64(fs_fd, off, SEEK_SET) != off) { do_warn( - "error reading superblock %u -- seek to offset %lld failed\n", + _("error reading superblock %u -- seek to offset %lld failed\n"), agno, off); return(XR_EOF); } @@ -476,7 +477,7 @@ get_sb(xfs_sb_t *sbp, xfs_off_t off, int size, xfs_agnumber_t agno) if ((rval = read(fs_fd, buf, size)) != size) { error = errno; do_warn( -"superblock read failed, offset %lld, size %d, ag %u, rval %d\n", + _("superblock read failed, offset %lld, size %d, ag %u, rval %d\n"), off, size, rval, agno); do_error("%s\n", strerror(error)); } @@ -549,7 +550,7 @@ add_geo(fs_geo_list_t *list, fs_geometry_t *geo_p, int index) } if ((current = malloc(sizeof(fs_geo_list_t))) == NULL) { - do_error("couldn't malloc geometry structure\n"); + do_error(_("couldn't malloc geometry structure\n")); exit(1); } @@ -666,7 +667,7 @@ verify_set_primary_sb(xfs_sb_t *rsb, int sb_index, int *sb_modified) { - xfs_off_t off; + xfs_off_t off; fs_geometry_t geo; xfs_sb_t *sb; fs_geo_list_t *list; @@ -694,7 +695,7 @@ verify_set_primary_sb(xfs_sb_t *rsb, sb = (xfs_sb_t *) alloc_ag_buf(size); checked = calloc(rsb->sb_agcount, sizeof(char)); if (!checked) { - do_error("calloc failed in verify_set_primary_sb\n"); + do_error(_("calloc failed in verify_set_primary_sb\n")); exit(1); } @@ -761,7 +762,8 @@ verify_set_primary_sb(xfs_sb_t *rsb, */ if (current->refs != 2) { if (!force_geo) { - do_warn("Only two AGs detected and they do not match - cannot proceed.\n"); + do_warn( + _("Only two AGs detected and they do not match - cannot proceed.\n")); exit(1); } } @@ -773,7 +775,7 @@ verify_set_primary_sb(xfs_sb_t *rsb, * option is in effect. */ if (!force_geo) { - do_warn("Only one AG detected - cannot proceed.\n"); + do_warn(_("Only one AG detected - cannot proceed.\n")); exit(1); } default: @@ -784,7 +786,8 @@ verify_set_primary_sb(xfs_sb_t *rsb, * XFS normally doesn't alter the secondary superblocks. */ if (current->refs < num_sbs / 2) { - do_warn("Not enough matching superblocks - cannot proceed.\n"); + do_warn( + _("Not enough matching superblocks - cannot proceed.\n")); exit(1); } } @@ -799,7 +802,7 @@ verify_set_primary_sb(xfs_sb_t *rsb, * current->geo.sb_blocksize; if (get_sb(sb, off, current->geo.sb_sectsize, current->index) != XR_OK) - do_error("could not read superblock\n"); + do_error(_("could not read superblock\n")); copy_sb(sb, rsb); diff --git a/repair/scan.c b/repair/scan.c index 875bb5aad..6fb757e40 100644 --- a/repair/scan.c +++ b/repair/scan.c @@ -78,7 +78,7 @@ scan_sbtree( bp = libxfs_readbuf(mp->m_dev, XFS_AGB_TO_DADDR(mp, agno, root), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_error("can't read btree block %d/%d\n", agno, root); + do_error(_("can't read btree block %d/%d\n"), agno, root); return; } (*func)((xfs_btree_sblock_t *)XFS_BUF_PTR(bp), @@ -123,7 +123,7 @@ scan_lbtree( bp = libxfs_readbuf(mp->m_dev, XFS_FSB_TO_DADDR(mp, root), XFS_FSB_TO_BB(mp, 1), 0); if (!bp) { - do_error("can't read btree block %d/%d\n", + do_error(_("can't read btree block %d/%d\n"), XFS_FSB_TO_AGNO(mp, root), XFS_FSB_TO_AGBNO(mp, root)); return(1); @@ -169,9 +169,9 @@ scanfunc_bmap( char *forkname; if (whichfork == XFS_DATA_FORK) - forkname = "data"; + forkname = _("data"); else - forkname = "attr"; + forkname = _("attr"); /* * unlike the ag freeblock btrees, if anything looks wrong @@ -182,14 +182,16 @@ scanfunc_bmap( */ if (INT_GET(block->bb_magic, ARCH_CONVERT) != XFS_BMAP_MAGIC) { do_warn( - "bad magic # %#x in inode %llu (%s fork) bmbt block %llu\n", - INT_GET(block->bb_magic, ARCH_CONVERT), ino, forkname, bno); + _("bad magic # %#x in inode %llu (%s fork) bmbt block %llu\n"), + INT_GET(block->bb_magic, ARCH_CONVERT), + ino, forkname, bno); return(1); } if (INT_GET(block->bb_level, ARCH_CONVERT) != level) { do_warn( - "expected level %d got %d in inode %llu, (%s fork) bmbt block %llu\n", - level, INT_GET(block->bb_level, ARCH_CONVERT), ino, forkname, bno); +_("expected level %d got %d in inode %llu, (%s fork) bmbt block %llu\n"), + level, INT_GET(block->bb_level, ARCH_CONVERT), + ino, forkname, bno); return(1); } @@ -207,23 +209,21 @@ scanfunc_bmap( */ if (bno != bm_cursor->level[level].right_fsbno) { do_warn( - "bad fwd (right) sibling pointer (saw %llu parent block says %llu)\n", +_("bad fwd (right) sibling pointer (saw %llu parent block says %llu)\n" + "\tin inode %llu (%s fork) bmap btree block %llu\n"), bm_cursor->level[level].right_fsbno, - bno); - do_warn( - "\tin inode %llu (%s fork) bmap btree block %llu\n", - ino, forkname, + bno, ino, forkname, bm_cursor->level[level].fsbno); return(1); } if (INT_GET(block->bb_leftsib, ARCH_CONVERT) != bm_cursor->level[level].fsbno) { do_warn( - "bad back (left) sibling pointer (saw %llu parent block says %llu)\n", - INT_GET(block->bb_leftsib, ARCH_CONVERT), - bm_cursor->level[level].fsbno); - do_warn( - "\tin inode %llu (%s fork) bmap btree block %llu\n", +_("bad back (left) sibling pointer (saw %llu parent block says %llu)\n" + "\tin inode %llu (%s fork) bmap btree block %llu\n"), + INT_GET(block->bb_leftsib, + ARCH_CONVERT), + bm_cursor->level[level].fsbno, ino, forkname, bno); return(1); } @@ -235,10 +235,10 @@ scanfunc_bmap( if (INT_GET(block->bb_leftsib, ARCH_CONVERT) != NULLDFSBNO) { do_warn( - "bad back (left) sibling pointer (saw %llu should be NULL (0))\n", - INT_GET(block->bb_leftsib, ARCH_CONVERT)); - do_warn( - "\tin inode %llu (%s fork) bmap btree block %llu\n", +_("bad back (left) sibling pointer (saw %llu should be NULL (0))\n" + "\tin inode %llu (%s fork) bmap btree block %llu\n"), + INT_GET(block->bb_leftsib, + ARCH_CONVERT), ino, forkname, bno); return(1); } @@ -248,8 +248,10 @@ scanfunc_bmap( * update cursor block pointers to reflect this block */ bm_cursor->level[level].fsbno = bno; - bm_cursor->level[level].left_fsbno = INT_GET(block->bb_leftsib, ARCH_CONVERT); - bm_cursor->level[level].right_fsbno = INT_GET(block->bb_rightsib, ARCH_CONVERT); + bm_cursor->level[level].left_fsbno = + INT_GET(block->bb_leftsib, ARCH_CONVERT); + bm_cursor->level[level].right_fsbno = + INT_GET(block->bb_rightsib, ARCH_CONVERT); switch (get_fsbno_state(mp, bno)) { case XR_E_UNKNOWN: @@ -269,7 +271,7 @@ scanfunc_bmap( */ set_fsbno_state(mp, bno, XR_E_MULT); do_warn( - "inode 0x%llx bmap block 0x%llx claimed, state is %d\n", + _("inode 0x%llx bmap block 0x%llx claimed, state is %d\n"), ino, (__uint64_t) bno, get_fsbno_state(mp, bno)); break; @@ -277,7 +279,7 @@ scanfunc_bmap( case XR_E_INUSE_FS: set_fsbno_state(mp, bno, XR_E_MULT); do_warn( - "inode 0x%llx bmap block 0x%llx claimed, state is %d\n", + _("inode 0x%llx bmap block 0x%llx claimed, state is %d\n"), ino, (__uint64_t) bno, get_fsbno_state(mp, bno)); /* @@ -293,7 +295,7 @@ scanfunc_bmap( case XR_E_BAD_STATE: default: do_warn( - "bad state %d, inode 0x%llx bmap block 0x%llx\n", + _("bad state %d, inode 0x%llx bmap block 0x%llx\n"), get_fsbno_state(mp, bno), ino, (__uint64_t) bno); break; @@ -314,9 +316,12 @@ scanfunc_bmap( } (*tot)++; if (level == 0) { - if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_bmap_dmxr[0] || - (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_bmap_dmnr[0])) { -do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", + if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > + mp->m_bmap_dmxr[0] || + (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < + mp->m_bmap_dmnr[0])) { + do_warn( + _("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n"), ino, INT_GET(block->bb_numrecs, ARCH_CONVERT), mp->m_bmap_dmnr[0], mp->m_bmap_dmxr[0]); return(1); @@ -331,7 +336,9 @@ do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", * we'll bail out and presumably clear the inode. */ if (check_dups == 0) { - err = process_bmbt_reclist(mp, rp, INT_GET(block->bb_numrecs, ARCH_CONVERT), + err = process_bmbt_reclist(mp, rp, + INT_GET(block->bb_numrecs, + ARCH_CONVERT), type, ino, tot, blkmapp, &first_key, &last_key, whichfork); @@ -348,7 +355,7 @@ do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", bm_cursor->level[level].last_key != NULLDFILOFF) { do_warn( -"out-of-order bmap key (file offset) in inode %llu, %s fork, fsbno %llu\n", +_("out-of-order bmap key (file offset) in inode %llu, %s fork, fsbno %llu\n"), ino, forkname, bno); return(1); } @@ -366,8 +373,10 @@ do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", type, ino, tot, whichfork)); } if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_bmap_dmxr[1] || - (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_bmap_dmnr[1])) { -do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", + (isroot == 0 && + INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_bmap_dmnr[1])) { + do_warn( + _("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n"), ino, INT_GET(block->bb_numrecs, ARCH_CONVERT), mp->m_bmap_dmnr[1], mp->m_bmap_dmxr[1]); return(1); @@ -386,12 +395,13 @@ do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", * we'll bail out and presumably clear the inode. */ if (!verify_dfsbno(mp, INT_GET(pp[i], ARCH_CONVERT))) { - do_warn("bad bmap btree ptr 0x%llx in ino %llu\n", + do_warn(_("bad bmap btree ptr 0x%llx in ino %llu\n"), INT_GET(pp[i], ARCH_CONVERT), ino); return(1); } - err = scan_lbtree(INT_GET(pp[i], ARCH_CONVERT), level, scanfunc_bmap, type, whichfork, + err = scan_lbtree(INT_GET(pp[i], ARCH_CONVERT), + level, scanfunc_bmap, type, whichfork, ino, tot, nex, blkmapp, bm_cursor, 0, check_dups); if (err) @@ -409,25 +419,29 @@ do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", * our child and those are guaranteed to be set by the * call to scan_lbtree() above. */ - if (check_dups == 0 && INT_GET(pkey[i].br_startoff, ARCH_CONVERT) != + if (check_dups == 0 && + INT_GET(pkey[i].br_startoff, ARCH_CONVERT) != bm_cursor->level[level-1].first_key) { if (!no_modify) { do_warn( - "correcting bt key (was %llu, now %llu) in inode %llu\n", - INT_GET(pkey[i].br_startoff, ARCH_CONVERT), + _("correcting bt key (was %llu, now %llu) in inode %llu\n" + "\t\t%s fork, btree block %llu\n"), + INT_GET(pkey[i].br_startoff, + ARCH_CONVERT), bm_cursor->level[level-1].first_key, - ino); - do_warn("\t\t%s fork, btree block %llu\n", + ino, forkname, bno); *dirty = 1; - INT_SET(pkey[i].br_startoff, ARCH_CONVERT, bm_cursor->level[level-1].first_key); + INT_SET(pkey[i].br_startoff, ARCH_CONVERT, + bm_cursor->level[level-1].first_key); } else { do_warn( -"bad btree key (is %llu, should be %llu) in inode %llu\n", - INT_GET(pkey[i].br_startoff, ARCH_CONVERT), + _("bad btree key (is %llu, should be %llu) in inode %llu\n" + "\t\t%s fork, btree block %llu\n"), + INT_GET(pkey[i].br_startoff, + ARCH_CONVERT), bm_cursor->level[level-1].first_key, - ino); - do_warn("\t\t%s fork, btree block %llu\n", + ino, forkname, bno); } } @@ -440,10 +454,9 @@ do_warn("inode 0x%llx bad # of bmap records (%u, min - %u, max - %u)\n", if (check_dups == 0 && bm_cursor->level[level - 1].right_fsbno != NULLDFSBNO) { do_warn( - "bad fwd (right) sibling pointer (saw %llu should be NULLDFSBNO)\n", - bm_cursor->level[level - 1].right_fsbno); - do_warn( - "\tin inode %llu (%s fork) bmap btree block %llu\n", + _("bad fwd (right) sibling pointer (saw %llu should be NULLDFSBNO)\n" + "\tin inode %llu (%s fork) bmap btree block %llu\n"), + bm_cursor->level[level - 1].right_fsbno, ino, forkname, bm_cursor->level[level].fsbno); return(1); @@ -483,15 +496,16 @@ scanfunc_bno( int state; if (INT_GET(block->bb_magic, ARCH_CONVERT) != XFS_ABTB_MAGIC) { - do_warn("bad magic # %#x in btbno block %d/%d\n", + do_warn(_("bad magic # %#x in btbno block %d/%d\n"), INT_GET(block->bb_magic, ARCH_CONVERT), agno, bno); hdr_errors++; if (suspect) return; } if (INT_GET(block->bb_level, ARCH_CONVERT) != level) { - do_warn("expected level %d got %d in btbno block %d/%d\n", - level, INT_GET(block->bb_level, ARCH_CONVERT), agno, bno); + do_warn(_("expected level %d got %d in btbno block %d/%d\n"), + level, INT_GET(block->bb_level, ARCH_CONVERT), + agno, bno); hdr_errors++; if (suspect) return; @@ -509,7 +523,7 @@ scanfunc_bno( default: set_agbno_state(mp, agno, bno, XR_E_MULT); do_warn( -"bno freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n", +_("bno freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n"), state, agno, bno, suspect); return; } @@ -517,11 +531,13 @@ scanfunc_bno( if (level == 0) { numrecs = INT_GET(block->bb_numrecs, ARCH_CONVERT); - if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_alloc_mxr[0]) { + if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > + mp->m_alloc_mxr[0]) { numrecs = mp->m_alloc_mxr[0]; hdr_errors++; } - if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_alloc_mnr[0]) { + if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < + mp->m_alloc_mnr[0]) { numrecs = mp->m_alloc_mnr[0]; hdr_errors++; } @@ -533,24 +549,32 @@ scanfunc_bno( 1, mp->m_alloc_mxr[0]); for (i = 0; i < numrecs; i++) { if (INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) == 0 || - INT_GET(rp[i].ar_startblock, ARCH_CONVERT) == 0 || - !verify_agbno(mp, agno, INT_GET(rp[i].ar_startblock, ARCH_CONVERT)) || - INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > MAXEXTLEN) + INT_GET(rp[i].ar_startblock, ARCH_CONVERT) == 0 || + !verify_agbno(mp, agno, + INT_GET(rp[i].ar_startblock, ARCH_CONVERT)) || + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > + MAXEXTLEN) continue; - bno_agffreeblks += INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); - if (INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > bno_agflongest) - bno_agflongest = INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); + bno_agffreeblks += + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); + if (INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > + bno_agflongest) + bno_agflongest = INT_GET(rp[i].ar_blockcount, + ARCH_CONVERT); for (b = INT_GET(rp[i].ar_startblock, ARCH_CONVERT); - b < INT_GET(rp[i].ar_startblock, ARCH_CONVERT) + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); + b < INT_GET(rp[i].ar_startblock, ARCH_CONVERT) + + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); b++) { if (get_agbno_state(mp, agno, b) == XR_E_UNKNOWN) set_agbno_state(mp, agno, b, XR_E_FREE1); else { -do_warn("block (%d,%d) multiply claimed by bno space tree, state - %d\n", - agno, b, get_agbno_state(mp, agno, b)); + do_warn( + _("block (%d,%d) multiply claimed by bno space tree, state - %d\n"), + agno, b, + get_agbno_state(mp, agno, b)); } } } @@ -568,7 +592,8 @@ do_warn("block (%d,%d) multiply claimed by bno space tree, state - %d\n", numrecs = mp->m_alloc_mxr[1]; hdr_errors++; } - if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_alloc_mnr[1]) { + if (isroot == 0 && + INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_alloc_mnr[1]) { numrecs = mp->m_alloc_mnr[1]; hdr_errors++; } @@ -597,9 +622,10 @@ do_warn("block (%d,%d) multiply claimed by bno space tree, state - %d\n", * pointer mismatch, try and extract as much data * as possible. */ - if (INT_GET(pp[i], ARCH_CONVERT) != 0 && verify_agbno(mp, agno, INT_GET(pp[i], ARCH_CONVERT))) - scan_sbtree(INT_GET(pp[i], ARCH_CONVERT), level, agno, suspect, - scanfunc_bno, 0); + if (INT_GET(pp[i], ARCH_CONVERT) != 0 && + verify_agbno(mp, agno, INT_GET(pp[i], ARCH_CONVERT))) + scan_sbtree(INT_GET(pp[i], ARCH_CONVERT), + level, agno, suspect, scanfunc_bno, 0); } } @@ -626,15 +652,16 @@ scanfunc_cnt( hdr_errors = 0; if (INT_GET(block->bb_magic, ARCH_CONVERT) != XFS_ABTC_MAGIC) { - do_warn("bad magic # %#x in btcnt block %d/%d\n", + do_warn(_("bad magic # %#x in btcnt block %d/%d\n"), INT_GET(block->bb_magic, ARCH_CONVERT), agno, bno); hdr_errors++; if (suspect) return; } if (INT_GET(block->bb_level, ARCH_CONVERT) != level) { - do_warn("expected level %d got %d in btcnt block %d/%d\n", - level, INT_GET(block->bb_level, ARCH_CONVERT), agno, bno); + do_warn(_("expected level %d got %d in btcnt block %d/%d\n"), + level, INT_GET(block->bb_level, ARCH_CONVERT), + agno, bno); hdr_errors++; if (suspect) return; @@ -652,19 +679,21 @@ scanfunc_cnt( default: set_agbno_state(mp, agno, bno, XR_E_MULT); do_warn( -"bcnt freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n", - state, agno, bno, suspect); +_("bcnt freespace btree block claimed (state %d), agno %d, bno %d, suspect %d\n"), + state, agno, bno, suspect); return; } if (level == 0) { numrecs = INT_GET(block->bb_numrecs, ARCH_CONVERT); - if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_alloc_mxr[0]) { + if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > + mp->m_alloc_mxr[0]) { numrecs = mp->m_alloc_mxr[0]; hdr_errors++; } - if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_alloc_mnr[0]) { + if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < + mp->m_alloc_mnr[0]) { numrecs = mp->m_alloc_mnr[0]; hdr_errors++; } @@ -676,16 +705,22 @@ scanfunc_cnt( 1, mp->m_alloc_mxr[0]); for (i = 0; i < numrecs; i++) { if (INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) == 0 || - INT_GET(rp[i].ar_startblock, ARCH_CONVERT) == 0 || - !verify_agbno(mp, agno, INT_GET(rp[i].ar_startblock, ARCH_CONVERT)) || - INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > MAXEXTLEN) + INT_GET(rp[i].ar_startblock, ARCH_CONVERT) == 0 || + !verify_agbno(mp, agno, + INT_GET(rp[i].ar_startblock, ARCH_CONVERT)) || + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > + MAXEXTLEN) continue; - cnt_agffreeblks += INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); - if (INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > cnt_agflongest) - cnt_agflongest = INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); + cnt_agffreeblks += + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); + if (INT_GET(rp[i].ar_blockcount, ARCH_CONVERT) > + cnt_agflongest) + cnt_agflongest = INT_GET(rp[i].ar_blockcount, + ARCH_CONVERT); for (b = INT_GET(rp[i].ar_startblock, ARCH_CONVERT); - b < INT_GET(rp[i].ar_startblock, ARCH_CONVERT) + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); + b < INT_GET(rp[i].ar_startblock, ARCH_CONVERT) + + INT_GET(rp[i].ar_blockcount, ARCH_CONVERT); b++) { state = get_agbno_state(mp, agno, b); /* @@ -702,7 +737,7 @@ scanfunc_cnt( break; default: do_warn( - "block (%d,%d) already used, state %d\n", + _("block (%d,%d) already used, state %d\n"), agno, b, state); break; } @@ -722,7 +757,8 @@ scanfunc_cnt( numrecs = mp->m_alloc_mxr[1]; hdr_errors++; } - if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_alloc_mnr[1]) { + if (isroot == 0 && + INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_alloc_mnr[1]) { numrecs = mp->m_alloc_mnr[1]; hdr_errors++; } @@ -742,7 +778,8 @@ scanfunc_cnt( } for (i = 0; i < numrecs; i++) - if (INT_GET(pp[i], ARCH_CONVERT) != 0 && verify_agbno(mp, agno, INT_GET(pp[i], ARCH_CONVERT))) + if (INT_GET(pp[i], ARCH_CONVERT) != 0 && + verify_agbno(mp, agno, INT_GET(pp[i], ARCH_CONVERT))) scan_sbtree(INT_GET(pp[i], ARCH_CONVERT), level, agno, suspect, scanfunc_cnt, 0); } @@ -792,7 +829,7 @@ scanfunc_ino( hdr_errors = 0; if (INT_GET(block->bb_magic, ARCH_CONVERT) != XFS_IBT_MAGIC) { - do_warn("bad magic # %#x in inobt block %d/%d\n", + do_warn(_("bad magic # %#x in inobt block %d/%d\n"), INT_GET(block->bb_magic, ARCH_CONVERT), agno, bno); hdr_errors++; bad_ino_btree = 1; @@ -800,8 +837,9 @@ scanfunc_ino( return; } if (INT_GET(block->bb_level, ARCH_CONVERT) != level) { - do_warn("expected level %d got %d in inobt block %d/%d\n", - level, INT_GET(block->bb_level, ARCH_CONVERT), agno, bno); + do_warn(_("expected level %d got %d in inobt block %d/%d\n"), + level, INT_GET(block->bb_level, ARCH_CONVERT), + agno, bno); hdr_errors++; bad_ino_btree = 1; if (suspect) @@ -823,8 +861,8 @@ scanfunc_ino( default: set_agbno_state(mp, agno, bno, XR_E_MULT); do_warn( -"inode btree block claimed (state %d), agno %d, bno %d, suspect %d\n", - state, agno, bno, suspect); +_("inode btree block claimed (state %d), agno %d, bno %d, suspect %d\n"), + state, agno, bno, suspect); } numrecs = INT_GET(block->bb_numrecs, ARCH_CONVERT); @@ -835,18 +873,20 @@ scanfunc_ino( if (level == 0) { /* check for trashed btree block */ - if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > mp->m_inobt_mxr[0]) { + if (INT_GET(block->bb_numrecs, ARCH_CONVERT) > + mp->m_inobt_mxr[0]) { numrecs = mp->m_inobt_mxr[0]; hdr_errors++; } - if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_inobt_mnr[0]) { + if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < + mp->m_inobt_mnr[0]) { numrecs = mp->m_inobt_mnr[0]; hdr_errors++; } if (hdr_errors) { bad_ino_btree = 1; - do_warn("dubious inode btree block header %d/%d\n", + do_warn(_("dubious inode btree block header %d/%d\n"), agno, bno); suspect++; } @@ -884,7 +924,7 @@ scanfunc_ino( (fs_aligned_inodes && agbno % fs_ino_alignment != 0)) { do_warn( - "badly aligned inode rec (starting inode = %llu)\n", + _("badly aligned inode rec (starting inode = %llu)\n"), lino); suspect++; } @@ -900,7 +940,7 @@ scanfunc_ino( */ if (verify_aginum(mp, agno, ino)) { do_warn( -"bad starting inode # (%llu (0x%x 0x%x)) in ino rec, skipping rec\n", +_("bad starting inode # (%llu (0x%x 0x%x)) in ino rec, skipping rec\n"), lino, agno, ino); suspect++; continue; @@ -909,7 +949,7 @@ scanfunc_ino( if (verify_aginum(mp, agno, ino + XFS_INODES_PER_CHUNK - 1)) { do_warn( -"bad ending inode # (%llu (0x%x 0x%x)) in ino rec, skipping rec\n", +_("bad ending inode # (%llu (0x%x 0x%x)) in ino rec, skipping rec\n"), lino + XFS_INODES_PER_CHUNK - 1, agno, ino + XFS_INODES_PER_CHUNK - 1); suspect++; @@ -938,7 +978,7 @@ scanfunc_ino( agbno, XR_E_INO); } else { do_warn( -"inode chunk claims used block, inobt block - agno %d, bno %d, inopb %d\n", +_("inode chunk claims used block, inobt block - agno %d, bno %d, inopb %d\n"), agno, bno, mp->m_sb.sb_inopblock); suspect++; @@ -963,7 +1003,7 @@ scanfunc_ino( * already in the tree */ do_warn( -"inode rec for ino %llu (%d/%d) overlaps existing rec (start %d/%d)\n", +_("inode rec for ino %llu (%d/%d) overlaps existing rec (start %d/%d)\n"), lino, agno, ino, agno, first_rec->ino_startnum); suspect++; @@ -978,7 +1018,8 @@ scanfunc_ino( } agicount += XFS_INODES_PER_CHUNK; - agifreecount += INT_GET(rp[i].ir_freecount, ARCH_CONVERT); + agifreecount += + INT_GET(rp[i].ir_freecount, ARCH_CONVERT); nfree = 0; /* @@ -1017,9 +1058,10 @@ scanfunc_ino( } if (nfree != INT_GET(rp[i].ir_freecount, ARCH_CONVERT)) { - do_warn( "ir_freecount/free mismatch, inode chunk \ -%d/%d, freecount %d nfree %d\n", - agno, ino, INT_GET(rp[i].ir_freecount, ARCH_CONVERT), nfree); + do_warn( +_("ir_freecount/free mismatch, inode chunk %d/%d, freecount %d nfree %d\n"), + agno, ino, INT_GET(rp[i].ir_freecount, + ARCH_CONVERT), nfree); } } @@ -1036,7 +1078,8 @@ scanfunc_ino( numrecs = mp->m_inobt_mxr[1]; hdr_errors++; } - if (isroot == 0 && INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_inobt_mnr[1]) { + if (isroot == 0 && + INT_GET(block->bb_numrecs, ARCH_CONVERT) < mp->m_inobt_mnr[1]) { numrecs = mp->m_inobt_mnr[1]; hdr_errors++; } @@ -1060,9 +1103,10 @@ scanfunc_ino( } for (i = 0; i < numrecs; i++) { - if (INT_GET(pp[i], ARCH_CONVERT) != 0 && verify_agbno(mp, agno, INT_GET(pp[i], ARCH_CONVERT))) - scan_sbtree(INT_GET(pp[i], ARCH_CONVERT), level, agno, suspect, - scanfunc_ino, 0); + if (INT_GET(pp[i], ARCH_CONVERT) != 0 && + verify_agbno(mp, agno, INT_GET(pp[i], ARCH_CONVERT))) + scan_sbtree(INT_GET(pp[i], ARCH_CONVERT), level, + agno, suspect, scanfunc_ino, 0); } } @@ -1087,7 +1131,7 @@ scan_freelist( XFS_AG_DADDR(mp, INT_GET(agf->agf_seqno, ARCH_CONVERT), XFS_AGFL_DADDR(mp)), XFS_FSS_TO_BB(mp, 1), 0); if (!agflbuf) { - do_abort("can't read agfl block for ag %d\n", + do_abort(_("can't read agfl block for ag %d\n"), INT_GET(agf->agf_seqno, ARCH_CONVERT)); return; } @@ -1101,7 +1145,7 @@ scan_freelist( INT_GET(agf->agf_seqno, ARCH_CONVERT), bno, XR_E_FREE); else - do_warn("bad agbno %u in agfl, agno %d\n", + do_warn(_("bad agbno %u in agfl, agno %d\n"), bno, INT_GET(agf->agf_seqno, ARCH_CONVERT)); count++; if (i == INT_GET(agf->agf_fllast, ARCH_CONVERT)) @@ -1110,7 +1154,7 @@ scan_freelist( i = 0; } if (count != INT_GET(agf->agf_flcount, ARCH_CONVERT)) { - do_warn("freeblk count %d != flcount %d in ag %d\n", count, + do_warn(_("freeblk count %d != flcount %d in ag %d\n"), count, INT_GET(agf->agf_flcount, ARCH_CONVERT), INT_GET(agf->agf_seqno, ARCH_CONVERT)); } @@ -1142,15 +1186,15 @@ scan_ag( sbbuf = libxfs_readbuf(mp->m_dev, XFS_AG_DADDR(mp, agno, XFS_SB_DADDR), 1, 0); if (!sbbuf) { - do_error("can't get root superblock for ag %d\n", agno); + do_error(_("can't get root superblock for ag %d\n"), agno); return; } - sb = (xfs_sb_t *)calloc(BBSIZE, 1); - if (!sb) { - do_error("can't allocate memory for superblock\n"); - libxfs_putbuf(sbbuf); - return; + sb = (xfs_sb_t *)calloc(BBSIZE, 1); + if (!sb) { + do_error(_("can't allocate memory for superblock\n")); + libxfs_putbuf(sbbuf); + return; } libxfs_xlate_sb(XFS_BUF_TO_SBP(sbbuf), sb, 1, ARCH_CONVERT, XFS_SB_ALL_BITS); @@ -1159,7 +1203,7 @@ scan_ag( XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)), XFS_FSS_TO_BB(mp, 1), 0); if (!agfbuf) { - do_error("can't read agf block for ag %d\n", agno); + do_error(_("can't read agf block for ag %d\n"), agno); libxfs_putbuf(sbbuf); free(sb); return; @@ -1170,7 +1214,7 @@ scan_ag( XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), XFS_FSS_TO_BB(mp, 1), 0); if (!agibuf) { - do_error("can't read agi block for ag %d\n", agno); + do_error(_("can't read agi block for ag %d\n"), agno); libxfs_putbuf(agfbuf); libxfs_putbuf(sbbuf); free(sb); @@ -1193,28 +1237,28 @@ scan_ag( status &= ~XR_AG_SB_SEC; } if (status & XR_AG_SB) { - if (!no_modify) + if (!no_modify) { + do_warn(_("reset bad sb for ag %d\n"), agno); sb_dirty = 1; - else - do_warn("would "); - - do_warn("reset bad sb for ag %d\n", agno); + } else { + do_warn(_("would reset bad sb for ag %d\n"), agno); + } } if (status & XR_AG_AGF) { - if (!no_modify) + if (!no_modify) { + do_warn(_("reset bad agf for ag %d\n"), agno); agf_dirty = 1; - else - do_warn("would "); - - do_warn("reset bad agf for ag %d\n", agno); + } else { + do_warn(_("would reset bad agf for ag %d\n"), agno); + } } if (status & XR_AG_AGI) { - if (!no_modify) + if (!no_modify) { + do_warn(_("reset bad agi for ag %d\n"), agno); agi_dirty = 1; - else - do_warn("would "); - - do_warn("reset bad agi for ag %d\n", agno); + } else { + do_warn(_("would reset bad agi for ag %d\n"), agno); + } } if (status && no_modify) { @@ -1223,7 +1267,8 @@ scan_ag( libxfs_putbuf(sbbuf); free(sb); - do_warn("bad uncorrected agheader %d, skipping ag...\n", agno); + do_warn(_("bad uncorrected agheader %d, skipping ag...\n"), + agno); return; } @@ -1231,28 +1276,37 @@ scan_ag( scan_freelist(agf); if (INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT) != 0 && - verify_agbno(mp, agno, INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT))) - scan_sbtree(INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT), + verify_agbno(mp, agno, + INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT))) + scan_sbtree( + INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT), INT_GET(agf->agf_levels[XFS_BTNUM_BNO], ARCH_CONVERT), agno, 0, scanfunc_bno, 1); else - do_warn("bad agbno %u for btbno root, agno %d\n", - INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT), agno); + do_warn(_("bad agbno %u for btbno root, agno %d\n"), + INT_GET(agf->agf_roots[XFS_BTNUM_BNO], ARCH_CONVERT), + agno); if (INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT) != 0 && - verify_agbno(mp, agno, INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT))) - scan_sbtree(INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT), + verify_agbno(mp, agno, + INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT))) + scan_sbtree( + INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT), INT_GET(agf->agf_levels[XFS_BTNUM_CNT], ARCH_CONVERT), agno, 0, scanfunc_cnt, 1); else - do_warn("bad agbno %u for btbcnt root, agno %d\n", - INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT), agno); - - if (INT_GET(agi->agi_root, ARCH_CONVERT) != 0 && verify_agbno(mp, agno, INT_GET(agi->agi_root, ARCH_CONVERT))) - scan_sbtree(INT_GET(agi->agi_root, ARCH_CONVERT), INT_GET(agi->agi_level, ARCH_CONVERT), agno, 0, - scanfunc_ino, 1); + do_warn(_("bad agbno %u for btbcnt root, agno %d\n"), + INT_GET(agf->agf_roots[XFS_BTNUM_CNT], ARCH_CONVERT), + agno); + + if (INT_GET(agi->agi_root, ARCH_CONVERT) != 0 && + verify_agbno(mp, agno, INT_GET(agi->agi_root, ARCH_CONVERT))) + scan_sbtree( + INT_GET(agi->agi_root, ARCH_CONVERT), + INT_GET(agi->agi_level, ARCH_CONVERT), + agno, 0, scanfunc_ino, 1); else - do_warn("bad agbno %u for inobt root, agno %d\n", + do_warn(_("bad agbno %u for inobt root, agno %d\n"), INT_GET(agi->agi_root, ARCH_CONVERT), agno); ASSERT(agi_dirty == 0 || (agi_dirty && !no_modify)); diff --git a/repair/versions.c b/repair/versions.c index 2e79babac..d21923d93 100644 --- a/repair/versions.c +++ b/repair/versions.c @@ -85,7 +85,7 @@ update_sb_version(xfs_mount_t *mp) * no_modify mode, it'll never get flushed out * so this is ok. */ - do_warn("bogus quota flags 0x%x set in superblock", + do_warn(_("bogus quota flags 0x%x set in superblock"), sb->sb_qflags & ~(XFS_UQUOTA_ACCT| XFS_UQUOTA_ENFD| XFS_UQUOTA_CHKD|XFS_GQUOTA_ACCT| @@ -97,9 +97,9 @@ update_sb_version(xfs_mount_t *mp) XFS_GQUOTA_ENFD|XFS_GQUOTA_CHKD); if (!no_modify) - do_warn(", bogus flags will be cleared\n"); + do_warn(_(", bogus flags will be cleared\n")); else - do_warn(", bogus flags would be cleared\n"); + do_warn(_(", bogus flags would be cleared\n")); } } else { sb->sb_qflags = 0; @@ -155,7 +155,7 @@ parse_sb_version(xfs_sb_t *sb) if (!fs_has_extflgbit_allowed) { issue_warning = 1; do_warn( - "This filesystem has uninitialized extent flags.\n"); + _("This filesystem has uninitialized extent flags.\n")); } } @@ -163,40 +163,38 @@ parse_sb_version(xfs_sb_t *sb) fs_shared = 1; if (!fs_shared_allowed) { issue_warning = 1; - do_warn("This filesystem is marked shared.\n"); + do_warn(_("This filesystem is marked shared.\n")); } } if (issue_warning) { do_warn( -"This filesystem uses 6.5 feature(s) not yet supported in this release.\n\ -Please run a 6.5 version of xfs_repair.\n"); +_("This filesystem uses feature(s) not yet supported in this release.\n" + "Please run a more recent version of xfs_repair.\n")); return(1); } if (!XFS_SB_GOOD_VERSION(sb)) { + do_warn(_("WARNING: unknown superblock version %d\n"), + XFS_SB_VERSION_NUM(sb)); do_warn( - "WARNING: unknown superblock version %d\n", XFS_SB_VERSION_NUM(sb)); - do_warn( - "This filesystem contains features not understood by this program.\n"); +_("This filesystem contains features not understood by this program.\n")); return(1); } if (XFS_SB_VERSION_NUM(sb) == XFS_SB_VERSION_4) { if (!fs_sb_feature_bits_allowed) { - do_warn( - "WARNING: you have disallowed superblock feature bits disallowed\n"); - do_warn( - "\tbut this superblock has feature bits. The superblock\n"); - if (!no_modify) { do_warn( - "\twill be downgraded. This may cause loss of filesystem meta-data\n"); +_("WARNING: you have disallowed superblock-feature-bits-allowed\n" + "\tbut this superblock has feature bits. The superblock\n" + "\twill be downgraded. This may cause loss of filesystem meta-data\n")); } else { do_warn( - "\twould be downgraded. This might cause loss of filesystem\n"); - do_warn( - "\tmeta-data.\n"); +_("WARNING: you have disallowed superblock-feature-bits-allowed\n" + "\tbut this superblock has feature bits. The superblock\n" + "\twould be downgraded. This might cause loss of filesystem\n" + "\tmeta-data.\n")); } } else { fs_sb_feature_bits = 1; @@ -205,18 +203,16 @@ Please run a 6.5 version of xfs_repair.\n"); if (XFS_SB_VERSION_HASATTR(sb)) { if (!fs_attributes_allowed) { - do_warn( - "WARNING: you have disallowed attributes but this filesystem\n"); if (!no_modify) { do_warn( - "\thas attributes. The filesystem will be downgraded and\n"); - do_warn( - "\tall attributes will be removed.\n"); +_("WARNING: you have disallowed attributes but this filesystem\n" + "\thas attributes. The filesystem will be downgraded and\n" + "\tall attributes will be removed.\n")); } else { do_warn( - "\thas attributes. The filesystem would be downgraded and\n"); - do_warn( - "\tall attributes would be removed.\n"); +_("WARNING: you have disallowed attributes but this filesystem\n" + "\thas attributes. The filesystem would be downgraded and\n" + "\tall attributes would be removed.\n")); } } else { fs_attributes = 1; @@ -225,22 +221,18 @@ Please run a 6.5 version of xfs_repair.\n"); if (XFS_SB_VERSION_HASNLINK(sb)) { if (!fs_inode_nlink_allowed) { - do_warn( - "WARNING: you have disallowed version 2 inodes but this filesystem\n"); if (!no_modify) { do_warn( - "\thas version 2 inodes. The filesystem will be downgraded and\n"); - do_warn( - "\tall version 2 inodes will be converted to version 1 inodes.\n"); - do_warn( - "\tThis may cause some hard links to files to be destroyed\n"); +_("WARNING: you have disallowed version 2 inodes but this filesystem\n" + "\thas version 2 inodes. The filesystem will be downgraded and\n" + "\tall version 2 inodes will be converted to version 1 inodes.\n" + "\tThis may cause some hard links to files to be destroyed\n")); } else { do_warn( - "\thas version 2 inodes. The filesystem would be downgraded and\n"); - do_warn( - "\tall version 2 inodes would be converted to version 1 inodes.\n"); - do_warn( - "\tThis might cause some hard links to files to be destroyed\n"); +_("WARNING: you have disallowed version 2 inodes but this filesystem\n" + "\thas version 2 inodes. The filesystem would be downgraded and\n" + "\tall version 2 inodes would be converted to version 1 inodes.\n" + "\tThis might cause some hard links to files to be destroyed\n")); } } else { fs_inode_nlink = 1; @@ -249,18 +241,16 @@ Please run a 6.5 version of xfs_repair.\n"); if (XFS_SB_VERSION_HASQUOTA(sb)) { if (!fs_quotas_allowed) { - do_warn( - "WARNING: you have disallowed quotas but this filesystem\n"); if (!no_modify) { do_warn( - "\thas quotas. The filesystem will be downgraded and\n"); - do_warn( - "\tall quota information will be removed.\n"); +_("WARNING: you have disallowed quotas but this filesystem\n" + "\thas quotas. The filesystem will be downgraded and\n" + "\tall quota information will be removed.\n")); } else { do_warn( - "\thas quotas. The filesystem would be downgraded and\n"); - do_warn( - "\tall quota information would be removed.\n"); +_("WARNING: you have disallowed quotas but this filesystem\n" + "\thas quotas. The filesystem would be downgraded and\n" + "\tall quota information would be removed.\n")); } } else { fs_quotas = 1; @@ -280,18 +270,16 @@ Please run a 6.5 version of xfs_repair.\n"); fs_aligned_inodes = 1; fs_ino_alignment = sb->sb_inoalignmt; } else { - do_warn( - "WARNING: you have disallowed aligned inodes but this filesystem\n"); if (!no_modify) { do_warn( - "\thas aligned inodes. The filesystem will be downgraded.\n"); - do_warn( -"\tThis will permanently degrade the performance of this filesystem.\n"); +_("WARNING: you have disallowed aligned inodes but this filesystem\n" + "\thas aligned inodes. The filesystem will be downgraded.\n" + "\tThis will permanently degrade the performance of this filesystem.\n")); } else { do_warn( - "\thas aligned inodes. The filesystem would be downgraded.\n"); - do_warn( -"\tThis would permanently degrade the performance of this filesystem.\n"); +_("WARNING: you have disallowed aligned inodes but this filesystem\n" + "\thas aligned inodes. The filesystem would be downgraded.\n" + "\tThis would permanently degrade the performance of this filesystem.\n")); } } } diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c index a6b1b3313..3fcb9a4d3 100644 --- a/repair/xfs_repair.c +++ b/repair/xfs_repair.c @@ -72,39 +72,57 @@ char *o_opts[] = { static void usage(void) { - do_warn("Usage: %s [-nLvV] [-o subopt[=value]] [-l logdev] [-r rtdev] devname\n", + do_warn( +_("Usage: %s [-nLvV] [-o subopt[=value]] [-l logdev] [-r rtdev] devname\n"), progname); exit(1); } -static char *err_message[] = { - "no error", - "bad magic number", - "bad blocksize field", - "bad blocksize log field", - "bad version number", - "filesystem mkfs-in-progress bit set", - "inconsistent filesystem geometry information", - "bad inode size or inconsistent with number of inodes/block", - "bad sector size", - "AGF geometry info conflicts with filesystem geometry", - "AGI geometry info conflicts with filesystem geometry", - "AG superblock geometry info conflicts with filesystem geometry", - "attempted to perform I/O beyond EOF", - "inconsistent filesystem geometry in realtime filesystem component", - "maximum indicated percentage of inodes > 100%", - "inconsistent inode alignment value", - "not enough secondary superblocks with matching geometry", - "bad stripe unit in superblock", - "bad stripe width in superblock", - "bad shared version number in superblock" -}; - char * err_string(int err_code) { + static char *err_message[XR_BAD_ERR_CODE]; + static int done; + + if (!done) { + err_message[XR_OK] = _("no error"); + err_message[XR_BAD_MAGIC] = _("bad magic number"); + err_message[XR_BAD_BLOCKSIZE] = _("bad blocksize field"); + err_message[XR_BAD_BLOCKLOG] = _("bad blocksize log field"); + err_message[XR_BAD_VERSION] = _("bad version number"); + err_message[XR_BAD_INPROGRESS] = + _("filesystem mkfs-in-progress bit set"); + err_message[XR_BAD_FS_SIZE_DATA] = + _("inconsistent filesystem geometry information"); + err_message[XR_BAD_INO_SIZE_DATA] = + _("bad inode size or inconsistent with number of inodes/block"), + err_message[XR_BAD_SECT_SIZE_DATA] = _("bad sector size"); + err_message[XR_AGF_GEO_MISMATCH] = + _("AGF geometry info conflicts with filesystem geometry"); + err_message[XR_AGI_GEO_MISMATCH] = + _("AGI geometry info conflicts with filesystem geometry"); + err_message[XR_SB_GEO_MISMATCH] = + _("AG superblock geometry info conflicts with filesystem geometry"); + err_message[XR_EOF] = _("attempted to perform I/O beyond EOF"); + err_message[XR_BAD_RT_GEO_DATA] = + _("inconsistent filesystem geometry in realtime filesystem component"); + err_message[XR_BAD_INO_MAX_PCT] = + _("maximum indicated percentage of inodes > 100%"); + err_message[XR_BAD_INO_ALIGN] = + _("inconsistent inode alignment value"); + err_message[XR_INSUFF_SEC_SB] = + _("not enough secondary superblocks with matching geometry"); + err_message[XR_BAD_SB_UNIT] = + _("bad stripe unit in superblock"); + err_message[XR_BAD_SB_WIDTH] = + _("bad stripe width in superblock"); + err_message[XR_BAD_SVN] = + _("bad shared version number in superblock"); + done = 1; + } + if (err_code < XR_OK || err_code >= XR_BAD_ERR_CODE) - do_abort("bad error code - %d\n", err_code); + do_abort(_("bad error code - %d\n"), err_code); return(err_message[err_code]); } @@ -112,7 +130,7 @@ err_string(int err_code) static void noval(char opt, char *tbl[], int idx) { - do_warn("-%c %s option cannot have a value\n", opt, tbl[idx]); + do_warn(_("-%c %s option cannot have a value\n"), opt, tbl[idx]); usage(); } @@ -122,14 +140,14 @@ respec(char opt, char *tbl[], int idx) do_warn("-%c ", opt); if (tbl) do_warn("%s ", tbl[idx]); - do_warn("option respecified\n"); + do_warn(_("option respecified\n")); usage(); } static void unknown(char opt, char *s) { - do_warn("unknown option -%c %s\n", opt, s); + do_warn(_("unknown option -%c %s\n"), opt, s); usage(); } @@ -223,7 +241,7 @@ process_args(int argc, char **argv) verbose = 1; break; case 'V': - printf("%s version %s\n", progname, VERSION); + printf(_("%s version %s\n"), progname, VERSION); exit(0); case '?': usage(); @@ -254,7 +272,7 @@ do_error(char const *msg, ...) { va_list args; - fprintf(stderr, "\nfatal error -- "); + fprintf(stderr, _("\nfatal error -- ")); va_start(args, msg); do_msg(1, msg, args); @@ -343,18 +361,18 @@ calc_mkfs(xfs_mount_t *mp) */ if (mp->m_sb.sb_rootino != first_prealloc_ino) { do_warn( - "sb root inode value %llu %sinconsistent with calculated value %lu\n", - mp->m_sb.sb_rootino, - (mp->m_sb.sb_rootino == NULLFSINO ? "(NULLFSINO) ":""), - first_prealloc_ino); +_("sb root inode value %llu %sinconsistent with calculated value %lu\n"), + mp->m_sb.sb_rootino, + (mp->m_sb.sb_rootino == NULLFSINO ? "(NULLFSINO) ":""), + first_prealloc_ino); if (!no_modify) do_warn( - "resetting superblock root inode pointer to %lu\n", + _("resetting superblock root inode pointer to %lu\n"), first_prealloc_ino); else do_warn( - "would reset superblock root inode pointer to %lu\n", + _("would reset superblock root inode pointer to %lu\n"), first_prealloc_ino); /* @@ -366,18 +384,18 @@ calc_mkfs(xfs_mount_t *mp) if (mp->m_sb.sb_rbmino != first_prealloc_ino + 1) { do_warn( -"sb realtime bitmap inode %llu %sinconsistent with calculated value %lu\n", - mp->m_sb.sb_rbmino, - (mp->m_sb.sb_rbmino == NULLFSINO ? "(NULLFSINO) ":""), - first_prealloc_ino + 1); +_("sb realtime bitmap inode %llu %sinconsistent with calculated value %lu\n"), + mp->m_sb.sb_rbmino, + (mp->m_sb.sb_rbmino == NULLFSINO ? "(NULLFSINO) ":""), + first_prealloc_ino + 1); if (!no_modify) do_warn( - "resetting superblock realtime bitmap ino pointer to %lu\n", + _("resetting superblock realtime bitmap ino pointer to %lu\n"), first_prealloc_ino + 1); else do_warn( - "would reset superblock realtime bitmap ino pointer to %lu\n", + _("would reset superblock realtime bitmap ino pointer to %lu\n"), first_prealloc_ino + 1); /* @@ -389,18 +407,18 @@ calc_mkfs(xfs_mount_t *mp) if (mp->m_sb.sb_rsumino != first_prealloc_ino + 2) { do_warn( -"sb realtime summary inode %llu %sinconsistent with calculated value %lu\n", +_("sb realtime summary inode %llu %sinconsistent with calculated value %lu\n"), mp->m_sb.sb_rsumino, (mp->m_sb.sb_rsumino == NULLFSINO ? "(NULLFSINO) ":""), first_prealloc_ino + 2); if (!no_modify) do_warn( - "resetting superblock realtime summary ino pointer to %lu\n", + _("resetting superblock realtime summary ino pointer to %lu\n"), first_prealloc_ino + 2); else do_warn( - "would reset superblock realtime summary ino pointer to %lu\n", + _("would reset superblock realtime summary ino pointer to %lu\n"), first_prealloc_ino + 2); /* @@ -422,6 +440,9 @@ main(int argc, char **argv) xfs_mount_t xfs_m; progname = basename(argv[0]); + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); temp_mp = &xfs_m; setbuf(stdout, NULL); @@ -433,9 +454,9 @@ main(int argc, char **argv) phase1(temp_mp); if (no_modify && primary_sb_modified) { - do_warn("primary superblock would have been modified.\n"); - do_warn("cannot proceed further in no_modify mode.\n"); - do_warn("exiting now.\n"); + do_warn(_("Primary superblock would have been modified.\n" + "Cannot proceed further in no_modify mode.\n" + "Exiting now.\n")); exit(1); } @@ -448,7 +469,8 @@ main(int argc, char **argv) mp = libxfs_mount(&xfs_m, sb, x.ddev, x.logdev, x.rtdev, 0); if (!mp) { - fprintf(stderr, "%s: cannot repair this filesystem. Sorry.\n", + fprintf(stderr, + _("%s: cannot repair this filesystem. Sorry.\n"), progname); exit(1); } @@ -475,7 +497,7 @@ main(int argc, char **argv) if (parse_sb_version(&mp->m_sb)) { do_warn( - "Found unsupported filesystem features. Exiting now.\n"); + _("Found unsupported filesystem features. Exiting now.\n")); return(1); } @@ -488,7 +510,7 @@ main(int argc, char **argv) phase4(mp); if (no_modify) - printf("No modify flag set, skipping phase 5\n"); + printf(_("No modify flag set, skipping phase 5\n")); else phase5(mp); @@ -498,58 +520,54 @@ main(int argc, char **argv) phase7(mp); } else { do_warn( - "Inode allocation btrees are too corrupted, skipping phases 6 and 7\n"); +_("Inode allocation btrees are too corrupted, skipping phases 6 and 7\n")); } if (lost_quotas && !have_uquotino && !have_gquotino) { if (!no_modify) { do_warn( - "Warning: no quota inodes were found. Quotas disabled.\n"); +_("Warning: no quota inodes were found. Quotas disabled.\n")); } else { do_warn( - "Warning: no quota inodes were found. Quotas would be disabled.\n"); +_("Warning: no quota inodes were found. Quotas would be disabled.\n")); } } else if (lost_quotas) { if (!no_modify) { do_warn( - "Warning: quota inodes were cleared. Quotas disabled.\n"); +_("Warning: quota inodes were cleared. Quotas disabled.\n")); } else { do_warn( -"Warning: quota inodes would be cleared. Quotas would be disabled.\n"); +_("Warning: quota inodes would be cleared. Quotas would be disabled.\n")); } } else { if (lost_uquotino) { if (!no_modify) { do_warn( - "Warning: user quota information was cleared.\n"); - do_warn( -"User quotas can not be enforced until limit information is recreated.\n"); +_("Warning: user quota information was cleared.\n" + "User quotas can not be enforced until limit information is recreated.\n")); } else { do_warn( - "Warning: user quota information would be cleared.\n"); - do_warn( -"User quotas could not be enforced until limit information was recreated.\n"); +_("Warning: user quota information would be cleared.\n" + "User quotas could not be enforced until limit information was recreated.\n")); } } if (lost_gquotino) { if (!no_modify) { do_warn( - "Warning: group quota information was cleared.\n"); - do_warn( -"Group quotas can not be enforced until limit information is recreated.\n"); +_("Warning: group quota information was cleared.\n" + "Group quotas can not be enforced until limit information is recreated.\n")); } else { do_warn( - "Warning: group quota information would be cleared.\n"); - do_warn( -"Group quotas could not be enforced until limit information was recreated.\n"); +_("Warning: group quota information would be cleared.\n" + "Group quotas could not be enforced until limit information was recreated.\n")); } } } if (no_modify) { do_log( - "No modify flag set, skipping filesystem flush and exiting.\n"); + _("No modify flag set, skipping filesystem flush and exiting.\n")); if (fs_is_dirty) return(1); @@ -561,20 +579,20 @@ main(int argc, char **argv) */ sbp = libxfs_getsb(mp, 0); if (!sbp) - do_error("couldn't get superblock\n"); + do_error(_("couldn't get superblock\n")); sb = XFS_BUF_TO_SBP(sbp); if (sb->sb_qflags & (XFS_UQUOTA_CHKD|XFS_GQUOTA_CHKD)) { do_warn( - "Note - quota info will be regenerated on next quota mount.\n"); + _("Note - quota info will be regenerated on next quota mount.\n")); sb->sb_qflags &= ~(XFS_UQUOTA_CHKD|XFS_GQUOTA_CHKD); } if (clear_sunit) { do_warn( -"Note - stripe unit (%d) and width (%d) fields have been reset.\n" -"Please set with mount -o sunit=,swidth=\n", +_("Note - stripe unit (%d) and width (%d) fields have been reset.\n" + "Please set with mount -o sunit=,swidth=\n"), sb->sb_unit, sb->sb_width); sb->sb_unit = 0; sb->sb_width = 0; @@ -589,7 +607,7 @@ main(int argc, char **argv) libxfs_device_close(x.logdev); libxfs_device_close(x.ddev); - do_log("done\n"); + do_log(_("done\n")); return(0); } -- 2.47.2