lkml.org 
[lkml]   [2023]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 52/59] cifs: Make wait_mtu_credits take size_t args
    Date
    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: linux-fsdevel@vger.kernel.org
    cc: linux-mm@kvack.org
    ---
    fs/smb/client/cifsglob.h | 4 ++--
    fs/smb/client/cifsproto.h | 2 +-
    fs/smb/client/file.c | 18 ++++++++++--------
    fs/smb/client/smb2ops.c | 4 ++--
    fs/smb/client/transport.c | 4 ++--
    5 files changed, 17 insertions(+), 15 deletions(-)

    diff --git a/fs/smb/client/cifsglob.h b/fs/smb/client/cifsglob.h
    index 80a9f15828cc..a0d348b166c2 100644
    --- a/fs/smb/client/cifsglob.h
    +++ b/fs/smb/client/cifsglob.h
    @@ -512,8 +512,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,
    diff --git a/fs/smb/client/cifsproto.h b/fs/smb/client/cifsproto.h
    index 47c352426fcf..85e115da8899 100644
    --- a/fs/smb/client/cifsproto.h
    +++ b/fs/smb/client/cifsproto.h
    @@ -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 */,
    diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c
    index 16f6c15e0d06..b47abeefe628 100644
    --- a/fs/smb/client/file.c
    +++ b/fs/smb/client/file.c
    @@ -2733,9 +2733,9 @@ static ssize_t cifs_write_back_from_locked_folio(struct address_space *mapping,
    struct cifs_credits credits_on_stack;
    struct cifs_credits *credits = &credits_on_stack;
    struct cifsFileInfo *cfile = NULL;
    - unsigned int xid, wsize, len;
    + unsigned int xid, len;
    loff_t i_size = i_size_read(inode);
    - size_t max_len;
    + size_t max_len, wsize;
    long count = wbc->nr_to_write;
    int rc;

    @@ -3247,7 +3247,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;
    @@ -3381,7 +3381,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;
    @@ -3818,7 +3819,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;
    @@ -3892,10 +3893,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;
    @@ -4491,12 +4492,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
    diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
    index b27df9e239dd..5850d6afd788 100644
    --- a/fs/smb/client/smb2ops.c
    +++ b/fs/smb/client/smb2ops.c
    @@ -216,8 +216,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;
    diff --git a/fs/smb/client/transport.c b/fs/smb/client/transport.c
    index 3048516573e8..5cf653463c55 100644
    --- a/fs/smb/client/transport.c
    +++ b/fs/smb/client/transport.c
    @@ -684,8 +684,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;
    \
     
     \ /
      Last update: 2023-12-07 22:30    [W:2.319 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site