From 7f88b4d05b5e7b0347022b1d126fb4edfa7821bc Mon Sep 17 00:00:00 2001 From: Victoria Mackie Date: Thu, 13 Jun 2024 23:31:46 +0100 Subject: [PATCH] mon: fix inconsistencies in class param consistently apply allowed set of goodchars across all uses of the 'class' param Fixes: https://tracker.ceph.com/issues/45253 Signed-off-by: Victoria Mackie (cherry picked from commit 95b64a65bc9bbc5781764d27aac4ca2f23c09196) --- src/mon/MonCommands.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index 3afe0fb9ff736..d32085d2a9664 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -129,6 +129,10 @@ * to any guidelines regarding deprecating commands. */ +#define DEFAULT_GOODCHARS "[A-Za-z0-9-_.]" +#define FS_NAME_GOODCHARS DEFAULT_GOODCHARS +#define CLASS_GOODCHARS DEFAULT_GOODCHARS + COMMAND("pg map name=pgid,type=CephPgid", "show mapping of pg to osds", \ "pg", "r") COMMAND("pg repeer name=pgid,type=CephPgid", "force a PG to repeer", @@ -292,7 +296,6 @@ COMMAND("versions", * MDS commands (MDSMonitor.cc) */ -#define FS_NAME_GOODCHARS "[A-Za-z0-9-_.]" COMMAND_WITH_FLAG("mds stat", "show MDS status", "mds", "r", FLAG(HIDDEN)) COMMAND("fs dump " "name=epoch,type=CephInt,req=false,range=0", @@ -589,7 +592,7 @@ COMMAND_WITH_FLAG("osd crush rule list", "list crush rules", "osd", "r", FLAG(DEPRECATED)) COMMAND("osd crush rule ls", "list crush rules", "osd", "r") COMMAND("osd crush rule ls-by-class " - "name=class,type=CephString,goodchars=[A-Za-z0-9-_.]", + "name=class,type=CephString,goodchars=" CLASS_GOODCHARS, "list all crush rules that reference the same ", "osd", "r") COMMAND("osd crush rule dump " @@ -633,16 +636,16 @@ COMMAND("osd crush set-all-straw-buckets-to-straw2", "convert all CRUSH current straw buckets to use the straw2 algorithm", "osd", "rw") COMMAND("osd crush class create " - "name=class,type=CephString,goodchars=[A-Za-z0-9-_]", + "name=class,type=CephString,goodchars=" CLASS_GOODCHARS, "create crush device class ", "osd", "rw") COMMAND("osd crush class rm " - "name=class,type=CephString,goodchars=[A-Za-z0-9-_]", + "name=class,type=CephString,goodchars=" CLASS_GOODCHARS, "remove crush device class ", "osd", "rw") COMMAND("osd crush set-device-class " - "name=class,type=CephString " - "name=ids,type=CephString,n=N", + "name=class,type=CephString,goodchars=" CLASS_GOODCHARS + " name=ids,type=CephString,n=N", "set the of the osd(s) [...]," "or use to set all.", "osd", "rw") @@ -732,7 +735,7 @@ COMMAND("osd crush rule create-replicated " "name=name,type=CephString,goodchars=[A-Za-z0-9-_.] " "name=root,type=CephString,goodchars=[A-Za-z0-9-_.] " "name=type,type=CephString,goodchars=[A-Za-z0-9-_.] " - "name=class,type=CephString,goodchars=[A-Za-z0-9-_.],req=false", + "name=class,type=CephString,goodchars=" CLASS_GOODCHARS ",req=false", "create crush rule for replicated pool to start from , replicate across buckets of type , use devices of type (ssd or hdd)", "osd", "rw") COMMAND("osd crush rule create-erasure " @@ -759,7 +762,7 @@ COMMAND("osd crush class ls", "list all crush device classes", "osd", "r") COMMAND("osd crush class ls-osd " - "name=class,type=CephString,goodchars=[A-Za-z0-9-_]", + "name=class,type=CephString,goodchars=" CLASS_GOODCHARS, "list all osds belonging to the specific ", "osd", "r") COMMAND("osd crush get-device-class " -- 2.39.5