]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_io: fix broken funshare_cmd usage
authorDarrick J. Wong <djwong@kernel.org>
Wed, 28 Jul 2021 23:01:23 +0000 (19:01 -0400)
committerEric Sandeen <sandeen@sandeen.net>
Wed, 28 Jul 2021 23:01:23 +0000 (19:01 -0400)
Create a funshare_cmd and use that to store information about the
xfs_io funshare command instead of overwriting the contents of
fzero_cmd.  This fixes confusing output like:

$ xfs_io -c 'fzero 2 3 --help' /
fzero: invalid option -- '-'
funshare off len -- unshares shared blocks within the range

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
io/prealloc.c

index 382e811919c674fe29355a5e62b91ad7e444a138..2ae8afe967c02b425a44529d87f60a181afd7fa9 100644 (file)
@@ -43,6 +43,7 @@ static cmdinfo_t fpunch_cmd;
 static cmdinfo_t fcollapse_cmd;
 static cmdinfo_t finsert_cmd;
 static cmdinfo_t fzero_cmd;
+static cmdinfo_t funshare_cmd;
 #endif
 
 static int
@@ -467,14 +468,14 @@ prealloc_init(void)
        _("zeroes space and eliminates holes by preallocating");
        add_command(&fzero_cmd);
 
-       fzero_cmd.name = "funshare";
-       fzero_cmd.cfunc = funshare_f;
-       fzero_cmd.argmin = 2;
-       fzero_cmd.argmax = 2;
-       fzero_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
-       fzero_cmd.args = _("off len");
-       fzero_cmd.oneline =
+       funshare_cmd.name = "funshare";
+       funshare_cmd.cfunc = funshare_f;
+       funshare_cmd.argmin = 2;
+       funshare_cmd.argmax = 2;
+       funshare_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
+       funshare_cmd.args = _("off len");
+       funshare_cmd.oneline =
        _("unshares shared blocks within the range");
-       add_command(&fzero_cmd);
+       add_command(&funshare_cmd);
 #endif /* HAVE_FALLOCATE */
 }