]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: fix inconsistencies in class param 59278/head
authorVictoria Mackie <victoriam@uk.ibm.com>
Thu, 13 Jun 2024 22:31:46 +0000 (23:31 +0100)
committerKonstantin Shalygin <k0ste@k0ste.ru>
Sat, 17 Aug 2024 11:07:45 +0000 (18:07 +0700)
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 <victoriam@uk.ibm.com>
(cherry picked from commit 95b64a65bc9bbc5781764d27aac4ca2f23c09196)

src/mon/MonCommands.h

index 3afe0fb9ff736aeafd4ac24d18931ff51aa9c512..d32085d2a96640de94475be199c8b2803f1bfab4 100644 (file)
  * 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 <class>",
         "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 <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 <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 <class> of the osd(s) <id> [<id>...],"
         "or use <all|any> 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 <name> for replicated pool to start from <root>, replicate across buckets of type <type>, use devices of type <class> (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 <class>",
         "osd", "r")
 COMMAND("osd crush get-device-class "