diff --git a/iscsi-scst/kernel/iscsi.c b/iscsi-scst/kernel/iscsi.c index 0122671ca..8262e1e44 100644 --- a/iscsi-scst/kernel/iscsi.c +++ b/iscsi-scst/kernel/iscsi.c @@ -1563,16 +1563,16 @@ static int cmnd_prepare_recv_pdu(struct iscsi_conn *conn, conn->read_iov[i].iov_base = addr + offset; if (size <= sg_len) { - TRACE_DBG("idx=%d, offset=%u, size=%d, addr=%p", - idx, offset, size, addr); + TRACE_DBG("idx=%d, i=%d, offset=%u, size=%d, addr=%p", + idx, i, offset, size, addr); conn->read_iov[i].iov_len = size; - conn->read_msg.msg_iovlen = i; + conn->read_msg.msg_iovlen = i+1; break; } conn->read_iov[i].iov_len = sg_len; - TRACE_DBG("idx=%d, offset=%u, size=%d, sg_len=%u, addr=%p", - idx, offset, size, sg_len, addr); + TRACE_DBG("idx=%d, i=%d, offset=%u, size=%d, sg_len=%u, " + "addr=%p", idx, i, offset, size, sg_len, addr); size -= sg_len; buff_offs += sg_len; diff --git a/iscsi-scst/kernel/nthread.c b/iscsi-scst/kernel/nthread.c index 063947f71..513cf0d2f 100644 --- a/iscsi-scst/kernel/nthread.c +++ b/iscsi-scst/kernel/nthread.c @@ -715,6 +715,9 @@ restart: MSG_DONTWAIT | MSG_NOSIGNAL); set_fs(oldfs); + TRACE_DBG("msg_iovlen %d, first_len %d, read_size %d, res %d", + msg.msg_iovlen, first_len, conn->read_size, res); + if (res > 0) { /* * To save some considerable effort and CPU power we @@ -729,6 +732,7 @@ restart: if (conn->read_size != 0) { if (res >= first_len) { int done = 1 + ((res - first_len) >> PAGE_SHIFT); + TRACE_DBG("done %d", done); conn->read_msg.msg_iov += done; conn->read_msg.msg_iovlen -= done; }