Commit be3193e5 authored by Dominique Martinet's avatar Dominique Martinet

9p: Fix read/write debug statements to report server reply

Previous conversion to iov missed these debug statements which would now
always print the requested size instead of the actual server reply.

Write also added a loop in a much older commit but we didn't report
these, while reads do report each iteration -- it's more coherent to
keep reporting all requests to server so move that at the same time.

Fixes: 7f024647 ("9p: convert to advancing variant of iov_iter_get_pages_alloc()")
Signed-off-by: default avatarDominique Martinet <asmadeus@codewreck.org>
Message-ID: <20240109-9p-rw-trace-v1-1-327178114257@codewreck.org>
parent 7013482f
...@@ -1583,7 +1583,7 @@ p9_client_read_once(struct p9_fid *fid, u64 offset, struct iov_iter *to, ...@@ -1583,7 +1583,7 @@ p9_client_read_once(struct p9_fid *fid, u64 offset, struct iov_iter *to,
received = rsize; received = rsize;
} }
p9_debug(P9_DEBUG_9P, "<<< RREAD count %d\n", count); p9_debug(P9_DEBUG_9P, "<<< RREAD count %d\n", received);
if (non_zc) { if (non_zc) {
int n = copy_to_iter(dataptr, received, to); int n = copy_to_iter(dataptr, received, to);
...@@ -1609,9 +1609,6 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err) ...@@ -1609,9 +1609,6 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
int total = 0; int total = 0;
*err = 0; *err = 0;
p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu count %zd\n",
fid->fid, offset, iov_iter_count(from));
while (iov_iter_count(from)) { while (iov_iter_count(from)) {
int count = iov_iter_count(from); int count = iov_iter_count(from);
int rsize = fid->iounit; int rsize = fid->iounit;
...@@ -1623,6 +1620,9 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err) ...@@ -1623,6 +1620,9 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
if (count < rsize) if (count < rsize)
rsize = count; rsize = count;
p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu count %d (/%d)\n",
fid->fid, offset, rsize, count);
/* Don't bother zerocopy for small IO (< 1024) */ /* Don't bother zerocopy for small IO (< 1024) */
if (clnt->trans_mod->zc_request && rsize > 1024) { if (clnt->trans_mod->zc_request && rsize > 1024) {
req = p9_client_zc_rpc(clnt, P9_TWRITE, NULL, from, 0, req = p9_client_zc_rpc(clnt, P9_TWRITE, NULL, from, 0,
...@@ -1650,7 +1650,7 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err) ...@@ -1650,7 +1650,7 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
written = rsize; written = rsize;
} }
p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", count); p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", written);
p9_req_put(clnt, req); p9_req_put(clnt, req);
iov_iter_revert(from, count - written - iov_iter_count(from)); iov_iter_revert(from, count - written - iov_iter_count(from));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment