]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_repair: fix messaging when shortform_dir2_junk is called
authorDarrick J. Wong <djwong@kernel.org>
Mon, 5 Jun 2023 15:37:50 +0000 (08:37 -0700)
committerCarlos Maiolino <cem@kernel.org>
Wed, 12 Jul 2023 07:15:18 +0000 (09:15 +0200)
This function is called when we've decide to junk a shortform directory
entry.  This is obviously corruption of some kind, so we should always
say something, particularly if we're in !verbose repair mode.
Otherwise, if we're in non-verbose repair mode, we print things like:

entry "FOO" in shortform directory XXX references non-existent inode YYY

Without telling the sysadmin that we're removing the dirent.

Fixes: aaca101b1ae ("xfs_repair: add support for validating dirent ftype field")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
repair/phase6.c

index c64185342e7c2b276fca4e7b84dd5bc19d4f57ec..be10d9b7536bdf3a241d92ae9672b7220620ba1d 100644 (file)
@@ -2440,10 +2440,7 @@ shortform_dir2_junk(
         */
        (*index)--;
 
-       if (verbose)
-               do_warn(_("junking entry\n"));
-       else
-               do_warn("\n");
+       do_warn(_("junking entry\n"));
        return sfep;
 }
 
@@ -2592,7 +2589,7 @@ shortform_dir2_entry_check(
 
                if (irec == NULL)  {
                        do_warn(
-       _("entry \"%s\" in shortform directory %" PRIu64 " references non-existent inode %" PRIu64 "\n"),
+       _("entry \"%s\" in shortform directory %" PRIu64 " references non-existent inode %" PRIu64 ""),
                                fname, ino, lino);
                        next_sfep = shortform_dir2_junk(mp, sfp, sfep, lino,
                                                &max_size, &i, &bytes_deleted,
@@ -2609,7 +2606,7 @@ shortform_dir2_entry_check(
                 */
                if (is_inode_free(irec, ino_offset))  {
                        do_warn(
-       _("entry \"%s\" in shortform directory inode %" PRIu64 " points to free inode %" PRIu64 "\n"),
+       _("entry \"%s\" in shortform directory inode %" PRIu64 " points to free inode %" PRIu64 ""),
                                fname, ino, lino);
                        next_sfep = shortform_dir2_junk(mp, sfp, sfep, lino,
                                                &max_size, &i, &bytes_deleted,
@@ -2625,7 +2622,7 @@ shortform_dir2_entry_check(
                         */
                        if (!inode_isadir(irec, ino_offset)) {
                                do_warn(
-       _("%s (ino %" PRIu64 ") in root (%" PRIu64 ") is not a directory"),
+       _("%s (ino %" PRIu64 ") in root (%" PRIu64 ") is not a directory"),
                                        ORPHANAGE, lino, ino);
                                next_sfep = shortform_dir2_junk(mp, sfp, sfep,
                                                lino, &max_size, &i,
@@ -2647,7 +2644,7 @@ shortform_dir2_entry_check(
                                lino, sfep->namelen, sfep->name,
                                libxfs_dir2_sf_get_ftype(mp, sfep))) {
                        do_warn(
-_("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
+_("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
                                fname, lino, ino);
                        next_sfep = shortform_dir2_junk(mp, sfp, sfep, lino,
                                                &max_size, &i, &bytes_deleted,
@@ -2672,7 +2669,7 @@ _("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
                        if (is_inode_reached(irec, ino_offset))  {
                                do_warn(
        _("entry \"%s\" in directory inode %" PRIu64
-         " references already connected inode %" PRIu64 ".\n"),
+         " references already connected inode %" PRIu64 ""),
                                        fname, ino, lino);
                                next_sfep = shortform_dir2_junk(mp, sfp, sfep,
                                                lino, &max_size, &i,
@@ -2696,7 +2693,7 @@ _("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
                                do_warn(
        _("entry \"%s\" in directory inode %" PRIu64
          " not consistent with .. value (%" PRIu64
-         ") in inode %" PRIu64 ",\n"),
+         ") in inode %" PRIu64 ", "),
                                        fname, ino, parent, lino);
                                next_sfep = shortform_dir2_junk(mp, sfp, sfep,
                                                lino, &max_size, &i,