#define DEF_THREAD_COUNT 1
#define DEF_AGENT_JOBS 8
#define DEF_MIRROR_CMD "lfs mirror extend -N"
+#define DEF_RESYNC_CMD "lfs mirror resync"
#define DEF_FAST_POOL "ddn_ssd"
#define DEF_SLOW_POOL "ddn_hdd"
#define DEF_ALR_PERIODS 16
.o_chlg_clear_frequency = 4096,
/* XXX: evaluate multithreaded scanning in the future */
.o_mirror_cmd = DEF_MIRROR_CMD,
+ .o_resync_cmd = DEF_RESYNC_CMD,
.o_num_threads = DEF_THREAD_COUNT,
.o_pool_refresh = DEF_POOL_REFRESH_INTV,
.o_statfs_refresh = DEF_STATFS_REFRESH_INTV,
agent->rag_mountpoint, PFID(&rj->rj_fid));
} else if (resync == AMIGO_RESYNC_RESYNC) {
snprintf(cmd, sizeof(cmd),
- "lfs mirror resync '%s/.lustre/fid/"DFID"' > /dev/null 2>&1",
- agent->rag_mountpoint,
+ "%s '%s/.lustre/fid/"DFID"'",
+ opt.o_resync_cmd, agent->rag_mountpoint,
PFID(&rj->rj_fid));
} else {
LX_ERROR("unknown resync: %d\n", resync);
LAMIGO_OPT_JSON_FILE,
LAMIGO_OPT_LARGE_IO,
LAMIGO_OPT_MIRROR_CMD,
+ LAMIGO_OPT_RESYNC_CMD,
LAMIGO_OPT_OFD_INTERVAL,
LAMIGO_OPT_PERIODS,
LAMIGO_OPT_PERIOD_TIME,
{ "mdt", required_argument, NULL, 'm' },
{ "min-age", required_argument, NULL, 'a'},
{ "mirror-cmd", required_argument, NULL, LAMIGO_OPT_MIRROR_CMD},
+ { "resync-cmd", required_argument, NULL, LAMIGO_OPT_RESYNC_CMD},
{ "mount", required_argument, NULL, 'M'},
{ "mountpoint", required_argument, NULL, 'M' },
{ "ofd-interval", required_argument, NULL, LAMIGO_OPT_OFD_INTERVAL},
case LAMIGO_OPT_MIRROR_CMD:
opt.o_mirror_cmd = xstrdup(optarg);
break;
+ case LAMIGO_OPT_RESYNC_CMD:
+ opt.o_resync_cmd = xstrdup(optarg);
+ break;
case LAMIGO_OPT_POOL_REFRESH:
opt.o_pool_refresh = strtol(optarg, &endptr, 10);
if (*endptr != '\0' || opt.o_pool_refresh < 1)