From 9fc83091447eca930c7485ebceb25dbe173b8551 Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Wed, 21 Apr 2021 10:28:26 -0500 Subject: [PATCH] EX-3046 lipe: remove IML sockets Remove the untested and unmaintained IML sockets from lamigo and lpurge. Lustre-change: https://review.whamcloud.com/43374 Lustre-commit: 1e58e57300484952da3e4e7801c8f0d1a9aa5b84 Test-Parameters: trivial Signed-off-by: John L. Hammond Change-Id: I75346b7a1478b9f5902e4b139f2ee9e2fca67ffc Reviewed-by: Jian Yu Reviewed-by: Alex Zhuravlev Reviewed-on: https://review.whamcloud.com/44221 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- lipe/src/lamigo.c | 119 ++---------------------------------------------------- lipe/src/lamigo.h | 4 -- lipe/src/lpurge.c | 62 ++-------------------------- 3 files changed, 7 insertions(+), 178 deletions(-) diff --git a/lipe/src/lamigo.c b/lipe/src/lamigo.c index 323a5aa..62e7b81 100644 --- a/lipe/src/lamigo.c +++ b/lipe/src/lamigo.c @@ -51,7 +51,6 @@ #include #include "policy.h" #include "list.h" -#include "flist.h" #include "debug.h" #include "lipe_object_attrs.h" #include "lipe_ssh.h" @@ -95,11 +94,6 @@ __u64 lamigo_rule_attrs; /* attributes needed to evalute the rules */ static void usage(void) { - /* - * internal option: - * --iml-re-socket, unix domain socket to dump FIDs to resync - * --iml-ex-socket, unix domain socket to dump FIDs to extend - */ printf("\nUsage: %s [options]\n" "options:\n" "\t-a, --min-age, seconds before record handled (default: %u)\n" @@ -293,15 +287,9 @@ struct pool_list *src_pools; /* source pools */ struct pool_list *tgt_pools; /* target pool */ static void *lamigo_refresh_statfs_thread(void *arg); -inline int are_agents_busy(void) +static inline bool are_agents_busy(void) { - if (opt.o_iml_re_socket) - return 0; - - if (lamigo_jobs_running >= lamigo_max_jobs) - return 1; - - return 0; + return lamigo_jobs_running >= lamigo_max_jobs; } /* Convert human readable size string to and int; "1k" -> 1000 */ @@ -358,21 +346,6 @@ static void systemf(const char *fmt, ...) free(cmd); } -static struct lipe_flist *lamigo_flist_init(char *socket) -{ - struct lipe_flist *flist = flist_alloc(NULL, 1024, - socket, LDT_UNIX_SOCKET); - if (flist == NULL) { - llapi_error(LLAPI_MSG_ERROR|LLAPI_MSG_NO_ERRNO, 0, - "failed to alloc fid list for socket %s: %s\n", - socket, - strerror(errno)); - return NULL; - } - - return flist; -} - void lamigo_usr1_handle(int sig) { struct resync_agent *a; @@ -444,11 +417,6 @@ void lamigo_usr1_handle(int sig) " open: %d\n", pl->pl_pool, pl->pl_ostnr, pl->pl_avail, pl->pl_total, (int)pl->pl_open); - if (opt.o_iml_re_socket) - fprintf(f, " iml_re_socket: %s\n", opt.o_iml_re_socket); - if (opt.o_iml_ex_socket) - fprintf(f, " iml_ex_socket: %s\n", opt.o_iml_ex_socket); - fprintf(f, "stats:\n" " read: %lu\n" " skipped: %lu\n" @@ -541,15 +509,6 @@ static int lamigo_init_cache(void) if (rc) return rc; - if (opt.o_iml_re_socket) { - opt.o_re_flist = lamigo_flist_init(opt.o_iml_re_socket); - if (opt.o_re_flist == NULL) - return -errno; - opt.o_ex_flist = lamigo_flist_init(opt.o_iml_ex_socket); - if (opt.o_ex_flist == NULL) - return -errno; - } - return 0; } @@ -592,31 +551,6 @@ static void lamigo_cleanup(void) extern char **environ; -/* json format: { "fid": "[FID]" } - * written to either MIRROR or EXTEND socket - */ -static int lamigo_flist_add_fid(struct lu_fid *fid, int resync) -{ - int rc; - const char *output; - char fid_buf[FID_LEN + 1]; - struct json_object *obj_top; - - obj_top = json_object_new_object(); - snprintf(fid_buf, sizeof(fid_buf), DFID, PFID(fid)); - json_object_object_add(obj_top, "fid", - json_object_new_string(fid_buf)); - output = json_object_to_json_string_ext(obj_top, - JSON_C_TO_STRING_PLAIN); - if (resync == AMIGO_RESYNC_RESYNC) - rc = flist_add_one(opt.o_re_flist, output); - else // AMIGO_RESYNC_EXTEND - rc = flist_add_one(opt.o_ex_flist, output); - json_object_put(obj_top); - - return rc; -} - static int lamigo_exec_cmd(struct resync_agent *a, char *cmd) { struct resync_ssh_session *rss; @@ -1368,17 +1302,6 @@ static int lamigo_update_one(struct fid_rec *f) return 0; } - if (opt.o_iml_re_socket) { - rc = lamigo_flist_add_fid(&f->fr_fh.fh_fid, resync); - if (rc < 0) { - llapi_error(LLAPI_MSG_DEBUG|LLAPI_MSG_NO_ERRNO, 0, - "can't add "DFID": rc=%d\n", - PFID(&f->fr_fh.fh_fid), rc); - return 1; - } - return 0; - } - rj = calloc(1, sizeof(struct resync_job)); if (rj == NULL) { llapi_error(LLAPI_MSG_DEBUG|LLAPI_MSG_NO_ERRNO, 0, "can't allocate for a job\n"); @@ -1418,11 +1341,6 @@ static int lamigo_start_update(int count) } } - if (opt.o_iml_re_socket) { - flist_write(opt.o_re_flist, true); - flist_write(opt.o_ex_flist, true); - } - return rc; } @@ -1788,8 +1706,6 @@ static void lamigo_add_agent(const char *host, const char *mnt, char *jobs) lamigo_agent_count++; } -#define LAMIGO_OPT_IML_RE_SOCKET 1 -#define LAMIGO_OPT_IML_EX_SOCKET 2 #define LAMIGO_OPT_POOL_REFRESH 3 #define LAMIGO_OPT_PROGRESS_INTV 4 #define LAMIGO_OPT_MIRROR_CMD 5 @@ -1825,8 +1741,6 @@ static struct option options[] = { { "heatfn", required_argument, NULL, 'H'}, { "hot_after_idle", required_argument, NULL, 'I'}, { "heat-dump", required_argument, NULL, 'W'}, - { "iml-re-socket", required_argument, NULL, LAMIGO_OPT_IML_RE_SOCKET}, - { "iml-ex-socket", required_argument, NULL, LAMIGO_OPT_IML_EX_SOCKET}, { "max-cache", required_argument, NULL, 'c'}, { "min-age", required_argument, NULL, 'a'}, { "mirror-cmd", required_argument, NULL, LAMIGO_OPT_MIRROR_CMD}, @@ -2091,12 +2005,6 @@ void lamigo_process_opt(int c, char *optarg) exit(1); } break; - case LAMIGO_OPT_IML_RE_SOCKET: - opt.o_iml_re_socket = strdup(optarg); - break; - case LAMIGO_OPT_IML_EX_SOCKET: - opt.o_iml_ex_socket = strdup(optarg); - break; case LAMIGO_OPT_MIRROR_CMD: opt.o_mirror_cmd = strdup(optarg); break; @@ -2501,16 +2409,7 @@ void lamigo_parse_opts(int argc, char **argv) exit(1); } - // Indepenedent operation vs IML integration - if (opt.o_iml_re_socket || opt.o_iml_ex_socket) { - if (opt.o_iml_re_socket == NULL || - opt.o_iml_ex_socket == NULL) { - llapi_err_noerrno(LLAPI_MSG_ERROR, - "Both or neither sockets must be defined"); - exit(1); - } - - } else if (lipe_list_empty(&lamigo_agent_list)) { + if (lipe_list_empty(&lamigo_agent_list)) { llapi_err_noerrno(LLAPI_MSG_ERROR, "no agents configured?\n"); exit(1); } @@ -2566,18 +2465,6 @@ static int lamigo_create_job(struct lu_fid *fid, struct mirror_opts *mo) { struct resync_job *rj; - int rc; - - if (opt.o_iml_re_socket) { - rc = lamigo_flist_add_fid(fid, resync); - if (rc < 0) { - llapi_error(LLAPI_MSG_DEBUG|LLAPI_MSG_NO_ERRNO, 0, - "can't add "DFID": rc=%d\n", - PFID(fid), rc); - return 1; - } - return 0; - } rj = calloc(1, sizeof(struct resync_job)); if (rj == NULL) { diff --git a/lipe/src/lamigo.h b/lipe/src/lamigo.h index 0e7f0ec..bb7421e 100644 --- a/lipe/src/lamigo.h +++ b/lipe/src/lamigo.h @@ -81,8 +81,6 @@ struct options { bool o_rescan; char *o_mirror_cmd; int o_num_threads; - char *o_iml_re_socket; - char *o_iml_ex_socket; int o_pool_refresh; int o_statfs_refresh; int o_src_free; @@ -102,8 +100,6 @@ struct options { int o_alr_ignore_reads; int o_alr_ignore_writes; char *o_heat_file; - struct lipe_flist *o_re_flist; - struct lipe_flist *o_ex_flist; }; extern struct options opt; extern int enable_heat; diff --git a/lipe/src/lpurge.c b/lipe/src/lpurge.c index c1361c1..eeead4c 100644 --- a/lipe/src/lpurge.c +++ b/lipe/src/lpurge.c @@ -132,7 +132,6 @@ struct options { char *o_device; char *o_dumpfile; char *o_fids_dumpfile; - char *o_iml_socket; char *o_mountpoint; char *o_pool; unsigned int o_max_jobs; @@ -174,36 +173,11 @@ char *prog; void load_config(char *name); -struct lipe_flist *lflist; #define LPURGE_FLIST_SIZE (1024 * 1024) -static int lpurge_init_flist(void) -{ - if (opt.o_iml_socket) { - lflist = flist_alloc(NULL, LPURGE_FLIST_SIZE, - opt.o_iml_socket, - LDT_UNIX_SOCKET); - } else { - llapi_printf(LLAPI_MSG_FATAL, - "no valid output found, exit\n"); - return -1; - } - - if (lflist == NULL) { - llapi_printf(LLAPI_MSG_FATAL, - "failed to alloc fid list, %s\n", - strerror(errno)); - return -errno; - } - - return 0; -} - static void sig_handler(int signal) { psignal(signal, "exiting"); - if (lflist) - flist_free(lflist); _exit(0); } @@ -271,7 +245,6 @@ void usage(void) "\t-h, --freehi, high watermark, %% of space (default: %u)\n" "\t--help, print this help message\n" "\t-i, --interval, seconds to next check (default: %u)\n" - "\t--iml_socket, do not purge, just dump found objects to domain socket\n" "\t-j, --max_jobs, max.jobs to release replicas (default: %u)\n" "\t-l, --freelo, low watermark, %% of space (default: %u)\n" "\t-m, --mds, MDS idx:host:mountpoint (can specify multiple)\n" @@ -305,12 +278,6 @@ void usage(void) "\tpool=\n" "\tmds=0:mds1host:/mnt/lustre\n" "\tmds=1:mds2host:/mnt/lustre2\n"); - printf(" config example dryrun:\n" - "\tdevice=lustre-OST0000\n" - "\timl_socket=/tmp/socket.lpurge\n" - "\tfreelo=20\n" - "\tfreehi=30\n" - "\tpool=\n"); exit(0); } @@ -1308,9 +1275,8 @@ void parse_mountpoint(const char *name) } } -#define LPURGE_INTERNAL_DUMP_FIDS 1 -#define LPURGE_OPT_IML_SOCKET 2 -#define LPURGE_OPT_VERSION 3 +#define LPURGE_INTERNAL_DUMP_FIDS 1 +#define LPURGE_OPT_VERSION 2 static struct option options[] = { { "device", required_argument, NULL, 'D'}, @@ -1322,8 +1288,6 @@ static struct option options[] = { { "freelo", required_argument, NULL, 'l'}, { "help", no_argument, NULL, 'H' }, { "interval", required_argument, NULL, 'i'}, - { "iml_socket", required_argument, NULL, LPURGE_OPT_IML_SOCKET}, - { "listen_socket", required_argument, NULL, 's'}, { "max_jobs", required_argument, NULL, 'j'}, { "mds", required_argument, NULL, 'm'}, { "mount", required_argument, NULL, 'M'}, @@ -1436,12 +1400,6 @@ void lpurge_process_opt(int c, char *optarg) } opt.o_scan_rate = value; break; - case 's': - llapi_printf(LLAPI_MSG_WARN, - "'-s' and '--listen-socket' are deprecated, use '--iml-socket' instead\n"); - case LPURGE_OPT_IML_SOCKET: - opt.o_iml_socket = strdup(optarg); - break; case 'S': value = strtol(optarg, &endptr, 10); if (*endptr != '\0' || value < 0) { @@ -1584,7 +1542,7 @@ void lpurge_verify_opts(void) opt.o_fids_dumpfile = strdup(buf); } - if (opt.o_iml_socket == NULL && lustre_fd < 0) { + if (lustre_fd < 0) { llapi_printf(LLAPI_MSG_ERROR, "client mountpoint is not defined\n"); exit(1); @@ -1620,16 +1578,6 @@ void lpurge_verify_opts(void) sysconf(_SC_NPROCESSORS_ONLN)); } - // IML Integration - if (opt.o_iml_socket) { - int rc; - - rc = lpurge_init_flist(); - if (rc) - exit(rc); - return; - } - if (opt.o_max_jobs < 1 || opt.o_max_jobs > 1024) { llapi_printf(LLAPI_MSG_FATAL, "invalid max_jobs: %d\n", opt.o_max_jobs); @@ -1643,7 +1591,7 @@ void lpurge_parse_opts(int argc, char **argv) int c; while ((c = getopt_long(argc, argv, - "dD:b::nh:l:i:s:j:M:m:p:R:t:S:f:w:?", + "dD:b::nh:l:i:j:M:m:p:R:t:S:f:w:?", options, NULL)) != EOF) { /* Don't do further process if invalid option found */ @@ -1698,8 +1646,6 @@ void lpurge_usr1_handle(int sig) opt.o_device, opt.o_mountpoint, opt.o_pool, opt.o_max_jobs, opt.o_interval, opt.o_scan_rate, opt.o_scan_threads, opt.o_slot_size); - if (opt.o_iml_socket) - fprintf(f, " iml_socket: %s\n", opt.o_iml_socket); fprintf(f, "stats:\n" " scans: %lu\n" -- 1.8.3.1