asok_hook,
"List client sessions based on a filter");
ceph_assert(r == 0);
- r = admin_socket->register_command("session evict name=filters,type=CephString,n=N,req=false",
+ r = admin_socket->register_command("session evict name=filters,type=CephString,n=N,req=true",
asok_hook,
"Evict client session(s) based on a filter");
ceph_assert(r == 0);
- r = admin_socket->register_command("client evict name=filters,type=CephString,n=N,req=false",
+ r = admin_socket->register_command("client evict name=filters,type=CephString,n=N,req=true",
asok_hook,
"Evict client session(s) based on a filter");
ceph_assert(r == 0);
dout(20) << __func__ << " matched " << victims.size() << " sessions" << dendl;
if (victims.empty()) {
- on_finish(0, {}, outbl);
+ on_finish(-ESRCH, "no hosts match", outbl);
return;
}
state = v;
} else if (k == "id") {
std::string err;
+ if (v == "*") {
+ // evict all clients , by default id set to 0
+ return 0;
+ } else if (v == "0") {
+ *ss << "Invalid value";
+ return -CEPHFS_EINVAL;
+ }
id = strict_strtoll(v.c_str(), 10, &err);
if (!err.empty()) {
*ss << err;