diff mbox series

[12/17] xfs_scrub: report optional features in version string

Message ID 164263816090.863810.16834243121150635355.stgit@magnolia (mailing list archive)
State Superseded
Headers show
Series xfsprogs: various 5.15 fixes | expand

Commit Message

Darrick J. Wong Jan. 20, 2022, 12:22 a.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

Ted T'so reported brittleness in the fstests logic in generic/45[34] to
detect whether or not xfs_scrub is capable of detecting Unicode mischief
in directory and xattr names.  This is a compile-time feature, since we
do not assume that all distros will want to ship xfsprogs with libicu.

Rather than relying on ldd tests (which don't work at all if xfs_scrub
is compiled statically), let's have -V print whether or not the feature
is built into the tool.  Phase 5 still requires the presence of "UTF-8"
in LC_MESSAGES to enable Unicode confusable detection; this merely makes
the feature easier to discover.

Reported-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
 scrub/xfs_scrub.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

Comments

Theodore Ts'o Jan. 20, 2022, 1:16 a.m. UTC | #1
On Wed, Jan 19, 2022 at 04:22:40PM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> Ted T'so reported brittleness in the fstests logic in generic/45[34] to

Not a super big deal, but my last name is "Ts'o".

Thanks,

						- Ted
Darrick J. Wong Jan. 20, 2022, 1:28 a.m. UTC | #2
On Wed, Jan 19, 2022 at 08:16:56PM -0500, Theodore Ts'o wrote:
> On Wed, Jan 19, 2022 at 04:22:40PM -0800, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> > 
> > Ted T'so reported brittleness in the fstests logic in generic/45[34] to
> 
> Not a super big deal, but my last name is "Ts'o".

D'oh.  Sorry about that, will fix.

--D

> Thanks,
> 
> 						- Ted
diff mbox series

Patch

diff --git a/scrub/xfs_scrub.c b/scrub/xfs_scrub.c
index bc2e84a7..45e58727 100644
--- a/scrub/xfs_scrub.c
+++ b/scrub/xfs_scrub.c
@@ -582,6 +582,13 @@  report_outcome(
 	}
 }
 
+/* Compile-time features discoverable via version strings */
+#ifdef HAVE_LIBICU
+# define XFS_SCRUB_HAVE_UNICODE	"+"
+#else
+# define XFS_SCRUB_HAVE_UNICODE	"-"
+#endif
+
 int
 main(
 	int			argc,
@@ -670,8 +677,9 @@  main(
 			verbose = true;
 			break;
 		case 'V':
-			fprintf(stdout, _("%s version %s\n"), progname,
-					VERSION);
+			fprintf(stdout, _("%s version %s %sUnicode\n"),
+					progname, VERSION,
+					XFS_SCRUB_HAVE_UNICODE);
 			fflush(stdout);
 			return SCRUB_RET_SUCCESS;
 		case 'x':