#include "common/perf_counters.h"
#include "common/pipe.h"
#include "common/safe_io.h"
+#include "common/version.h"
#include <errno.h>
#include <fcntl.h>
class VersionHook : public AdminSocketHook {
public:
virtual bool call(std::string command, bufferlist& out) {
- out.append(CEPH_ADMIN_SOCK_VERSION);
+ if (command == "version")
+ out.append(ceph_version_to_str());
+ else if (command == "git_version")
+ out.append(git_version_to_str());
+ else if (command == "0")
+ out.append(CEPH_ADMIN_SOCK_VERSION);
return true;
}
};
m_path = path;
m_version_hook = new VersionHook;
- register_command("version", m_version_hook, "get protocol version");
register_command("0", m_version_hook, "");
+ register_command("version", m_version_hook, "get ceph version");
+ register_command("git_version", m_version_hook, "get git sha1");
m_help_hook = new HelpHook(this);
register_command("help", m_help_hook, "list available commands");
}
unregister_command("version");
+ unregister_command("git_version");
unregister_command("0");
delete m_version_hook;
unregister_command("help");