From: Emoly Liu Date: Tue, 27 Aug 2024 11:36:22 +0000 (+0800) Subject: LU-18114 lctl: split "lctl net_delay_*" group into subcommands X-Git-Tag: 2.16.51~114 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=fec78d456815627d2afe5a75b85c11941f8e426a;p=fs%2Flustre-release.git LU-18114 lctl: split "lctl net_delay_*" group into subcommands Split "lctl net_delay_*" command group into subcommands, e.g. "lctl net_delay_add" to "lctl net_delay add". Also, sanity-lnet.sh is modified to verify this patch. Test-Parameters: trivial testlist=sanity-lnet Signed-off-by: Emoly Liu Change-Id: I64fa95155f93d8a5d844f9e14673acaea5f4ee60 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56164 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Chris Horn Reviewed-by: Oleg Drokin --- diff --git a/lustre/tests/sanity-lnet.sh b/lustre/tests/sanity-lnet.sh index 231a1c6..b648957 100755 --- a/lustre/tests/sanity-lnet.sh +++ b/lustre/tests/sanity-lnet.sh @@ -3757,9 +3757,17 @@ do_expired_message_drop_test() { delay=$((tto + 1)) + if (( $MDS1_VERSION >= $(version_code 2.15.65) )); then + net_delay_add="net_delay add" + net_delay_del="net_delay del" + else + net_delay_add="net_delay_add" + net_delay_del="net_delay_del" + fi + for lnid in "${LNIDS[@]}"; do for rnid in "${RNIDS[@]}"; do - $LCTL net_delay_add -s "${lnid}" -d "${rnid}" \ + $LCTL $net_delay_add -s "${lnid}" -d "${rnid}" \ -l "${delay}" -r 1 -m GET || error "Failed to add delay rule" done @@ -3800,7 +3808,7 @@ do_expired_message_drop_test() { sleep ${delay} - $LCTL net_delay_del -a + $LCTL $net_delay_del -a wait diff --git a/lustre/utils/lctl.c b/lustre/utils/lctl.c index 0f6545c..ec12fd4 100644 --- a/lustre/utils/lctl.c +++ b/lustre/utils/lctl.c @@ -131,6 +131,32 @@ command_t net_drop_cmdlist[] = { }; JT_SUBCMD(net_drop); +/** + * command_t net_delay_cmdlist - lctl net_delay commands. + */ +command_t net_delay_cmdlist[] = { + {.pc_name = "add", .pc_func = jt_ptl_delay_add, + .pc_help = "Add LNet delay rule\n" + "usage: net_delay add {-s | --source NID}\n" + " {-d | --dest NID}\n" + " {{-r | --rate DELAY_RATE} | {-i | --interval SECONDS}}\n" + " {-l | --latency SECONDS>\n" + " [-p | --portal PORTAL...]\n" + " [-m | --message {PUT|ACK|GET|REPLY...}]"}, + {.pc_name = "del", .pc_func = jt_ptl_delay_del, + .pc_help = "remove LNet delay rule\n" + "usage: net_delay del {-a | --all} |\n" + " {{-s | --source NID} {-d | --dest NID}}"}, + {.pc_name = "reset", .pc_func = jt_ptl_delay_reset, + .pc_help = "reset delay rule stats\n" + "usage: net_delay reset"}, + {.pc_name = "list", .pc_func = jt_ptl_delay_list, + .pc_help = "list LNet delay rules\n" + "usage: net_delay list"}, + {.pc_help = NULL } +}; +JT_SUBCMD(net_delay); + #ifdef HAVE_SERVER_SUPPORT /** * command_t barrier_cmdlist - lctl barrier commands. @@ -289,21 +315,20 @@ command_t cmdlist[] = { {"net_drop", jt_net_drop, net_drop_cmdlist, ""}, {"net_delay_add", jt_ptl_delay_add, 0, "Add LNet delay rule\n" - "usage: net_delay_add <-s | --source NID>\n" - " <-d | --dest NID>\n" - " <<-r | --rate DROP_RATE> |\n" - " <-i | --interval SECONDS>>\n" - " <-l | --latency SECONDS>\n" - " [<-p | --portal> PORTAL...]\n" - " [<-m | --message> ...]\n"}, + "usage: net_delay_add {-s | --source NID}\n" + " {-d | --dest NID}\n" + " {{-r | --rate DELAY_RATE} | {-i | --interval SECONDS}}\n" + " {-l | --latency SECONDS>\n" + " [-p | --portal PORTAL...]\n" + " [-m | --message {PUT|ACK|GET|REPLY...}]"}, {"net_delay_del", jt_ptl_delay_del, 0, "remove LNet delay rule\n" - "usage: net_delay_del <[-a | --all] |\n" - " <-s | --source NID>\n" - " <-d | --dest NID>>\n"}, + "usage: net_delay_del {-a | --all} |\n" + " {{-s | --source NID} {-d | --dest NID}}"}, {"net_delay_reset", jt_ptl_delay_reset, 0, "reset delay rule stats\n" "usage: net_delay_reset"}, {"net_delay_list", jt_ptl_delay_list, 0, "list LNet delay rules\n" "usage: net_delay_list"}, + {"net_delay", jt_net_delay, net_delay_cmdlist, ""}, /* Device selection commands */ {"==== obd device selection ====", NULL, 0, "device selection"},