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
# 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)"
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
}
/**
- * 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,
};
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.
{"=== 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"},