cifs: Make wait_mtu_credits take size_t args
authorDavid Howells <dhowells@redhat.com>
Fri, 6 Oct 2023 17:20:39 +0000 (18:20 +0100)
committerDavid Howells <dhowells@redhat.com>
Wed, 1 May 2024 17:08:19 +0000 (18:08 +0100)
Make the wait_mtu_credits functions use size_t for the size and num
arguments rather than unsigned int as netfslib uses size_t/ssize_t for
arguments and return values to allow for extra capacity.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: linux-cachefs@redhat.com
cc: netfs@lists.linux.dev
cc: linux-mm@kvack.org

fs/smb/client/cifsglob.h
fs/smb/client/cifsproto.h
fs/smb/client/file.c
fs/smb/client/smb2ops.c
fs/smb/client/transport.c

index 5100aa047ed66e5d7a43282fde3b4461b682f4c3..13161e0b5cc0589799ab4aebe426f1bc1cdb13c9 100644 (file)
@@ -546,8 +546,8 @@ struct smb_version_operations {
        /* writepages retry size */
        unsigned int (*wp_retry_size)(struct inode *);
        /* get mtu credits */
-       int (*wait_mtu_credits)(struct TCP_Server_Info *, unsigned int,
-                               unsigned int *, struct cifs_credits *);
+       int (*wait_mtu_credits)(struct TCP_Server_Info *, size_t,
+                               size_t *, struct cifs_credits *);
        /* adjust previously taken mtu credits to request size */
        int (*adjust_credits)(struct TCP_Server_Info *server,
                              struct cifs_credits *credits,
index cb5cc5711a8433e7392f41350d566d35e6086b05..103f264b42d781a13dae585161aa23813d491282 100644 (file)
@@ -121,7 +121,7 @@ extern struct mid_q_entry *cifs_setup_async_request(struct TCP_Server_Info *,
 extern int cifs_check_receive(struct mid_q_entry *mid,
                        struct TCP_Server_Info *server, bool log_error);
 extern int cifs_wait_mtu_credits(struct TCP_Server_Info *server,
-                                unsigned int size, unsigned int *num,
+                                size_t size, size_t *num,
                                 struct cifs_credits *credits);
 extern int SendReceive2(const unsigned int /* xid */ , struct cifs_ses *,
                        struct kvec *, int /* nvec to send */,
index 7528f6436ec43089f7e531d82c1e66bfe3f1f528..4d8cd0d82104c4cd0bac97f8c61e168ef7e25c3b 100644 (file)
@@ -2783,7 +2783,8 @@ static ssize_t cifs_write_back_from_locked_folio(struct address_space *mapping,
        struct cifs_credits *credits = &credits_on_stack;
        struct cifsFileInfo *cfile = NULL;
        unsigned long long i_size = i_size_read(inode), max_len;
-       unsigned int xid, wsize;
+       unsigned int xid;
+       size_t wsize;
        size_t len = folio_size(folio);
        long count = wbc->nr_to_write;
        int rc;
@@ -3285,7 +3286,7 @@ static int
 cifs_resend_wdata(struct cifs_io_subrequest *wdata, struct list_head *wdata_list,
        struct cifs_aio_ctx *ctx)
 {
-       unsigned int wsize;
+       size_t wsize;
        struct cifs_credits credits;
        int rc;
        struct TCP_Server_Info *server = wdata->server;
@@ -3420,7 +3421,8 @@ cifs_write_from_iter(loff_t fpos, size_t len, struct iov_iter *from,
        do {
                struct cifs_credits credits_on_stack;
                struct cifs_credits *credits = &credits_on_stack;
-               unsigned int wsize, nsegs = 0;
+               unsigned int nsegs = 0;
+               size_t wsize;
 
                if (signal_pending(current)) {
                        rc = -EINTR;
@@ -3857,7 +3859,7 @@ static int cifs_resend_rdata(struct cifs_io_subrequest *rdata,
                        struct list_head *rdata_list,
                        struct cifs_aio_ctx *ctx)
 {
-       unsigned int rsize;
+       size_t rsize;
        struct cifs_credits credits;
        int rc;
        struct TCP_Server_Info *server;
@@ -3931,10 +3933,10 @@ cifs_send_async_read(loff_t fpos, size_t len, struct cifsFileInfo *open_file,
                     struct cifs_aio_ctx *ctx)
 {
        struct cifs_io_subrequest *rdata;
-       unsigned int rsize, nsegs, max_segs = INT_MAX;
+       unsigned int nsegs, max_segs = INT_MAX;
        struct cifs_credits credits_on_stack;
        struct cifs_credits *credits = &credits_on_stack;
-       size_t cur_len, max_len;
+       size_t cur_len, max_len, rsize;
        int rc;
        pid_t pid;
        struct TCP_Server_Info *server;
@@ -4530,12 +4532,13 @@ static void cifs_readahead(struct readahead_control *ractl)
         * Chop the readahead request up into rsize-sized read requests.
         */
        while ((nr_pages = ra_pages)) {
-               unsigned int i, rsize;
+               unsigned int i;
                struct cifs_io_subrequest *rdata;
                struct cifs_credits credits_on_stack;
                struct cifs_credits *credits = &credits_on_stack;
                struct folio *folio;
                pgoff_t fsize;
+               size_t rsize;
 
                /*
                 * Find out if we have anything cached in the range of
index c13705c0e47f1710383fe5d2c0c7f61fbd2115f9..ef18cd30f66c5a875f60f2d5fccda38c643c37b2 100644 (file)
@@ -217,8 +217,8 @@ smb2_get_credits(struct mid_q_entry *mid)
 }
 
 static int
-smb2_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size,
-                     unsigned int *num, struct cifs_credits *credits)
+smb2_wait_mtu_credits(struct TCP_Server_Info *server, size_t size,
+                     size_t *num, struct cifs_credits *credits)
 {
        int rc = 0;
        unsigned int scredits, in_flight;
index cccc1248c48aca1717c2cbdf20ceb9c9fa4006b4..4c8af995c60b9b68884cc70d14f9130965d3be1e 100644 (file)
@@ -691,8 +691,8 @@ wait_for_compound_request(struct TCP_Server_Info *server, int num,
 }
 
 int
-cifs_wait_mtu_credits(struct TCP_Server_Info *server, unsigned int size,
-                     unsigned int *num, struct cifs_credits *credits)
+cifs_wait_mtu_credits(struct TCP_Server_Info *server, size_t size,
+                     size_t *num, struct cifs_credits *credits)
 {
        *num = size;
        credits->value = 0;