Log less frequently from the vsock proxy
Bug: 129164354
Test: run locally with crosvm
Change-Id: I86e42f02923de9623b526a915727431d6c6761ea
diff --git a/common/frontend/socket_vsock_proxy/main.cpp b/common/frontend/socket_vsock_proxy/main.cpp
index 7f7248a..ac421a3 100644
--- a/common/frontend/socket_vsock_proxy/main.cpp
+++ b/common/frontend/socket_vsock_proxy/main.cpp
@@ -140,14 +140,24 @@
<< FLAGS_vsock_port;
auto server = cvd::SharedFD::SocketLocalServer(FLAGS_tcp_port, SOCK_STREAM);
CHECK(server->IsOpen()) << "Could not start server on " << FLAGS_tcp_port;
+ LOG(INFO) << "Accepting client connections";
+ int last_failure_reason = 0;
while (true) {
- LOG(INFO) << "waiting for client connection";
auto client_socket = cvd::SharedFD::Accept(*server);
CHECK(client_socket->IsOpen()) << "error creating client socket";
- LOG(INFO) << "client socket accepted";
cvd::SharedFD vsock_socket = cvd::SharedFD::VsockClient(
FLAGS_vsock_guest_cid, FLAGS_vsock_port, SOCK_STREAM);
- if (!vsock_socket->IsOpen()) {
+ if (vsock_socket->IsOpen()) {
+ last_failure_reason = 0;
+ LOG(INFO) << "Connected to vsock:" << FLAGS_vsock_guest_cid << ":"
+ << FLAGS_vsock_port;
+ } else {
+ // Don't log if the previous connection failed with the same error
+ if (last_failure_reason != vsock_socket->GetErrno()) {
+ last_failure_reason = vsock_socket->GetErrno();
+ LOG(ERROR) << "Unable to connect to vsock server: "
+ << vsock_socket->StrError();
+ }
continue;
}
auto thread = std::thread(HandleConnection, std::move(vsock_socket),
diff --git a/common/libs/fs/shared_fd.cpp b/common/libs/fs/shared_fd.cpp
index c96d85b..6ca2826 100644
--- a/common/libs/fs/shared_fd.cpp
+++ b/common/libs/fs/shared_fd.cpp
@@ -429,7 +429,6 @@
addr.svm_cid = cid;
auto casted_addr = reinterpret_cast<sockaddr*>(&addr);
if (vsock->Connect(casted_addr, sizeof(addr)) == -1) {
- LOG(ERROR) << "Connect failed (" << vsock->StrError() << ")";
return SharedFD::ErrorFD(vsock->GetErrno());
}
return vsock;