]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_scrub_all: fix argument passing when invoking xfs_scrub manually
authorDarrick J. Wong <djwong@kernel.org>
Fri, 12 Jan 2024 02:07:06 +0000 (18:07 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 12 Jan 2024 02:08:47 +0000 (18:08 -0800)
Currently, xfs_scrub_all will try to invoke xfs_scrub with argv[1] being
"-n -x".  This of course is recognized by C getopt as a weird looking
string, not two individual arguments, and causes the child process to
exit with complaints about CLI usage.

What we really want is to split the string into a proper array and then
add them to the xfs_scrub command line.  The code here isn't strictly
correct, but as @scrub_args@ is controlled by us in the Makefile, it'll
do for now.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
scrub/xfs_scrub_all.in

index d7d36e1bdb095237d5364a2afc3db85a41967823..671d588177a858c52a60d90393fc6e2e5fc4781d 100644 (file)
@@ -123,7 +123,9 @@ def run_scrub(mnt, cond, running_devs, mntdevs, killfuncs):
                                return
 
                # Invoke xfs_scrub manually
-               cmd=['@sbindir@/xfs_scrub', '@scrub_args@', mnt]
+               cmd = ['@sbindir@/xfs_scrub']
+               cmd += '@scrub_args@'.split()
+               cmd += [mnt]
                ret = run_killable(cmd, None, killfuncs, \
                                lambda proc: proc.terminate())
                if ret >= 0: