]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_repair updates - merge a fix from IRIX, fix an endian issue, i18n
authorNathan Scott <nathans@sgi.com>
Tue, 31 Dec 2002 04:09:59 +0000 (04:09 +0000)
committerNathan Scott <nathans@sgi.com>
Tue, 31 Dec 2002 04:09:59 +0000 (04:09 +0000)
changes, detection of readonly mounts fixed up.
bump version, document changes.

34 files changed:
VERSION
debian/changelog
doc/CHANGES
libxfs/init.c
libxfs/linux.c
po/Makefile
po/xfsprogs.pot
repair/agheader.c
repair/attr_repair.c
repair/avl.c
repair/avl64.c
repair/bmap.c
repair/dino_chunks.c
repair/dinode.c
repair/dir.c
repair/dir2.c
repair/dir_stack.c
repair/incore.c
repair/incore_ext.c
repair/incore_ino.c
repair/init.c
repair/io.c
repair/phase1.c
repair/phase2.c
repair/phase3.c
repair/phase4.c
repair/phase5.c
repair/phase6.c
repair/phase7.c
repair/rt.c
repair/sb.c
repair/scan.c
repair/versions.c
repair/xfs_repair.c

diff --git a/VERSION b/VERSION
index 933ba1bb1124e525dc716e349045dabdc3b6731f..cd24ffa291cbc200ac3983f51a901973b56e0a83 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -3,5 +3,5 @@
 #
 PKG_MAJOR=2
 PKG_MINOR=3
-PKG_REVISION=8
+PKG_REVISION=9
 PKG_BUILD=0
index a541f0751dee5ecf268c54ce55e677c062cd4d2b..6e6b5680c19b446492d150738f541fefa34506fa 100644 (file)
@@ -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 <nathans@debian.org>  Wed, 18 Dec 2002 14:29:05 +1100
+ -- Nathan Scott <nathans@debian.org>  Tue, 31 Dec 2002 10:31:04 +1100
 
 xfsprogs (2.3.7-1) unstable; urgency=low
 
index f4b0691c5dd5feccf96fd8011a4a7c99e79107ae..45136f5db255109e3d781d833d85048d17aec81a 100644 (file)
@@ -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
index bd3a3af1c2d01a2ca3a2acc3b214d716a81d9c55..29f576788726fcfdadda41d8d21242f55cfb9e4a 100644 (file)
@@ -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);
 }
index d5d5ebfc6ff05be987270dd346545b79bbeaa8d3..d01a6ab53f8d34bafb3572a540e5bd73d238e04a 100644 (file)
@@ -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;
index be273bb3bb0bb02fae6a5fffd1c0c5d5dd5437a0..343dece114bec5fdbafead22aee7ec088e5a7f98 100644 (file)
@@ -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)
index e9372cc23f983fe6b82c65a2cbd7b61c2f197df6..2bc936efdda4f42a66a3bd37a2458dc4c15252fc 100644 (file)
@@ -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=<value>,swidth=<value>\n"
+msgstr ""
+
+msgid "done\n"
+msgstr ""
+
 #, c-format
 msgid "%s [-e extsize] [-p] source target\n"
 msgstr ""
index b1e51d6a96bdc56a613adde65cf970f034b39691..085b4072ea2f9679301615cc4f0bdf4bbb3e1cdc 100644 (file)
@@ -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));
        }
 
index 11a8f03013c0fdc6e576c1052b8d8ec2f6c5690b..883a994026270aff0d958da2a707c5132bba74d2 100644 (file)
@@ -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 *)&currententry->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 *)&currententry->nameval[0], NULL, 
-                               INT_GET(currententry->namelen, ARCH_CONVERT), INT_GET(currententry->valuelen, ARCH_CONVERT));
+                      junkit = valuecheck((char *)&currententry->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; 
        }
index c2f510b066452b07a23c42b82528d50d624a23f1..25458bcea051577111028b837931970ade60355e 100644 (file)
@@ -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);
                }
index 4308dcaf2c496a19ab124707884cb5c846522663..e6db978146179fd398bd07e46a8339029df0ec26 100644 (file)
@@ -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);
                }
index 8ef670c32cc3f243a755571f4ebd5efc2cbaf5a1..0f60ef0cb55ff88a3e7a7831c0541793c3b566d7 100644 (file)
@@ -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;
                }
