cout << " reshard status read bucket resharding status\n";
cout << " reshard process process of scheduled reshard jobs\n";
cout << " reshard cancel cancel resharding a bucket\n";
+ cout << " reshard stale-instances list list stale-instances from bucket resharding\n";
+ cout << " reshard stale-instances rm cleanup stale-instances from bucket resharding\n";
cout << " sync error list list sync error\n";
cout << " sync error trim trim sync error\n";
cout << "options:\n";
OPT_MFA_LIST,
OPT_MFA_CHECK,
OPT_MFA_RESYNC,
- OPT_STALE_INSTANCES_LIST
+ OPT_RESHARD_STALE_INSTANCES_LIST,
+ OPT_RESHARD_STALE_INSTANCES_DELETE
};
static int get_cmd(const char *cmd, const char *prev_cmd, const char *prev_prev_cmd, bool *need_more)
return OPT_MFA_CHECK;
if (strcmp(cmd, "resync") == 0)
return OPT_MFA_RESYNC;
- } else if (strcmp(prev_cmd, "stale-instances") == 0) {
+ } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "reshard") == 0) &&
+ (strcmp(prev_cmd, "stale-instances") == 0)) {
if (strcmp(cmd, "list") == 0)
- return OPT_STALE_INSTANCES_LIST;
+ return OPT_RESHARD_STALE_INSTANCES_LIST;
+ if (match_str(cmd, "rm", "delete"))
+ return OPT_RESHARD_STALE_INSTANCES_DELETE;
}
-
return -EINVAL;
}
}
- if (opt_cmd == OPT_STALE_INSTANCES_LIST) {
- RGWBucketAdminOp::list_stale_instances(store, bucket_op,f);
+ if (opt_cmd == OPT_RESHARD_STALE_INSTANCES_LIST) {
+ ret = RGWBucketAdminOp::list_stale_instances(store, bucket_op,f);
+ if (ret < 0) {
+ cerr << "ERROR: listing stale instances" << cpp_strerror(-ret) << std::endl;
+ }
}
- return 0;
+ if (opt_cmd == OPT_RESHARD_STALE_INSTANCES_DELETE) {
+ ret = RGWBucketAdminOp::clear_stale_instances(store, bucket_op,f);
+ if (ret < 0) {
+ cerr << "ERROR: deleting stale instances" << cpp_strerror(-ret) << std::endl;
+ }
+ }
+
+ return 0;
}
reshard status read bucket resharding status
reshard process process of scheduled reshard jobs
reshard cancel cancel resharding a bucket
+ reshard stale-instances list list stale-instances from bucket resharding
+ reshard stale-instances rm cleanup stale-instances from bucket resharding
sync error list list sync error
sync error trim trim sync error
options: