]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/crimson/admin/admin_socket.cc
update ceph source to reef 18.2.1
[ceph.git] / ceph / src / crimson / admin / admin_socket.cc
index 88ce8b1b73c29ac7886d0c90a2a4353606295d68..9db91369a8b5011a6fc344a239eedb343efe6b70 100644 (file)
@@ -236,6 +236,14 @@ seastar::future<> AdminSocket::start(const std::string& path)
   try {
     server_sock = seastar::engine().listen(sock_path);
   } catch (const std::system_error& e) {
+    if (e.code() == std::errc::address_in_use) {
+      logger().debug("{}: Admin Socket socket path={} already exists, retrying",
+                     __func__, path);
+      return seastar::remove_file(path).then([this, path] {
+        server_sock.reset();
+        return start(path);
+      });
+    }
     logger().error("{}: unable to listen({}): {}", __func__, path, e.what());
     server_sock.reset();
     return seastar::make_ready_future<>();