std::ostream& errss,
bufferlist& out) override {
stringstream outss;
- mon->do_admin_command(command, cmdmap, f, errss, outss);
+ int r = mon->do_admin_command(command, cmdmap, f, errss, outss);
out.append(outss);
- return 0;
+ return r;
}
};
-void Monitor::do_admin_command(
+int Monitor::do_admin_command(
std::string_view command,
const cmdmap_t& cmdmap,
Formatter *f,
{
std::lock_guard l(lock);
+ int r = 0;
string args;
for (auto p = cmdmap.begin();
p != cmdmap.end(); ++p) {
<< "entity='admin socket' "
<< "cmd=" << command << " "
<< "args=" << args << ": finished";
- return;
+ return r;
abort:
(read_only ? audit_clog->debug() : audit_clog->info())
<< "entity='admin socket' "
<< "cmd=" << command << " "
<< "args=" << args << ": aborted";
+ return r;
}
void Monitor::handle_signal(int signum)
int write_fsid();
int write_fsid(MonitorDBStore::TransactionRef t);
- void do_admin_command(std::string_view command, const cmdmap_t& cmdmap,
- Formatter *f,
- std::ostream& err,
- std::ostream& out);
+ int do_admin_command(std::string_view command, const cmdmap_t& cmdmap,
+ Formatter *f,
+ std::ostream& err,
+ std::ostream& out);
private:
// don't allow copying