9p: Fix read/write debug statements to report server reply
[ Upstream commitbe3193e58e
] 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:7f02464739
("9p: convert to advancing variant of iov_iter_get_pages_alloc()") Signed-off-by: Dominique Martinet <asmadeus@codewreck.org> Message-ID: <20240109-9p-rw-trace-v1-1-327178114257@codewreck.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
f4a192cd7b
commit
40613ea1d5
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
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));
|
||||||
|
|
Loading…
Reference in New Issue