Re: [PATCH 21/26] netfs, 9p: Implement helpers for new write code

David Howells
2024-04-04T08:01:58Z

David Howells <dhowells@redhat.com> wrote:

> > + size_t len = subreq->len - subreq->transferred;
>
> This actually needs to be 'int len' because of the varargs packet formatter.

I think the attached change is what's required.

David
---
diff --git a/net/9p/client.c b/net/9p/client.c
index 844aca4fe4d8..04af2a7bf54b 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -1670,10 +1670,10 @@ p9_client_write_subreq(struct netfs_io_subrequest *subreq)
struct p9_client *clnt = fid->clnt;
struct p9_req_t *req;
unsigned long long start = subreq->start + subreq->transferred;
- size_t len = subreq->len - subreq->transferred;
- int written, err;
+ int written, len = subreq->len - subreq->transferred;
+ int err;

- p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu len %zd\n",
+ p9_debug(P9_DEBUG_9P, ">>> TWRITE fid %d offset %llu len %d\n",
fid->fid, start, len);

/* Don't bother zerocopy for small IO (< 1024) */
@@ -1699,11 +1699,11 @@ p9_client_write_subreq(struct netfs_io_subrequest *subreq)
}

if (written > len) {
- pr_err("bogus RWRITE count (%d > %lu)\n", written, len);
+ pr_err("bogus RWRITE count (%d > %u)\n", written, len);
written = len;
}

- p9_debug(P9_DEBUG_9P, "<<< RWRITE count %zd\n", len);
+ p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", len);

p9_req_put(clnt, req);
netfs_write_subrequest_terminated(subreq, written, false);