From: Emoly Liu Date: Tue, 27 Aug 2024 11:26:08 +0000 (+0800) Subject: LU-18114 changelog: split "lctl changelog_*" group into subcommands X-Git-Tag: 2.16.51~116 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=77e98c10b3ea5ff6c0664b9db138fa679817a986;p=fs%2Flustre-release.git LU-18114 changelog: split "lctl changelog_*" group into subcommands 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 Change-Id: Ifd2c92ab3173507084342b7b575c2506e0e4bb9a Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56133 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Frederick Dilger Reviewed-by: Oleg Drokin --- diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index afb0c63..8a09d86 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -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 diff --git a/lustre/utils/lctl.c b/lustre/utils/lctl.c index 5331d11..23d7482 100644 --- a/lustre/utils/lctl.c +++ b/lustre/utils/lctl.c @@ -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 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 ]"}, + " [--user|-u USERNAME]"}, {"changelog_deregister", jt_changelog_deregister, 0, "deregister an existing changelog user\n" - "usage: --device changelog_deregister [|cl...]\n" + "usage: {--device MDTNAME} changelog_deregister [ID|clID]\n" " [--help|-h]\n" - " [--user|-u ]\n"}, + " [--user|-u USERNAME]"}, + {"changelog", jt_changelog, changelog_cmdlist, ""}, /* Persistent Client Cache (PCC) commands */ {"=== Persistent Client Cache ===", NULL, 0, "PCC user management"},