static void core_error(struct context *ctx, struct conn *conn) { rstatus_t status; status = dn_get_soerror(conn->sd); if (status < 0) { if (!conn->dyn_mode) { if (conn->client) log_warn("get soerr on client %d failed, ignored: %s", conn->sd, strerror(errno)); else if (conn->proxy) log_warn("get soerr on proxy %d failed, ignored: %s", conn->sd, strerror(errno)); else log_warn("get soerr on storage server %d failed, ignored: %s", conn->sd, strerror(errno)); } else { if (conn->dnode_client) log_warn("get soerr on dnode client %d failed, ignored: %s", conn->sd, strerror(errno)); else if (conn->dnode_server) log_warn("get soerr on dnode server %d failed, ignored: %s", conn->sd, strerror(errno)); else log_warn("get soerr on peer %d failed, ignored: %s", conn->sd, strerror(errno)); } } conn->err = errno; core_close(ctx, conn); }
static void core_error(struct context *ctx, struct conn *conn) { rstatus_t status; status = dn_get_soerror(conn->sd); if (status < 0) { log_warn("get soerr on %s client %d failed, ignored: %s", conn_get_type_string(conn), conn->sd, strerror(errno)); } conn->err = errno; core_close(ctx, conn); }
static void core_error(struct context *ctx, struct conn *conn) { rstatus_t status; char type = conn->client ? 'c' : (conn->proxy ? 'p' : 's'); status = dn_get_soerror(conn->sd); if (status < 0) { log_warn("get soerr on %c %d failed, ignored: %s", type, conn->sd, strerror(errno)); } conn->err = errno; core_close(ctx, conn); }