Link counts are unsigned and need to be printed as such. Also only
print the varning about upgrading the inode version if the inode was
version 1 before.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Index: xfsprogs-dev/repair/phase7.c
===================================================================
--- xfsprogs-dev.orig/repair/phase7.c 2012-02-28 12:45:52.627849317 +0100
+++ xfsprogs-dev/repair/phase7.c 2012-02-28 14:03:20.475986024 +0100
@@ -40,19 +40,20 @@ set_nlinks(
if (!no_modify) {
*dirty = 1;
- do_warn(_("resetting inode %" PRIu64 " nlinks from %d to %d\n"),
+ do_warn(_("resetting inode %" PRIu64 " nlinks from %u to %u\n"),
ino, dinoc->di_nlink, nrefs);
- if (nrefs > XFS_MAXLINK_1) {
+ if (dinoc->di_version == 1 && nrefs > XFS_MAXLINK_1) {
ASSERT(fs_inode_nlink);
do_warn(
-_("nlinks %d will overflow v1 ino, ino %" PRIu64 " will be converted to
version 2\n"),
+_("nlinks %u will overflow v1 ino, ino %" PRIu64 " will be converted to
version 2\n"),
nrefs, ino);
}
dinoc->di_nlink = nrefs;
} else {
- do_warn(_("would have reset inode %" PRIu64 " nlinks from %d to
%d\n"),
+ do_warn(
+_("would have reset inode %" PRIu64 " nlinks from %u to %u\n"),
ino, dinoc->di_nlink, nrefs);
}
}
|