[PATCH 1/2] xfs_io: fix broken funshare_cmd usage
From: "Darrick J. Wong" <djwong@kernel.org>
Date: 2021-07-28 21:16:01
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Darrick J. Wong <djwong@kernel.org> 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 <redacted> --- io/prealloc.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/io/prealloc.c b/io/prealloc.c
index 382e8119..2ae8afe9 100644
--- a/io/prealloc.c
+++ b/io/prealloc.c@@ -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 */ }