"bluefs-log-dump, "
"free-dump, "
"free-score, "
+ "free-fragmentation, "
"bluefs-stats, "
"reshard")
;
exit(EXIT_FAILURE);
}
}
- if (action == "free-score" || action == "free-dump") {
+ if (action == "free-score" || action == "free-dump" || action == "free-fragmentation") {
if (path.empty()) {
cerr << "must specify bluestore path" << std::endl;
exit(EXIT_FAILURE);
}
return r;
}
- } else if (action == "free-dump" || action == "free-score") {
+ } else if (action == "free-dump" || action == "free-score" || action == "fragmentation") {
AdminSocket *admin_socket = g_ceph_context->get_admin_socket();
ceph_assert(admin_socket);
- std::string action_name = action == "free-dump" ? "dump" : "score";
+ std::string action_name = action == "free-dump" ? "dump" :
+ action == "free-score" ? "score" : "fragmentation";
validate_path(cct.get(), path, false);
BlueStore bluestore(cct.get(), path);
int r = bluestore.cold_open();