libceph: report socket read/write error message

We need to set error_msg to something useful before calling ceph_fault();
do so here for try_{read,write}().  This is more informative than

libceph: osd0 192.168.106.220:6801 (null)

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <elder@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
This commit is contained in:
Sage Weil 2012-07-30 16:24:21 -07:00
parent 546f04ef71
commit 3a140a0d5c

View File

@ -2287,14 +2287,18 @@ restart:
ret = try_read(con); ret = try_read(con);
if (ret == -EAGAIN) if (ret == -EAGAIN)
goto restart; goto restart;
if (ret < 0) if (ret < 0) {
con->error_msg = "socket error on read";
goto fault; goto fault;
}
ret = try_write(con); ret = try_write(con);
if (ret == -EAGAIN) if (ret == -EAGAIN)
goto restart; goto restart;
if (ret < 0) if (ret < 0) {
con->error_msg = "socket error on write";
goto fault; goto fault;
}
done: done:
mutex_unlock(&con->mutex); mutex_unlock(&con->mutex);