index 015fcb46e64914c0e84e0f8388815684011a297b..5872332598dc189e50c1c6f772eae5257b998e44 100644 (file)
@@ -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);
 }
index 50e05f0a34194fa0ce0cbf6c2311c41926f7308b..91fd917a963087f2b63beddc1a5703ebb60baf04 100644 (file)
@@ -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;
                }
index bce8ed347d6911a4339ac704b9095f61387e3b40..d3d41f359f43d9f9fa5a3a048bbdd9b8cb8ff684 100644 (file)
@@ -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;
        }
        
index fcb8be55e0dad84ddded18b1576910836c97050d..2c45888ee945a56626ef1bf2ad8a89aa3e0c8067 100644 (file)
@@ -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;
        }
        
index bc714ada2a354d07ee84e9e51c6ca45804f51eb1..41be4a529d3ec2708e7bc7e50857ffbafa8d2c66 100644 (file)
@@ -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  {
index 1b4382ee3e73d4d5b29a059900e9f1b9a5c9e0d1..d376cb358b29983de1c3d3d58823b78e8333a133 100644 (file)
@@ -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;
        }
index 9b8ba82ec105d023f87c9bb1a1493ef221e11772..09b0ad46363a1c99aec79c89b5f07517a1d769ea 100644 (file)
@@ -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);
 
index 825a1d79fa18d023fd2a0dcdc8cf135acc6d059a..eeeb4b504754a30d9919c2d060f4ac856d9b31dc 100644 (file)
@@ -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);
 
index 2a87df5c9be4f46bb15357505100301fdf71c65a..713b436174751ea9ccbbf95bb5730748d2761e5c 100644 (file)
@@ -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"));
 }
index 9efe3e37a587c2e7bdb8fbad8d83d2bd6e388030..a9d004203e213c762f59e956bbe07921f106a369 100644 (file)
@@ -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"));
        }
 }
index f77dff0aaa3ee7e027ea76d02c22ea58a05236f8..1853d0f772d5db931157b255585e79726258dbc0 100644 (file)
@@ -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"));
                }
        }
 
index fdf85a9f9330a5ceb7d3021daae42967d6edb8ac..5e4dd84e43ef4ee47607737c1182c22686a998e7 100644 (file)
@@ -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"));
                }
        }
 }
index 39e135eadb9a3ddd7241dab14eee75a75e98c64a..508c2e30a78c213577312f4c3b1738bdeb7be3be 100644 (file)
@@ -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);
 }
-
index 3c755c6b3374fd9bf1996303cb614df42d2c3006..fc1c7e1872504f206f78ca80f045c42ada8afa52 100644 (file)
@@ -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);
 
                /*
index e13d549af65530c550c17f807b0af216ebaad8c0..9c666ea0dacb8ae9684000dc81cf50078328a16d 100644 (file)
@@ -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
index b0202eb4c4994ea36ef3668a1606bd8474c6184c..d0c988ed21a2fd67c9a0a1d6d53765f5aa294fe5 100644 (file)
@@ -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);
                                        }
                                        /*
index 261a9271c91140fdff1f050319b35ca56adbad3f..085a85c3218f25a843a62c6084463468a9e5914e 100644 (file)
@@ -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;
                                        }
index 83c8d20ad68c0d2198131186034b69f70e9c554d..7191327527b1e154c7ee0ddcde50f03510946c93 100644 (file)
@@ -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;
index aed6042f8d2b113373a7f111065a2308158e5e5b..a2b4ecabb00f187c5c671cb2cf428cdb5cb493cd 100644 (file)
@@ -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);
 
index 875bb5aad2f3d8a6c73b139889400acdaf4adf7f..6fb757e40c5e6ee510a05aa6cbc99fb14c3ce87f 100644 (file)
@@ -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));
index 2e79babac4b7037709f31e348448f8ebe0b0c944..d21923d93a6b39f51c680b7dc68a044db272ff29 100644 (file)
@@ -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"));
                        }
                }
        }
index a6b1b3313a161e2027fd919e113446f81d7968e3..3fcb9a4d3a09442eaa97ec902b468155c3a34c12 100644 (file)
@@ -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=<value>,swidth=<value>\n", 
+_("Note - stripe unit (%d) and width (%d) fields have been reset.\n"
+  "Please set with mount -o sunit=<value>,swidth=<value>\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);
 }