Whamcloud - gitweb
LU-18114 changelog: split "lctl changelog_*" group into subcommands 33/56133/4
authorEmoly Liu <emoly@whamcloud.com>
Tue, 27 Aug 2024 11:26:08 +0000 (19:26 +0800)
committerOleg Drokin <green@whamcloud.com>
Mon, 9 Dec 2024 06:08:09 +0000 (06:08 +0000)
Split "lctl changelog_*" command group into subcommands, e.g.
"lctl changelog_register" to "lctl changelog register".
Also, test-framework is modified to verify this patch.

Signed-off-by: Emoly Liu <emoly@whamcloud.com>
Change-Id: Ifd2c92ab3173507084342b7b575c2506e0e4bb9a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56133
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Frederick Dilger <fdilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/test-framework.sh
lustre/utils/lctl.c

index afb0c63..8a09d86 100755 (executable)
@@ -10984,6 +10984,11 @@ __changelog_deregister() {
        local cl_user=$2
        local rc=0
 
+       if (( $MDS1_VERSION >= $(version_code 2.15.65) )); then
+               changelog_deregister="changelog deregister"
+       else
+               changelog_deregister="changelog_deregister"
+       fi
        # skip cleanup if no user registered for this MDT
        [ -z "$cl_user" ] && echo "$mdt: no changelog user" && return 0
        # user is no longer registered, skip cleanup
@@ -10993,12 +10998,17 @@ __changelog_deregister() {
        # From this point, if any operation fails, it is an error
        __changelog_clear $facet $cl_user 0 ||
                error_noexit "$mdt: changelog_clear $cl_user 0 fail: $rc"
-       do_facet $facet $LCTL --device $mdt changelog_deregister $cl_user ||
+       do_facet $facet $LCTL --device $mdt $changelog_deregister $cl_user ||
                error_noexit "$mdt: changelog_deregister '$cl_user' fail: $rc"
 }
 
 declare -Ax CL_USERS
 changelog_register() {
+       if (( $MDS1_VERSION >= $(version_code 2.15.65) )); then
+               changelog_register="changelog register"
+       else
+               changelog_register="changelog_register"
+       fi
        for M in $(seq $MDSCOUNT); do
                local facet=mds$M
                local mdt="$(facet_svc $facet)"
@@ -11013,7 +11023,7 @@ changelog_register() {
 
                local cl_user
                cl_user=$(do_facet $facet $LCTL --device $mdt \
-                       changelog_register -n "$@") ||
+                       $changelog_register -n "$@") ||
                        error "$mdt: register changelog user failed: $?"
                stack_trap "__changelog_deregister $facet $cl_user" EXIT
 
index 5331d11..23d7482 100644 (file)
@@ -64,7 +64,7 @@ static int jt_##name(int argc, char **argv)                   \
 }
 
 /**
- * command_t pccdev_cmdlist - lctl pcc commands.
+ * command_t pcc_cmdlist - lctl pcc commands.
  */
 command_t pcc_cmdlist[] = {
        { .pc_name = "add", .pc_func = jt_pcc_add,
@@ -86,6 +86,25 @@ command_t pcc_cmdlist[] = {
 };
 JT_SUBCMD(pcc);
 
+/**
+ * command_t changelog_cmdlist - lctl changelog commands.
+ */
+command_t changelog_cmdlist[] = {
+       {.pc_name = "register", .pc_func = jt_changelog_register,
+        .pc_help = "register a new persistent changelog user, returns id\n"
+        "usage: {--device MDTNAME} changelog register [--help|-h]\n"
+        "                                             [--mask|-m MASK]\n"
+        "                                             [--nameonly|-n]\n"
+        "                                             [--user|-u USERNAME]"},
+       {.pc_name = "deregister", .pc_func = jt_changelog_deregister,
+        .pc_help = "deregister an existing changelog user\n"
+        "usage: {--device MDTNAME} changelog deregister [ID|clID]\n"
+        "                                               [--help|-h]\n"
+        "                                               [--user|-u USERNAME]"},
+       {.pc_help = NULL }
+};
+JT_SUBCMD(changelog);
+
 #ifdef HAVE_SERVER_SUPPORT
 /**
  * command_t barrier_cmdlist - lctl barrier commands.
@@ -467,15 +486,16 @@ command_t cmdlist[] = {
        {"===  Changelogs ==", NULL, 0, "changelog user management"},
        {"changelog_register", jt_changelog_register, 0,
         "register a new persistent changelog user, returns id\n"
-        "usage: --device <mdtname> changelog_register [--help|-h]\n"
-        "                                             [--mask|-m <[+|-]mask1[<,|+|->mask2...]>]\n"
+        "usage: {--device MDTNAME} changelog_register [--help|-h]\n"
+        "                                             [--mask|-m MASK]\n"
         "                                             [--nameonly|-n]\n"
-        "                                             [--user|-u <username>]"},
+        "                                             [--user|-u USERNAME]"},
        {"changelog_deregister", jt_changelog_deregister, 0,
         "deregister an existing changelog user\n"
-        "usage: --device <mdtname> changelog_deregister [<id>|cl<id>...]\n"
+        "usage: {--device MDTNAME} changelog_deregister [ID|clID]\n"
         "                                               [--help|-h]\n"
-        "                                               [--user|-u <username>]\n"},
+        "                                               [--user|-u USERNAME]"},
+       {"changelog", jt_changelog, changelog_cmdlist, ""},
 
        /* Persistent Client Cache (PCC) commands */
        {"=== Persistent Client Cache ===", NULL, 0, "PCC user management"},