mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
9p: Fix read/write debug statements to report server reply
[ Upstream commit be3193e58ec210b2a72fb1134c2a0695088a911d ]
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:
committed by
Greg Kroah-Hartman
parent
90a477dfda
commit
d00c24ddec
@@ -1581,7 +1581,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);
|
||||||
@@ -1607,9 +1607,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;
|
||||||
@@ -1621,6 +1618,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,
|
||||||
@@ -1648,7 +1648,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));
|
||||||
|
|||||||
Reference in New Issue
Block a user