Loading libappfuse/FuseBridgeLoop.cc +13 −0 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,12 @@ void GetObservedEvents(FuseBridgeState state, int* device_events, int* proxy_eve return; return; } } } } void LogResponseError(const std::string& message, const FuseResponse& response) { LOG(ERROR) << message << ": header.len=" << response.header.len << " header.error=" << response.header.error << " header.unique=" << response.header.unique; } } } class FuseBridgeEntry { class FuseBridgeEntry { Loading Loading @@ -135,6 +141,7 @@ class FuseBridgeEntry { } } if (!buffer_.response.Write(device_fd_)) { if (!buffer_.response.Write(device_fd_)) { LogResponseError("Failed to write a reply from proxy to device", buffer_.response); return FuseBridgeState::kClosing; return FuseBridgeState::kClosing; } } Loading Loading @@ -200,6 +207,7 @@ class FuseBridgeEntry { } } if (!buffer_.response.Write(device_fd_)) { if (!buffer_.response.Write(device_fd_)) { LogResponseError("Failed to write a response to device", buffer_.response); return FuseBridgeState::kClosing; return FuseBridgeState::kClosing; } } Loading @@ -215,6 +223,11 @@ class FuseBridgeEntry { case ResultOrAgain::kSuccess: case ResultOrAgain::kSuccess: return FuseBridgeState::kWaitToReadEither; return FuseBridgeState::kWaitToReadEither; case ResultOrAgain::kFailure: case ResultOrAgain::kFailure: LOG(ERROR) << "Failed to write a request to proxy:" << " header.len=" << buffer_.request.header.len << " header.opcode=" << buffer_.request.header.opcode << " header.unique=" << buffer_.request.header.unique << " header.nodeid=" << buffer_.request.header.nodeid; return FuseBridgeState::kClosing; return FuseBridgeState::kClosing; case ResultOrAgain::kAgain: case ResultOrAgain::kAgain: return FuseBridgeState::kWaitToWriteProxy; return FuseBridgeState::kWaitToWriteProxy; Loading libappfuse/FuseBuffer.cc +4 −1 Original line number Original line Diff line number Diff line Loading @@ -115,7 +115,10 @@ ResultOrAgain WriteInternal(const FuseMessage<T>* self, int fd, int sockflag, co case EAGAIN: case EAGAIN: return ResultOrAgain::kAgain; return ResultOrAgain::kAgain; default: default: PLOG(ERROR) << "Failed to write a FUSE message"; PLOG(ERROR) << "Failed to write a FUSE message: " << "fd=" << fd << " " << "sockflag=" << sockflag << " " << "data=" << data; return ResultOrAgain::kFailure; return ResultOrAgain::kFailure; } } } } Loading Loading
libappfuse/FuseBridgeLoop.cc +13 −0 Original line number Original line Diff line number Diff line Loading @@ -57,6 +57,12 @@ void GetObservedEvents(FuseBridgeState state, int* device_events, int* proxy_eve return; return; } } } } void LogResponseError(const std::string& message, const FuseResponse& response) { LOG(ERROR) << message << ": header.len=" << response.header.len << " header.error=" << response.header.error << " header.unique=" << response.header.unique; } } } class FuseBridgeEntry { class FuseBridgeEntry { Loading Loading @@ -135,6 +141,7 @@ class FuseBridgeEntry { } } if (!buffer_.response.Write(device_fd_)) { if (!buffer_.response.Write(device_fd_)) { LogResponseError("Failed to write a reply from proxy to device", buffer_.response); return FuseBridgeState::kClosing; return FuseBridgeState::kClosing; } } Loading Loading @@ -200,6 +207,7 @@ class FuseBridgeEntry { } } if (!buffer_.response.Write(device_fd_)) { if (!buffer_.response.Write(device_fd_)) { LogResponseError("Failed to write a response to device", buffer_.response); return FuseBridgeState::kClosing; return FuseBridgeState::kClosing; } } Loading @@ -215,6 +223,11 @@ class FuseBridgeEntry { case ResultOrAgain::kSuccess: case ResultOrAgain::kSuccess: return FuseBridgeState::kWaitToReadEither; return FuseBridgeState::kWaitToReadEither; case ResultOrAgain::kFailure: case ResultOrAgain::kFailure: LOG(ERROR) << "Failed to write a request to proxy:" << " header.len=" << buffer_.request.header.len << " header.opcode=" << buffer_.request.header.opcode << " header.unique=" << buffer_.request.header.unique << " header.nodeid=" << buffer_.request.header.nodeid; return FuseBridgeState::kClosing; return FuseBridgeState::kClosing; case ResultOrAgain::kAgain: case ResultOrAgain::kAgain: return FuseBridgeState::kWaitToWriteProxy; return FuseBridgeState::kWaitToWriteProxy; Loading
libappfuse/FuseBuffer.cc +4 −1 Original line number Original line Diff line number Diff line Loading @@ -115,7 +115,10 @@ ResultOrAgain WriteInternal(const FuseMessage<T>* self, int fd, int sockflag, co case EAGAIN: case EAGAIN: return ResultOrAgain::kAgain; return ResultOrAgain::kAgain; default: default: PLOG(ERROR) << "Failed to write a FUSE message"; PLOG(ERROR) << "Failed to write a FUSE message: " << "fd=" << fd << " " << "sockflag=" << sockflag << " " << "data=" << data; return ResultOrAgain::kFailure; return ResultOrAgain::kFailure; } } } } Loading