changes, detection of readonly mounts fixed up.
bump version, document changes.
#
PKG_MAJOR=2
PKG_MINOR=3
-PKG_REVISION=8
+PKG_REVISION=9
PKG_BUILD=0
-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
+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
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);
}
&& 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;
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 \
$(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)
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 ""
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);
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);
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;
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);
}
}
}
* 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)
}
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)
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);
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);
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;
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);
}
}
}
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);
}
}
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;
}
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;
}
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;
}
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;
}
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;
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;
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;
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));
}
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) {
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
* 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"));
}
}
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);
}
}
/* 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 {
* 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;
}
}
*/
if (namecheck((char *)¤tentry->nameval[0],
INT_GET(currententry->namelen, ARCH_CONVERT))) {
- do_warn("entry contains illegal character in shortform attribute name\n");
+ do_warn(
+ _("entry contains illegal character in shortform attribute name\n"));
junkit = 1;
}
if (INT_GET(currententry->flags, ARCH_CONVERT) & XFS_ATTR_INCOMPLETE) {
- do_warn("entry has INCOMPLETE flag on in shortform attribute\n");
+ do_warn(
+ _("entry has INCOMPLETE flag on in shortform attribute\n"));
junkit = 1;
}
/* Only check values for root security attributes */
if (INT_GET(currententry->flags, ARCH_CONVERT) & XFS_ATTR_ROOT)
- junkit = valuecheck((char *)¤tentry->nameval[0], NULL,
- INT_GET(currententry->namelen, ARCH_CONVERT), INT_GET(currententry->valuelen, ARCH_CONVERT));
+ junkit = valuecheck((char *)¤tentry->nameval[0],
+ NULL,
+ INT_GET(currententry->namelen, ARCH_CONVERT),
+ INT_GET(currententry->valuelen, ARCH_CONVERT));
remainingspace = remainingspace -
XFS_ATTR_SF_ENTSIZE(currententry);
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));
*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);
}
}
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;
/* 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;
}
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;
}
* 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);
/* 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;
/* 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 */
(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;
*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 */
&& 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);
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);
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);
}
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;
}
/* 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;
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;
}
/*
* 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;
}
/* 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);
}
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);
}
}
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);
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) {
/* 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;
}
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);
}
== 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);
}
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++)
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;
}
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;
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;
}
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;
}
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;
}
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);
}
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:
* 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;
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:
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:
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;
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)));
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);
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;
}
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));
}
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 {
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));
}
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));
}
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));
}
}
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;
}
* 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 {
/*
} 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;
}
} 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);
}
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;
}
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) {
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);
*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);
}
*/
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);
}
&& (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);
}
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);
}
/* 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 ... */
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);
}
}
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);
}
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();
}
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)));
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);
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);
}
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]);
}
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);
*/
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);
}
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]);
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);
}
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;
}
*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) {
/*
* 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);
}
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;
* 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);
}
* 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);
}
*/
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;
}
}
/*
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);
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);
}
}
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);
}
} 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);
*/
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);
}
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);
}
* 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);
}
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);
}
* 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);
}
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);
}
}
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);
}
* 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);
}
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();
}
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:
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);
}
}
(!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);
}
}
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);
}
*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);
}
* 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) {
*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;
/* 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);
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;
* 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) {
}
} 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) {
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"));
}
}
*/
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"));
}
}
*/
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) {
}
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) {
*/
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);
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,
*/
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) {
}
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);
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);
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));
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));
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));
}
break;
default:
- do_error("unexpected inode format %d\n",
+ do_error(_("unexpected inode format %d\n"),
(int) dinoc->di_format);
break;
}
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) {
* 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);
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) {
* 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) {
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;
* 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 {
}
ASSERT(*dirty > 0);
} else {
- do_warn(", would clear attr fork\n");
+ do_warn(_(", would clear attr fork\n"));
}
atotblocks = 0;
&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) {
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) {
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;
*/
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) {
}
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) {
}
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);
}
}
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:
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 ... */
err = 0;
break;
default:
- printf("Unexpected inode type\n");
+ printf(_("Unexpected inode type\n"));
abort();
}
*/
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 {
/*
* 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);
}
}
*
* 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"));
}
}
}
* 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;
}
/*
* 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),
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;
}
* 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;
}
(__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,
((__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);
}
* 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;
}
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 *)
*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);
}
}
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;
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;
}
*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) {
/*
*/
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) {
* 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"));
}
}
/*
* 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);
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);
}
* 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);
}
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;
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);
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;
}
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;
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;
}
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);
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);
}
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);
}
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);
}
* 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++;
}
* 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);
}
/*
* 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);
}
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);
}
}
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);
}
* 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++;
}
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);
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);
}
}
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;
*/
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
* 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
*/
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
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);
}
* 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);
/*
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;
}
* 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);
/*
* 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) {
/*
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);
}
}
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"));
}
}
/*
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);
/*
* 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));
* 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);
}
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);
}
*/
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);
}
}
* 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);
}
}
* 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;
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) {
*/
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,
*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);
}
*/
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);
}
}
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);
}
}
*/
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"));
}
}
}
* 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);
}
}
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);
}
}
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;
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;
}
*/
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++) {
"- (%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];
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;
}
} 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);
}
}
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;
}
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;
}
/*
* 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;
}
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;
}
/*
* 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;
}
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,
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);
}
/*
* 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);
* 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);
}
}
* 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)) {
* 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);
}
/*
* 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;
}
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);
}
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++) {
}
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;
}
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)) {
} 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));
} 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));
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;
}
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);
}
} 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;
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;
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;
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);
* 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);
}
/*
/*
* 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);
}
}
* 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));
}
* 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
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);
}
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);
}
* 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) {
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;
/*
* 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);
}
}
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);
/*
* 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
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
*/
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) {
/*
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) {
/*
* 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) {
((__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,
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);
}
/*
* 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;
}
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 *)
*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)
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;
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);
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;
/*
* 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) {
* 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"));
}
}
* 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;
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;
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;
* 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;
*/
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;
}
* 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.
* 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
*/
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
*/
if (!ino_discovery && is_inode_free(irec_p, ino_off)) {
clearino = 1;
- clearreason = "free";
+ clearreason = _("free");
} else
clearino = 0;
} else if (ino_discovery) {
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;
*/
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);
}
}
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;
/*
* 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;
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;
}
*/
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"));
}
}
}
* 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;
}
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;
}
* 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;
}
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"));
}
}
/*
* 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;
*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;
}
*/
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
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;
}
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;
}
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;
}
/*
* 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;
}
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;
/*
* 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;
}
/*
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);
*/
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,
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);
}
/*
* 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;
}
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 {
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++) {
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;
}
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;
}
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);
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"));
}
}
}
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;
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;
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;
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);
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;
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;
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++) {
}
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);
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 =
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"));
}
}
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);
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,
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
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));
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;
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));
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);
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);
/* 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;
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"));
}
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 */
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"));
}
}
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);
}
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);
}
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;
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();
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"));
}
}
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);
}
}
/* 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
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
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"));
}
}
}
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;
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);
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));
{
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
/* 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)
/*
* 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
}
} while (j != 0);
}
-
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);
/*
0));
}
- do_warn(" - clearing existing \"%s\" inode\n",
+ do_warn(
+ _(" - clearing existing \"%s\" inode\n"),
ORPHANAGE);
ino_dirty = clear_dinode(mp, dino, lino);
*/
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++;
}
}
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
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);
(__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';
* 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;
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
set_inode_free(irec, ino_offset);
}
- do_warn(" - deleting existing \"%s\" entry\n",
+ do_warn(_(" - deleting existing \"%s\" entry\n"),
ORPHANAGE);
/*
* 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);
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) &
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);
/*
0));
}
- do_warn(" - clearing existing \"%s\" inode\n",
+ do_warn(
+ _(" - clearing existing \"%s\" inode\n"),
ORPHANAGE);
ino_dirty = clear_dinode(mp, dino, lino);
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);
*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
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);
* 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;
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
set_inode_free(irec, ino_offset);
}
- do_warn(" - deleting existing \"%s\" entry\n",
+ do_warn(_(" - deleting existing \"%s\" entry\n"),
ORPHANAGE);
/*
* 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);
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
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);
}
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));
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"));
}
/*
* 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);
}
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:
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:
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.
* 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);
/*
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;
* 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;
* 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) {
}
#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);
* 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,
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);
}
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);
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",
* 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);
}
/*
* 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
: 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;
}
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
#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(
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))
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;
}
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;
}
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
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);
}
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++) {
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);
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);
}
&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);
}
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);
}
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);
}
&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);
}
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);
}
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);
}
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);
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);
}
/*
* 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);
}
*/
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
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);
}
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)) +
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);
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++;
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++;
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,
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);
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++;
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,
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);
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);
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);
i = -1;
node = NULL;
fblock = NULLFSBLOCK;
- ftype = "dir";
+ ftype = _("dir");
nmap = 1;
error = libxfs_bmapi(NULL, ip, (xfs_fileoff_t) da_bno, 1,
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
* first, grab the dinode and find the right leaf block.
*/
- ftype = "dir";
+ ftype = _("dir");
da_bno = 0;
bp = NULL;
namest = NULL;
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 */
}
&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);
}
}
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
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 */
}
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;
*/
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;
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);
} 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);
}
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);
}
}
}
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;
}
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 */
}
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 {
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;
}
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;
}
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);
*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;
/* 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;
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;
*/
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,
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;
/*
* 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
* 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;
}
*/
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;
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);
}
}
}
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);
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;
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;
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;
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;
}
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;
}
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 */
}
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 */
}
&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 */
}
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 */
}
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);
}
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;
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 */
}
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);
}
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 */
}
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 {
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;
}
*/
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)) {
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);
} 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);
}
}
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);
}
}
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;
}
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);
}
}
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;
}
* 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)) {
*/
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);
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);
}
}
*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++;
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;
} 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);
}
}
((__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;
}
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
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));
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);
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);
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);
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"));
}
/*
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);
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);
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);
*/
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"));
}
}
* 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);
}
* 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));
}
}
- 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
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);
}
/*
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);
}
} 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);
}
}
__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);
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;
}
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"));
}
/*
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;
}
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;
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;
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;
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;
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);
}
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
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"));
}
}
}
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);
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);
}
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);
}
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));
}
}
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);
}
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;
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);
}
*/
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);
}
}
* 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:
* 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);
}
}
* 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);
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),
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);
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
*/
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);
}
*/
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);
}
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);
}
* 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:
*/
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;
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));
/*
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;
}
(*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);
* 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);
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);
}
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);
* 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)
* 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);
}
}
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);
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;
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;
}
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++;
}
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));
}
}
}
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++;
}
* 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);
}
}
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;
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++;
}
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);
/*
break;
default:
do_warn(
- "block (%d,%d) already used, state %d\n",
+ _("block (%d,%d) already used, state %d\n"),
agno, b, state);
break;
}
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++;
}
}
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);
}
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;
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)
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);
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++;
}
(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++;
}
*/
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;
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++;
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++;
* 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++;
}
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;
/*
}
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);
}
}
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++;
}
}
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);
}
}
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;
}
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))
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));
}
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);
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;
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);
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) {
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;
}
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));
* 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|
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;
if (!fs_has_extflgbit_allowed) {
issue_warning = 1;
do_warn(
- "This filesystem has uninitialized extent flags.\n");
+ _("This filesystem has uninitialized extent flags.\n"));
}
}
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;
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;
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;
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;
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"));
}
}
}
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]);
}
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();
}
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();
}
verbose = 1;
break;
case 'V':
- printf("%s version %s\n", progname, VERSION);
+ printf(_("%s version %s\n"), progname, VERSION);
exit(0);
case '?':
usage();
{
va_list args;
- fprintf(stderr, "\nfatal error -- ");
+ fprintf(stderr, _("\nfatal error -- "));
va_start(args, msg);
do_msg(1, msg, args);
*/
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);
/*
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);
/*
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);
/*
xfs_mount_t xfs_m;
progname = basename(argv[0]);
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
temp_mp = &xfs_m;
setbuf(stdout, NULL);
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);
}
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);
}
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);
}
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);
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);
*/
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;
libxfs_device_close(x.logdev);
libxfs_device_close(x.ddev);
- do_log("done\n");
+ do_log(_("done\n"));
return(0);
}