Merge branch 'pm-qos'
[firefly-linux-kernel-4.4.55.git] / fs / cifs / cifssmb.c
index 4ee522b3f66f0036737a688b0c97606ee1efe2ce..f0cf934ba877d8549d8631787a4aea8da871b371 100644 (file)
@@ -112,24 +112,29 @@ cifs_kmap_unlock(void)
 #define cifs_kmap_unlock() do { ; } while(0)
 #endif /* CONFIG_HIGHMEM */
 
-/* Mark as invalid, all open files on tree connections since they
-   were closed when session to server was lost */
-static void mark_open_files_invalid(struct cifs_tcon *pTcon)
+/*
+ * Mark as invalid, all open files on tree connections since they
+ * were closed when session to server was lost.
+ */
+void
+cifs_mark_open_files_invalid(struct cifs_tcon *tcon)
 {
        struct cifsFileInfo *open_file = NULL;
        struct list_head *tmp;
        struct list_head *tmp1;
 
-/* list all files open on tree connection and mark them invalid */
+       /* list all files open on tree connection and mark them invalid */
        spin_lock(&cifs_file_list_lock);
-       list_for_each_safe(tmp, tmp1, &pTcon->openFileList) {
+       list_for_each_safe(tmp, tmp1, &tcon->openFileList) {
                open_file = list_entry(tmp, struct cifsFileInfo, tlist);
                open_file->invalidHandle = true;
                open_file->oplock_break_cancelled = true;
        }
        spin_unlock(&cifs_file_list_lock);
-       /* BB Add call to invalidate_inodes(sb) for all superblocks mounted
-          to this tcon */
+       /*
+        * BB Add call to invalidate_inodes(sb) for all superblocks mounted
+        * to this tcon.
+        */
 }
 
 /* reconnect the socket, tcon, and smb session if needed */
@@ -209,7 +214,7 @@ cifs_reconnect_tcon(struct cifs_tcon *tcon, int smb_command)
                goto out;
        }
 
-       mark_open_files_invalid(tcon);
+       cifs_mark_open_files_invalid(tcon);
        rc = CIFSTCon(0, ses, tcon->treeName, tcon, nls_codepage);
        mutex_unlock(&ses->session_mutex);
        cFYI(1, "reconnect tcon rc = %d", rc);
@@ -388,15 +393,8 @@ vt2_err:
        return -EINVAL;
 }
 
-static inline void inc_rfc1001_len(void *pSMB, int count)
-{
-       struct smb_hdr *hdr = (struct smb_hdr *)pSMB;
-
-       be32_add_cpu(&hdr->smb_buf_length, count);
-}
-
 int
-CIFSSMBNegotiate(unsigned int xid, struct cifs_ses *ses)
+CIFSSMBNegotiate(const unsigned int xid, struct cifs_ses *ses)
 {
        NEGOTIATE_REQ *pSMB;
        NEGOTIATE_RSP *pSMBr;
@@ -480,7 +478,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifs_ses *ses)
                        rc = -EOPNOTSUPP;
                        goto neg_err_exit;
                }
-               server->sec_mode = (__u8)le16_to_cpu(rsp->SecurityMode);
+               server->sec_mode = le16_to_cpu(rsp->SecurityMode);
                server->maxReq = min_t(unsigned int,
                                       le16_to_cpu(rsp->MaxMpxCount),
                                       cifs_max_pending);
@@ -694,7 +692,7 @@ neg_err_exit:
 }
 
 int
-CIFSSMBTDis(const int xid, struct cifs_tcon *tcon)
+CIFSSMBTDis(const unsigned int xid, struct cifs_tcon *tcon)
 {
        struct smb_hdr *smb_buffer;
        int rc = 0;
@@ -744,7 +742,7 @@ cifs_echo_callback(struct mid_q_entry *mid)
        struct TCP_Server_Info *server = mid->callback_data;
 
        DeleteMidQEntry(mid);
-       add_credits(server, 1);
+       add_credits(server, 1, CIFS_ECHO_OP);
 }
 
 int
@@ -771,7 +769,7 @@ CIFSSMBEcho(struct TCP_Server_Info *server)
        iov.iov_len = be32_to_cpu(smb->hdr.smb_buf_length) + 4;
 
        rc = cifs_call_async(server, &iov, 1, NULL, cifs_echo_callback,
-                            server, true);
+                            server, CIFS_ASYNC_OP | CIFS_ECHO_OP);
        if (rc)
                cFYI(1, "Echo request failed: %d", rc);
 
@@ -781,7 +779,7 @@ CIFSSMBEcho(struct TCP_Server_Info *server)
 }
 
 int
-CIFSSMBLogoff(const int xid, struct cifs_ses *ses)
+CIFSSMBLogoff(const unsigned int xid, struct cifs_ses *ses)
 {
        LOGOFF_ANDX_REQ *pSMB;
        int rc = 0;
@@ -828,8 +826,9 @@ session_already_dead:
 }
 
 int
-CIFSPOSIXDelFile(const int xid, struct cifs_tcon *tcon, const char *fileName,
-                __u16 type, const struct nls_table *nls_codepage, int remap)
+CIFSPOSIXDelFile(const unsigned int xid, struct cifs_tcon *tcon,
+                const char *fileName, __u16 type,
+                const struct nls_table *nls_codepage, int remap)
 {
        TRANSACTION2_SPI_REQ *pSMB = NULL;
        TRANSACTION2_SPI_RSP *pSMBr = NULL;
@@ -894,7 +893,7 @@ PsxDelete:
                cFYI(1, "Posix delete returned %d", rc);
        cifs_buf_release(pSMB);
 
-       cifs_stats_inc(&tcon->num_deletes);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_deletes);
 
        if (rc == -EAGAIN)
                goto PsxDelete;
@@ -903,8 +902,9 @@ PsxDelete:
 }
 
 int
-CIFSSMBDelFile(const int xid, struct cifs_tcon *tcon, const char *fileName,
-              const struct nls_table *nls_codepage, int remap)
+CIFSSMBDelFile(const unsigned int xid, struct cifs_tcon *tcon,
+              const char *fileName, const struct nls_table *nls_codepage,
+              int remap)
 {
        DELETE_FILE_REQ *pSMB = NULL;
        DELETE_FILE_RSP *pSMBr = NULL;
@@ -936,7 +936,7 @@ DelFileRetry:
        pSMB->ByteCount = cpu_to_le16(name_len + 1);
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_deletes);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_deletes);
        if (rc)
                cFYI(1, "Error in RMFile = %d", rc);
 
@@ -948,14 +948,15 @@ DelFileRetry:
 }
 
 int
-CIFSSMBRmDir(const int xid, struct cifs_tcon *tcon, const char *dirName,
-            const struct nls_table *nls_codepage, int remap)
+CIFSSMBRmDir(const unsigned int xid, struct cifs_tcon *tcon, const char *name,
+            struct cifs_sb_info *cifs_sb)
 {
        DELETE_DIRECTORY_REQ *pSMB = NULL;
        DELETE_DIRECTORY_RSP *pSMBr = NULL;
        int rc = 0;
        int bytes_returned;
        int name_len;
+       int remap = cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR;
 
        cFYI(1, "In CIFSSMBRmDir");
 RmDirRetry:
@@ -965,14 +966,15 @@ RmDirRetry:
                return rc;
 
        if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
-               name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, dirName,
-                                             PATH_MAX, nls_codepage, remap);
+               name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name,
+                                             PATH_MAX, cifs_sb->local_nls,
+                                             remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {                /* BB improve check for buffer overruns BB */
-               name_len = strnlen(dirName, PATH_MAX);
+               name_len = strnlen(name, PATH_MAX);
                name_len++;     /* trailing null */
-               strncpy(pSMB->DirName, dirName, name_len);
+               strncpy(pSMB->DirName, name, name_len);
        }
 
        pSMB->BufferFormat = 0x04;
@@ -980,7 +982,7 @@ RmDirRetry:
        pSMB->ByteCount = cpu_to_le16(name_len + 1);
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_rmdirs);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_rmdirs);
        if (rc)
                cFYI(1, "Error in RMDir = %d", rc);
 
@@ -991,14 +993,15 @@ RmDirRetry:
 }
 
 int
-CIFSSMBMkDir(const int xid, struct cifs_tcon *tcon,
-            const char *name, const struct nls_table *nls_codepage, int remap)
+CIFSSMBMkDir(const unsigned int xid, struct cifs_tcon *tcon, const char *name,
+            struct cifs_sb_info *cifs_sb)
 {
        int rc = 0;
        CREATE_DIRECTORY_REQ *pSMB = NULL;
        CREATE_DIRECTORY_RSP *pSMBr = NULL;
        int bytes_returned;
        int name_len;
+       int remap = cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR;
 
        cFYI(1, "In CIFSSMBMkDir");
 MkDirRetry:
@@ -1009,7 +1012,8 @@ MkDirRetry:
 
        if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
                name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name,
-                                             PATH_MAX, nls_codepage, remap);
+                                             PATH_MAX, cifs_sb->local_nls,
+                                             remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {                /* BB improve check for buffer overruns BB */
@@ -1023,7 +1027,7 @@ MkDirRetry:
        pSMB->ByteCount = cpu_to_le16(name_len + 1);
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_mkdirs);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_mkdirs);
        if (rc)
                cFYI(1, "Error in Mkdir = %d", rc);
 
@@ -1034,10 +1038,11 @@ MkDirRetry:
 }
 
 int
-CIFSPOSIXCreate(const int xid, struct cifs_tcon *tcon, __u32 posix_flags,
-               __u64 mode, __u16 *netfid, FILE_UNIX_BASIC_INFO *pRetData,
-               __u32 *pOplock, const char *name,
-               const struct nls_table *nls_codepage, int remap)
+CIFSPOSIXCreate(const unsigned int xid, struct cifs_tcon *tcon,
+               __u32 posix_flags, __u64 mode, __u16 *netfid,
+               FILE_UNIX_BASIC_INFO *pRetData, __u32 *pOplock,
+               const char *name, const struct nls_table *nls_codepage,
+               int remap)
 {
        TRANSACTION2_SPI_REQ *pSMB = NULL;
        TRANSACTION2_SPI_RSP *pSMBr = NULL;
@@ -1145,9 +1150,9 @@ psx_create_err:
        cifs_buf_release(pSMB);
 
        if (posix_flags & SMB_O_DIRECTORY)
-               cifs_stats_inc(&tcon->num_posixmkdirs);
+               cifs_stats_inc(&tcon->stats.cifs_stats.num_posixmkdirs);
        else
-               cifs_stats_inc(&tcon->num_posixopens);
+               cifs_stats_inc(&tcon->stats.cifs_stats.num_posixopens);
 
        if (rc == -EAGAIN)
                goto PsxCreat;
@@ -1200,7 +1205,7 @@ access_flags_to_smbopen_mode(const int access_flags)
 }
 
 int
-SMBLegacyOpen(const int xid, struct cifs_tcon *tcon,
+SMBLegacyOpen(const unsigned int xid, struct cifs_tcon *tcon,
            const char *fileName, const int openDisposition,
            const int access_flags, const int create_options, __u16 *netfid,
            int *pOplock, FILE_ALL_INFO *pfile_info,
@@ -1268,7 +1273,7 @@ OldOpenRetry:
        /* long_op set to 1 to allow for oplock break timeouts */
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                        (struct smb_hdr *)pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_opens);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_opens);
        if (rc) {
                cFYI(1, "Error in Open = %d", rc);
        } else {
@@ -1307,7 +1312,7 @@ OldOpenRetry:
 }
 
 int
-CIFSSMBOpen(const int xid, struct cifs_tcon *tcon,
+CIFSSMBOpen(const unsigned int xid, struct cifs_tcon *tcon,
            const char *fileName, const int openDisposition,
            const int access_flags, const int create_options, __u16 *netfid,
            int *pOplock, FILE_ALL_INFO *pfile_info,
@@ -1381,7 +1386,7 @@ openRetry:
        /* long_op set to 1 to allow for oplock break timeouts */
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                        (struct smb_hdr *)pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_opens);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_opens);
        if (rc) {
                cFYI(1, "Error in Open = %d", rc);
        } else {
@@ -1571,9 +1576,14 @@ cifs_readv_callback(struct mid_q_entry *mid)
                /* result already set, check signature */
                if (server->sec_mode &
                    (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) {
-                       if (cifs_verify_signature(rdata->iov, rdata->nr_iov,
-                                         server, mid->sequence_number + 1))
-                               cERROR(1, "Unexpected SMB signature");
+                       int rc = 0;
+
+                       rc = cifs_verify_signature(rdata->iov, rdata->nr_iov,
+                                                  server,
+                                                  mid->sequence_number + 1);
+                       if (rc)
+                               cERROR(1, "SMB signature verification returned "
+                                      "error = %d", rc);
                }
                /* FIXME: should this be counted toward the initiating task? */
                task_io_account_read(rdata->bytes);
@@ -1589,7 +1599,7 @@ cifs_readv_callback(struct mid_q_entry *mid)
 
        queue_work(cifsiod_wq, &rdata->work);
        DeleteMidQEntry(mid);
-       add_credits(server, 1);
+       add_credits(server, 1, 0);
 }
 
 /* cifs_async_readv - send an async write, and set up mid to handle result */
@@ -1645,10 +1655,10 @@ cifs_async_readv(struct cifs_readdata *rdata)
        kref_get(&rdata->refcount);
        rc = cifs_call_async(tcon->ses->server, rdata->iov, 1,
                             cifs_readv_receive, cifs_readv_callback,
-                            rdata, false);
+                            rdata, 0);
 
        if (rc == 0)
-               cifs_stats_inc(&tcon->num_reads);
+               cifs_stats_inc(&tcon->stats.cifs_stats.num_reads);
        else
                kref_put(&rdata->refcount, cifs_readdata_release);
 
@@ -1657,8 +1667,8 @@ cifs_async_readv(struct cifs_readdata *rdata)
 }
 
 int
-CIFSSMBRead(const int xid, struct cifs_io_parms *io_parms, unsigned int *nbytes,
-           char **buf, int *pbuf_type)
+CIFSSMBRead(const unsigned int xid, struct cifs_io_parms *io_parms,
+           unsigned int *nbytes, char **buf, int *pbuf_type)
 {
        int rc = -EACCES;
        READ_REQ *pSMB = NULL;
@@ -1718,7 +1728,7 @@ CIFSSMBRead(const int xid, struct cifs_io_parms *io_parms, unsigned int *nbytes,
        iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4;
        rc = SendReceive2(xid, tcon->ses, iov, 1 /* num iovecs */,
                         &resp_buf_type, CIFS_LOG_ERROR);
-       cifs_stats_inc(&tcon->num_reads);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_reads);
        pSMBr = (READ_RSP *)iov[0].iov_base;
        if (rc) {
                cERROR(1, "Send error in read = %d", rc);
@@ -1769,7 +1779,7 @@ CIFSSMBRead(const int xid, struct cifs_io_parms *io_parms, unsigned int *nbytes,
 
 
 int
-CIFSSMBWrite(const int xid, struct cifs_io_parms *io_parms,
+CIFSSMBWrite(const unsigned int xid, struct cifs_io_parms *io_parms,
             unsigned int *nbytes, const char *buf,
             const char __user *ubuf, const int long_op)
 {
@@ -1870,7 +1880,7 @@ CIFSSMBWrite(const int xid, struct cifs_io_parms *io_parms,
 
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, long_op);
-       cifs_stats_inc(&tcon->num_writes);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_writes);
        if (rc) {
                cFYI(1, "Send error in write = %d", rc);
        } else {
@@ -2036,7 +2046,7 @@ cifs_writev_callback(struct mid_q_entry *mid)
 
        queue_work(cifsiod_wq, &wdata->work);
        DeleteMidQEntry(mid);
-       add_credits(tcon->ses->server, 1);
+       add_credits(tcon->ses->server, 1, 0);
 }
 
 /* cifs_async_writev - send an async write, and set up mid to handle result */
@@ -2118,10 +2128,10 @@ cifs_async_writev(struct cifs_writedata *wdata)
 
        kref_get(&wdata->refcount);
        rc = cifs_call_async(tcon->ses->server, iov, wdata->nr_pages + 1,
-                            NULL, cifs_writev_callback, wdata, false);
+                            NULL, cifs_writev_callback, wdata, 0);
 
        if (rc == 0)
-               cifs_stats_inc(&tcon->num_writes);
+               cifs_stats_inc(&tcon->stats.cifs_stats.num_writes);
        else
                kref_put(&wdata->refcount, cifs_writedata_release);
 
@@ -2136,7 +2146,7 @@ async_writev_out:
 }
 
 int
-CIFSSMBWrite2(const int xid, struct cifs_io_parms *io_parms,
+CIFSSMBWrite2(const unsigned int xid, struct cifs_io_parms *io_parms,
              unsigned int *nbytes, struct kvec *iov, int n_vec,
              const int long_op)
 {
@@ -2211,7 +2221,7 @@ CIFSSMBWrite2(const int xid, struct cifs_io_parms *io_parms,
 
        rc = SendReceive2(xid, tcon->ses, iov, n_vec + 1, &resp_buf_type,
                          long_op);
-       cifs_stats_inc(&tcon->num_writes);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_writes);
        if (rc) {
                cFYI(1, "Send error Write2 = %d", rc);
        } else if (resp_buf_type == 0) {
@@ -2244,8 +2254,8 @@ CIFSSMBWrite2(const int xid, struct cifs_io_parms *io_parms,
        return rc;
 }
 
-int cifs_lockv(const int xid, struct cifs_tcon *tcon, const __u16 netfid,
-              const __u8 lock_type, const __u32 num_unlock,
+int cifs_lockv(const unsigned int xid, struct cifs_tcon *tcon,
+              const __u16 netfid, const __u8 lock_type, const __u32 num_unlock,
               const __u32 num_lock, LOCKING_ANDX_RANGE *buf)
 {
        int rc = 0;
@@ -2277,7 +2287,7 @@ int cifs_lockv(const int xid, struct cifs_tcon *tcon, const __u16 netfid,
        iov[1].iov_base = (char *)buf;
        iov[1].iov_len = (num_unlock + num_lock) * sizeof(LOCKING_ANDX_RANGE);
 
-       cifs_stats_inc(&tcon->num_locks);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_locks);
        rc = SendReceive2(xid, tcon->ses, iov, 2, &resp_buf_type, CIFS_NO_RESP);
        if (rc)
                cFYI(1, "Send error in cifs_lockv = %d", rc);
@@ -2286,7 +2296,7 @@ int cifs_lockv(const int xid, struct cifs_tcon *tcon, const __u16 netfid,
 }
 
 int
-CIFSSMBLock(const int xid, struct cifs_tcon *tcon,
+CIFSSMBLock(const unsigned int xid, struct cifs_tcon *tcon,
            const __u16 smb_file_id, const __u32 netpid, const __u64 len,
            const __u64 offset, const __u32 numUnlock,
            const __u32 numLock, const __u8 lockType,
@@ -2296,7 +2306,7 @@ CIFSSMBLock(const int xid, struct cifs_tcon *tcon,
        LOCK_REQ *pSMB = NULL;
 /*     LOCK_RSP *pSMBr = NULL; */ /* No response data other than rc to parse */
        int bytes_returned;
-       int timeout = 0;
+       int flags = 0;
        __u16 count;
 
        cFYI(1, "CIFSSMBLock timeout %d numLock %d", (int)waitFlag, numLock);
@@ -2306,10 +2316,11 @@ CIFSSMBLock(const int xid, struct cifs_tcon *tcon,
                return rc;
 
        if (lockType == LOCKING_ANDX_OPLOCK_RELEASE) {
-               timeout = CIFS_ASYNC_OP; /* no response expected */
+               /* no response expected */
+               flags = CIFS_ASYNC_OP | CIFS_OBREAK_OP;
                pSMB->Timeout = 0;
        } else if (waitFlag) {
-               timeout = CIFS_BLOCKING_OP; /* blocking operation, no timeout */
+               flags = CIFS_BLOCKING_OP; /* blocking operation, no timeout */
                pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */
        } else {
                pSMB->Timeout = 0;
@@ -2342,10 +2353,10 @@ CIFSSMBLock(const int xid, struct cifs_tcon *tcon,
                        (struct smb_hdr *) pSMB, &bytes_returned);
                cifs_small_buf_release(pSMB);
        } else {
-               rc = SendReceiveNoRsp(xid, tcon->ses, (char *)pSMB, timeout);
+               rc = SendReceiveNoRsp(xid, tcon->ses, (char *)pSMB, flags);
                /* SMB buffer freed by function above */
        }
-       cifs_stats_inc(&tcon->num_locks);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_locks);
        if (rc)
                cFYI(1, "Send error in Lock = %d", rc);
 
@@ -2355,10 +2366,11 @@ CIFSSMBLock(const int xid, struct cifs_tcon *tcon,
 }
 
 int
-CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon,
-               const __u16 smb_file_id, const __u32 netpid, const int get_flag,
-               const __u64 len, struct file_lock *pLockData,
-               const __u16 lock_type, const bool waitFlag)
+CIFSSMBPosixLock(const unsigned int xid, struct cifs_tcon *tcon,
+               const __u16 smb_file_id, const __u32 netpid,
+               const loff_t start_offset, const __u64 len,
+               struct file_lock *pLockData, const __u16 lock_type,
+               const bool waitFlag)
 {
        struct smb_com_transaction2_sfi_req *pSMB  = NULL;
        struct smb_com_transaction2_sfi_rsp *pSMBr = NULL;
@@ -2372,9 +2384,6 @@ CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon,
 
        cFYI(1, "Posix Lock");
 
-       if (pLockData == NULL)
-               return -EINVAL;
-
        rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB);
 
        if (rc)
@@ -2395,7 +2404,7 @@ CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon,
        pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */
        pSMB->SetupCount = 1;
        pSMB->Reserved3 = 0;
-       if (get_flag)
+       if (pLockData)
                pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION);
        else
                pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION);
@@ -2417,7 +2426,7 @@ CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon,
                pSMB->Timeout = 0;
 
        parm_data->pid = cpu_to_le32(netpid);
-       parm_data->start = cpu_to_le64(pLockData->fl_start);
+       parm_data->start = cpu_to_le64(start_offset);
        parm_data->length = cpu_to_le64(len);  /* normalize negative numbers */
 
        pSMB->DataOffset = cpu_to_le16(offset);
@@ -2441,7 +2450,7 @@ CIFSSMBPosixLock(const int xid, struct cifs_tcon *tcon,
 
        if (rc) {
                cFYI(1, "Send error in Posix Lock = %d", rc);
-       } else if (get_flag) {
+       } else if (pLockData) {
                /* lock structure can be returned on get */
                __u16 data_offset;
                __u16 data_count;
@@ -2493,7 +2502,7 @@ plk_err_exit:
 
 
 int
-CIFSSMBClose(const int xid, struct cifs_tcon *tcon, int smb_file_id)
+CIFSSMBClose(const unsigned int xid, struct cifs_tcon *tcon, int smb_file_id)
 {
        int rc = 0;
        CLOSE_REQ *pSMB = NULL;
@@ -2510,7 +2519,7 @@ CIFSSMBClose(const int xid, struct cifs_tcon *tcon, int smb_file_id)
        pSMB->LastWriteTime = 0xFFFFFFFF;
        pSMB->ByteCount = 0;
        rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0);
-       cifs_stats_inc(&tcon->num_closes);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_closes);
        if (rc) {
                if (rc != -EINTR) {
                        /* EINTR is expected when user ctl-c to kill app */
@@ -2526,7 +2535,7 @@ CIFSSMBClose(const int xid, struct cifs_tcon *tcon, int smb_file_id)
 }
 
 int
-CIFSSMBFlush(const int xid, struct cifs_tcon *tcon, int smb_file_id)
+CIFSSMBFlush(const unsigned int xid, struct cifs_tcon *tcon, int smb_file_id)
 {
        int rc = 0;
        FLUSH_REQ *pSMB = NULL;
@@ -2539,7 +2548,7 @@ CIFSSMBFlush(const int xid, struct cifs_tcon *tcon, int smb_file_id)
        pSMB->FileID = (__u16) smb_file_id;
        pSMB->ByteCount = 0;
        rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0);
-       cifs_stats_inc(&tcon->num_flushes);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_flushes);
        if (rc)
                cERROR(1, "Send error in Flush = %d", rc);
 
@@ -2547,7 +2556,7 @@ CIFSSMBFlush(const int xid, struct cifs_tcon *tcon, int smb_file_id)
 }
 
 int
-CIFSSMBRename(const int xid, struct cifs_tcon *tcon,
+CIFSSMBRename(const unsigned int xid, struct cifs_tcon *tcon,
              const char *fromName, const char *toName,
              const struct nls_table *nls_codepage, int remap)
 {
@@ -2602,7 +2611,7 @@ renameRetry:
 
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_renames);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_renames);
        if (rc)
                cFYI(1, "Send error in rename = %d", rc);
 
@@ -2614,7 +2623,7 @@ renameRetry:
        return rc;
 }
 
-int CIFSSMBRenameOpenFile(const int xid, struct cifs_tcon *pTcon,
+int CIFSSMBRenameOpenFile(const unsigned int xid, struct cifs_tcon *pTcon,
                int netfid, const char *target_name,
                const struct nls_table *nls_codepage, int remap)
 {
@@ -2683,7 +2692,7 @@ int CIFSSMBRenameOpenFile(const int xid, struct cifs_tcon *pTcon,
        pSMB->ByteCount = cpu_to_le16(byte_count);
        rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&pTcon->num_t2renames);
+       cifs_stats_inc(&pTcon->stats.cifs_stats.num_t2renames);
        if (rc)
                cFYI(1, "Send error in Rename (by file handle) = %d", rc);
 
@@ -2696,9 +2705,9 @@ int CIFSSMBRenameOpenFile(const int xid, struct cifs_tcon *pTcon,
 }
 
 int
-CIFSSMBCopy(const int xid, struct cifs_tcon *tcon, const char *fromName,
-           const __u16 target_tid, const char *toName, const int flags,
-           const struct nls_table *nls_codepage, int remap)
+CIFSSMBCopy(const unsigned int xid, struct cifs_tcon *tcon,
+           const char *fromName, const __u16 target_tid, const char *toName,
+           const int flags, const struct nls_table *nls_codepage, int remap)
 {
        int rc = 0;
        COPY_REQ *pSMB = NULL;
@@ -2764,7 +2773,7 @@ copyRetry:
 }
 
 int
-CIFSUnixCreateSymLink(const int xid, struct cifs_tcon *tcon,
+CIFSUnixCreateSymLink(const unsigned int xid, struct cifs_tcon *tcon,
                      const char *fromName, const char *toName,
                      const struct nls_table *nls_codepage)
 {
@@ -2840,7 +2849,7 @@ createSymLinkRetry:
        pSMB->ByteCount = cpu_to_le16(byte_count);
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_symlinks);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_symlinks);
        if (rc)
                cFYI(1, "Send error in SetPathInfo create symlink = %d", rc);
 
@@ -2853,7 +2862,7 @@ createSymLinkRetry:
 }
 
 int
-CIFSUnixCreateHardLink(const int xid, struct cifs_tcon *tcon,
+CIFSUnixCreateHardLink(const unsigned int xid, struct cifs_tcon *tcon,
                       const char *fromName, const char *toName,
                       const struct nls_table *nls_codepage, int remap)
 {
@@ -2926,7 +2935,7 @@ createHardLinkRetry:
        pSMB->ByteCount = cpu_to_le16(byte_count);
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_hardlinks);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_hardlinks);
        if (rc)
                cFYI(1, "Send error in SetPathInfo (hard link) = %d", rc);
 
@@ -2938,7 +2947,7 @@ createHardLinkRetry:
 }
 
 int
-CIFSCreateHardLink(const int xid, struct cifs_tcon *tcon,
+CIFSCreateHardLink(const unsigned int xid, struct cifs_tcon *tcon,
                   const char *fromName, const char *toName,
                   const struct nls_table *nls_codepage, int remap)
 {
@@ -2998,7 +3007,7 @@ winCreateHardLinkRetry:
 
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_hardlinks);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_hardlinks);
        if (rc)
                cFYI(1, "Send error in hard link (NT rename) = %d", rc);
 
@@ -3010,7 +3019,7 @@ winCreateHardLinkRetry:
 }
 
 int
-CIFSSMBUnixQuerySymLink(const int xid, struct cifs_tcon *tcon,
+CIFSSMBUnixQuerySymLink(const unsigned int xid, struct cifs_tcon *tcon,
                        const unsigned char *searchName, char **symlinkinfo,
                        const struct nls_table *nls_codepage)
 {
@@ -3115,7 +3124,7 @@ querySymLinkRetry:
  *     it is not compiled in by default until callers fixed up and more tested.
  */
 int
-CIFSSMBQueryReparseLinkInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBQueryReparseLinkInfo(const unsigned int xid, struct cifs_tcon *tcon,
                        const unsigned char *searchName,
                        char *symlinkinfo, const int buflen, __u16 fid,
                        const struct nls_table *nls_codepage)
@@ -3352,7 +3361,7 @@ static __u16 ACL_to_cifs_posix(char *parm_data, const char *pACL,
 }
 
 int
-CIFSSMBGetPosixACL(const int xid, struct cifs_tcon *tcon,
+CIFSSMBGetPosixACL(const unsigned int xid, struct cifs_tcon *tcon,
                   const unsigned char *searchName,
                   char *acl_inf, const int buflen, const int acl_type,
                   const struct nls_table *nls_codepage, int remap)
@@ -3416,7 +3425,7 @@ queryAclRetry:
 
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_acl_get);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_acl_get);
        if (rc) {
                cFYI(1, "Send error in Query POSIX ACL = %d", rc);
        } else {
@@ -3441,7 +3450,7 @@ queryAclRetry:
 }
 
 int
-CIFSSMBSetPosixACL(const int xid, struct cifs_tcon *tcon,
+CIFSSMBSetPosixACL(const unsigned int xid, struct cifs_tcon *tcon,
                   const unsigned char *fileName,
                   const char *local_acl, const int buflen,
                   const int acl_type,
@@ -3521,7 +3530,7 @@ setACLerrorExit:
 
 /* BB fix tabs in this function FIXME BB */
 int
-CIFSGetExtAttr(const int xid, struct cifs_tcon *tcon,
+CIFSGetExtAttr(const unsigned int xid, struct cifs_tcon *tcon,
               const int netfid, __u64 *pExtAttrBits, __u64 *pMask)
 {
        int rc = 0;
@@ -3696,7 +3705,7 @@ validate_ntransact(char *buf, char **ppparm, char **ppdata,
 
 /* Get Security Descriptor (by handle) from remote server for a file or dir */
 int
-CIFSSMBGetCIFSACL(const int xid, struct cifs_tcon *tcon, __u16 fid,
+CIFSSMBGetCIFSACL(const unsigned int xid, struct cifs_tcon *tcon, __u16 fid,
                  struct cifs_ntsd **acl_inf, __u32 *pbuflen)
 {
        int rc = 0;
@@ -3727,7 +3736,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifs_tcon *tcon, __u16 fid,
 
        rc = SendReceive2(xid, tcon->ses, iov, 1 /* num iovec */, &buf_type,
                         0);
-       cifs_stats_inc(&tcon->num_acl_get);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_acl_get);
        if (rc) {
                cFYI(1, "Send error in QuerySecDesc = %d", rc);
        } else {                /* decode response */
@@ -3788,7 +3797,7 @@ qsec_out:
 }
 
 int
-CIFSSMBSetCIFSACL(const int xid, struct cifs_tcon *tcon, __u16 fid,
+CIFSSMBSetCIFSACL(const unsigned int xid, struct cifs_tcon *tcon, __u16 fid,
                        struct cifs_ntsd *pntsd, __u32 acllen, int aclflag)
 {
        __u16 byte_count, param_count, data_count, param_offset, data_offset;
@@ -3852,10 +3861,10 @@ setCifsAclRetry:
 
 /* Legacy Query Path Information call for lookup to old servers such
    as Win9x/WinME */
-int SMBQueryInformation(const int xid, struct cifs_tcon *tcon,
-                       const unsigned char *searchName,
-                       FILE_ALL_INFO *pFinfo,
-                       const struct nls_table *nls_codepage, int remap)
+int
+SMBQueryInformation(const unsigned int xid, struct cifs_tcon *tcon,
+                   const char *search_name, FILE_ALL_INFO *data,
+                   const struct nls_table *nls_codepage, int remap)
 {
        QUERY_INFORMATION_REQ *pSMB;
        QUERY_INFORMATION_RSP *pSMBr;
@@ -3863,7 +3872,7 @@ int SMBQueryInformation(const int xid, struct cifs_tcon *tcon,
        int bytes_returned;
        int name_len;
 
-       cFYI(1, "In SMBQPath path %s", searchName);
+       cFYI(1, "In SMBQPath path %s", search_name);
 QInfRetry:
        rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB,
                      (void **) &pSMBr);
@@ -3873,14 +3882,14 @@ QInfRetry:
        if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
                name_len =
                        cifsConvertToUTF16((__le16 *) pSMB->FileName,
-                                          searchName, PATH_MAX, nls_codepage,
+                                          search_name, PATH_MAX, nls_codepage,
                                           remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {
-               name_len = strnlen(searchName, PATH_MAX);
+               name_len = strnlen(search_name, PATH_MAX);
                name_len++;     /* trailing null */
-               strncpy(pSMB->FileName, searchName, name_len);
+               strncpy(pSMB->FileName, search_name, name_len);
        }
        pSMB->BufferFormat = 0x04;
        name_len++; /* account for buffer type byte */
@@ -3891,23 +3900,23 @@ QInfRetry:
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
        if (rc) {
                cFYI(1, "Send error in QueryInfo = %d", rc);
-       } else if (pFinfo) {
+       } else if (data) {
                struct timespec ts;
                __u32 time = le32_to_cpu(pSMBr->last_write_time);
 
                /* decode response */
                /* BB FIXME - add time zone adjustment BB */
-               memset(pFinfo, 0, sizeof(FILE_ALL_INFO));
+               memset(data, 0, sizeof(FILE_ALL_INFO));
                ts.tv_nsec = 0;
                ts.tv_sec = time;
                /* decode time fields */
-               pFinfo->ChangeTime = cpu_to_le64(cifs_UnixTimeToNT(ts));
-               pFinfo->LastWriteTime = pFinfo->ChangeTime;
-               pFinfo->LastAccessTime = 0;
-               pFinfo->AllocationSize =
+               data->ChangeTime = cpu_to_le64(cifs_UnixTimeToNT(ts));
+               data->LastWriteTime = data->ChangeTime;
+               data->LastAccessTime = 0;
+               data->AllocationSize =
                        cpu_to_le64(le32_to_cpu(pSMBr->size));
-               pFinfo->EndOfFile = pFinfo->AllocationSize;
-               pFinfo->Attributes =
+               data->EndOfFile = data->AllocationSize;
+               data->Attributes =
                        cpu_to_le32(le16_to_cpu(pSMBr->attr));
        } else
                rc = -EIO; /* bad buffer passed in */
@@ -3921,7 +3930,7 @@ QInfRetry:
 }
 
 int
-CIFSSMBQFileInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBQFileInfo(const unsigned int xid, struct cifs_tcon *tcon,
                 u16 netfid, FILE_ALL_INFO *pFindData)
 {
        struct smb_t2_qfi_req *pSMB = NULL;
@@ -3988,13 +3997,12 @@ QFileInfoRetry:
 }
 
 int
-CIFSSMBQPathInfo(const int xid, struct cifs_tcon *tcon,
-                const unsigned char *searchName,
-                FILE_ALL_INFO *pFindData,
+CIFSSMBQPathInfo(const unsigned int xid, struct cifs_tcon *tcon,
+                const char *search_name, FILE_ALL_INFO *data,
                 int legacy /* old style infolevel */,
                 const struct nls_table *nls_codepage, int remap)
 {
-/* level 263 SMB_QUERY_FILE_ALL_INFO */
+       /* level 263 SMB_QUERY_FILE_ALL_INFO */
        TRANSACTION2_QPI_REQ *pSMB = NULL;
        TRANSACTION2_QPI_RSP *pSMBr = NULL;
        int rc = 0;
@@ -4002,7 +4010,7 @@ CIFSSMBQPathInfo(const int xid, struct cifs_tcon *tcon,
        int name_len;
        __u16 params, byte_count;
 
-/* cFYI(1, "In QPathInfo path %s", searchName); */
+       /* cFYI(1, "In QPathInfo path %s", search_name); */
 QPathInfoRetry:
        rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB,
                      (void **) &pSMBr);
@@ -4011,14 +4019,14 @@ QPathInfoRetry:
 
        if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
                name_len =
-                   cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName,
+                   cifsConvertToUTF16((__le16 *) pSMB->FileName, search_name,
                                       PATH_MAX, nls_codepage, remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {        /* BB improve the check for buffer overruns BB */
-               name_len = strnlen(searchName, PATH_MAX);
+               name_len = strnlen(search_name, PATH_MAX);
                name_len++;     /* trailing null */
-               strncpy(pSMB->FileName, searchName, name_len);
+               strncpy(pSMB->FileName, search_name, name_len);
        }
 
        params = 2 /* level */ + 4 /* reserved */ + name_len /* includes NUL */;
@@ -4063,20 +4071,21 @@ QPathInfoRetry:
                else if (legacy && get_bcc(&pSMBr->hdr) < 24)
                        rc = -EIO;  /* 24 or 26 expected but we do not read
                                        last field */
-               else if (pFindData) {
+               else if (data) {
                        int size;
                        __u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset);
 
-                       /* On legacy responses we do not read the last field,
-                       EAsize, fortunately since it varies by subdialect and
-                       also note it differs on Set vs. Get, ie two bytes or 4
-                       bytes depending but we don't care here */
+                       /*
+                        * On legacy responses we do not read the last field,
+                        * EAsize, fortunately since it varies by subdialect and
+                        * also note it differs on Set vs Get, ie two bytes or 4
+                        * bytes depending but we don't care here.
+                        */
                        if (legacy)
                                size = sizeof(FILE_INFO_STANDARD);
                        else
                                size = sizeof(FILE_ALL_INFO);
-                       memcpy((char *) pFindData,
-                              (char *) &pSMBr->hdr.Protocol +
+                       memcpy((char *) data, (char *) &pSMBr->hdr.Protocol +
                               data_offset, size);
                } else
                    rc = -ENOMEM;
@@ -4089,7 +4098,7 @@ QPathInfoRetry:
 }
 
 int
-CIFSSMBUnixQFileInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBUnixQFileInfo(const unsigned int xid, struct cifs_tcon *tcon,
                 u16 netfid, FILE_UNIX_BASIC_INFO *pFindData)
 {
        struct smb_t2_qfi_req *pSMB = NULL;
@@ -4137,7 +4146,7 @@ UnixQFileInfoRetry:
                rc = validate_t2((struct smb_t2_rsp *)pSMBr);
 
                if (rc || get_bcc(&pSMBr->hdr) < sizeof(FILE_UNIX_BASIC_INFO)) {
-                       cERROR(1, "Malformed FILE_UNIX_BASIC_INFO response.\n"
+                       cERROR(1, "Malformed FILE_UNIX_BASIC_INFO response. "
                                   "Unix Extensions can be disabled on mount "
                                   "by specifying the nosfu mount option.");
                        rc = -EIO;      /* bad smb */
@@ -4158,7 +4167,7 @@ UnixQFileInfoRetry:
 }
 
 int
-CIFSSMBUnixQPathInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBUnixQPathInfo(const unsigned int xid, struct cifs_tcon *tcon,
                     const unsigned char *searchName,
                     FILE_UNIX_BASIC_INFO *pFindData,
                     const struct nls_table *nls_codepage, int remap)
@@ -4223,7 +4232,7 @@ UnixQPathInfoRetry:
                rc = validate_t2((struct smb_t2_rsp *)pSMBr);
 
                if (rc || get_bcc(&pSMBr->hdr) < sizeof(FILE_UNIX_BASIC_INFO)) {
-                       cERROR(1, "Malformed FILE_UNIX_BASIC_INFO response.\n"
+                       cERROR(1, "Malformed FILE_UNIX_BASIC_INFO response. "
                                   "Unix Extensions can be disabled on mount "
                                   "by specifying the nosfu mount option.");
                        rc = -EIO;      /* bad smb */
@@ -4244,7 +4253,7 @@ UnixQPathInfoRetry:
 
 /* xid, tcon, searchName and codepage are input parms, rest are returned */
 int
-CIFSFindFirst(const int xid, struct cifs_tcon *tcon,
+CIFSFindFirst(const unsigned int xid, struct cifs_tcon *tcon,
              const char *searchName,
              const struct nls_table *nls_codepage,
              __u16 *pnetfid, __u16 search_flags,
@@ -4329,7 +4338,7 @@ findFirstRetry:
 
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                         (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_ffirst);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_ffirst);
 
        if (rc) {/* BB add logic to retry regular search if Unix search
                        rejected unexpectedly by server */
@@ -4389,8 +4398,9 @@ findFirstRetry:
        return rc;
 }
 
-int CIFSFindNext(const int xid, struct cifs_tcon *tcon, __u16 searchHandle,
-                __u16 search_flags, struct cifs_search_info *psrch_inf)
+int CIFSFindNext(const unsigned int xid, struct cifs_tcon *tcon,
+                __u16 searchHandle, __u16 search_flags,
+                struct cifs_search_info *psrch_inf)
 {
        TRANSACTION2_FNEXT_REQ *pSMB = NULL;
        TRANSACTION2_FNEXT_RSP *pSMBr = NULL;
@@ -4455,7 +4465,7 @@ int CIFSFindNext(const int xid, struct cifs_tcon *tcon, __u16 searchHandle,
 
        rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
                        (struct smb_hdr *) pSMBr, &bytes_returned, 0);
-       cifs_stats_inc(&tcon->num_fnext);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_fnext);
        if (rc) {
                if (rc == -EBADF) {
                        psrch_inf->endOfSearch = true;
@@ -4524,7 +4534,7 @@ FNext2_err_exit:
 }
 
 int
-CIFSFindClose(const int xid, struct cifs_tcon *tcon,
+CIFSFindClose(const unsigned int xid, struct cifs_tcon *tcon,
              const __u16 searchHandle)
 {
        int rc = 0;
@@ -4546,7 +4556,7 @@ CIFSFindClose(const int xid, struct cifs_tcon *tcon,
        if (rc)
                cERROR(1, "Send error in FindClose = %d", rc);
 
-       cifs_stats_inc(&tcon->num_fclose);
+       cifs_stats_inc(&tcon->stats.cifs_stats.num_fclose);
 
        /* Since session is dead, search handle closed on server already */
        if (rc == -EAGAIN)
@@ -4556,9 +4566,8 @@ CIFSFindClose(const int xid, struct cifs_tcon *tcon,
 }
 
 int
-CIFSGetSrvInodeNumber(const int xid, struct cifs_tcon *tcon,
-                     const unsigned char *searchName,
-                     __u64 *inode_number,
+CIFSGetSrvInodeNumber(const unsigned int xid, struct cifs_tcon *tcon,
+                     const char *search_name, __u64 *inode_number,
                      const struct nls_table *nls_codepage, int remap)
 {
        int rc = 0;
@@ -4567,7 +4576,7 @@ CIFSGetSrvInodeNumber(const int xid, struct cifs_tcon *tcon,
        int name_len, bytes_returned;
        __u16 params, byte_count;
 
-       cFYI(1, "In GetSrvInodeNum for %s", searchName);
+       cFYI(1, "In GetSrvInodeNum for %s", search_name);
        if (tcon == NULL)
                return -ENODEV;
 
@@ -4580,14 +4589,14 @@ GetInodeNumberRetry:
        if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
                name_len =
                        cifsConvertToUTF16((__le16 *) pSMB->FileName,
-                                          searchName, PATH_MAX, nls_codepage,
+                                          search_name, PATH_MAX, nls_codepage,
                                           remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {        /* BB improve the check for buffer overruns BB */
-               name_len = strnlen(searchName, PATH_MAX);
+               name_len = strnlen(search_name, PATH_MAX);
                name_len++;     /* trailing null */
-               strncpy(pSMB->FileName, searchName, name_len);
+               strncpy(pSMB->FileName, search_name, name_len);
        }
 
        params = 2 /* level */  + 4 /* rsrvd */  + name_len /* incl null */ ;
@@ -4675,7 +4684,7 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
 
        if (*num_of_nodes < 1) {
                cERROR(1, "num_referrals: must be at least > 0,"
-                       "but we get num_referrals = %d\n", *num_of_nodes);
+                       "but we get num_referrals = %d", *num_of_nodes);
                rc = -EINVAL;
                goto parse_DFS_referrals_exit;
        }
@@ -4692,14 +4701,14 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
        data_end = (char *)(&(pSMBr->PathConsumed)) +
                                le16_to_cpu(pSMBr->t2.DataCount);
 
-       cFYI(1, "num_referrals: %d dfs flags: 0x%x ...\n",
+       cFYI(1, "num_referrals: %d dfs flags: 0x%x ...",
                        *num_of_nodes,
                        le32_to_cpu(pSMBr->DFSFlags));
 
        *target_nodes = kzalloc(sizeof(struct dfs_info3_param) *
                        *num_of_nodes, GFP_KERNEL);
        if (*target_nodes == NULL) {
-               cERROR(1, "Failed to allocate buffer for target_nodes\n");
+               cERROR(1, "Failed to allocate buffer for target_nodes");
                rc = -ENOMEM;
                goto parse_DFS_referrals_exit;
        }
@@ -4763,9 +4772,8 @@ parse_DFS_referrals_exit:
 }
 
 int
-CIFSGetDFSRefer(const int xid, struct cifs_ses *ses,
-               const unsigned char *searchName,
-               struct dfs_info3_param **target_nodes,
+CIFSGetDFSRefer(const unsigned int xid, struct cifs_ses *ses,
+               const char *search_name, struct dfs_info3_param **target_nodes,
                unsigned int *num_of_nodes,
                const struct nls_table *nls_codepage, int remap)
 {
@@ -4779,7 +4787,7 @@ CIFSGetDFSRefer(const int xid, struct cifs_ses *ses,
        *num_of_nodes = 0;
        *target_nodes = NULL;
 
-       cFYI(1, "In GetDFSRefer the path %s", searchName);
+       cFYI(1, "In GetDFSRefer the path %s", search_name);
        if (ses == NULL)
                return -ENODEV;
 getDFSRetry:
@@ -4802,14 +4810,14 @@ getDFSRetry:
                pSMB->hdr.Flags2 |= SMBFLG2_UNICODE;
                name_len =
                    cifsConvertToUTF16((__le16 *) pSMB->RequestFileName,
-                                      searchName, PATH_MAX, nls_codepage,
+                                      search_name, PATH_MAX, nls_codepage,
                                       remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {        /* BB improve the check for buffer overruns BB */
-               name_len = strnlen(searchName, PATH_MAX);
+               name_len = strnlen(search_name, PATH_MAX);
                name_len++;     /* trailing null */
-               strncpy(pSMB->RequestFileName, searchName, name_len);
+               strncpy(pSMB->RequestFileName, search_name, name_len);
        }
 
        if (ses->server) {
@@ -4865,7 +4873,7 @@ getDFSRetry:
        /* parse returned result into more usable form */
        rc = parse_DFS_referrals(pSMBr, num_of_nodes,
                                 target_nodes, nls_codepage, remap,
-                                searchName);
+                                search_name);
 
 GetDFSRefExit:
        cifs_buf_release(pSMB);
@@ -4878,7 +4886,8 @@ GetDFSRefExit:
 
 /* Query File System Info such as free space to old servers such as Win 9x */
 int
-SMBOldQFSInfo(const int xid, struct cifs_tcon *tcon, struct kstatfs *FSData)
+SMBOldQFSInfo(const unsigned int xid, struct cifs_tcon *tcon,
+             struct kstatfs *FSData)
 {
 /* level 0x01 SMB_QUERY_FILE_SYSTEM_INFO */
        TRANSACTION2_QFSI_REQ *pSMB = NULL;
@@ -4957,7 +4966,8 @@ oldQFSInfoRetry:
 }
 
 int
-CIFSSMBQFSInfo(const int xid, struct cifs_tcon *tcon, struct kstatfs *FSData)
+CIFSSMBQFSInfo(const unsigned int xid, struct cifs_tcon *tcon,
+              struct kstatfs *FSData)
 {
 /* level 0x103 SMB_QUERY_FILE_SYSTEM_INFO */
        TRANSACTION2_QFSI_REQ *pSMB = NULL;
@@ -5036,7 +5046,7 @@ QFSInfoRetry:
 }
 
 int
-CIFSSMBQFSAttributeInfo(const int xid, struct cifs_tcon *tcon)
+CIFSSMBQFSAttributeInfo(const unsigned int xid, struct cifs_tcon *tcon)
 {
 /* level 0x105  SMB_QUERY_FILE_SYSTEM_INFO */
        TRANSACTION2_QFSI_REQ *pSMB = NULL;
@@ -5106,7 +5116,7 @@ QFSAttributeRetry:
 }
 
 int
-CIFSSMBQFSDeviceInfo(const int xid, struct cifs_tcon *tcon)
+CIFSSMBQFSDeviceInfo(const unsigned int xid, struct cifs_tcon *tcon)
 {
 /* level 0x104 SMB_QUERY_FILE_SYSTEM_INFO */
        TRANSACTION2_QFSI_REQ *pSMB = NULL;
@@ -5177,7 +5187,7 @@ QFSDeviceRetry:
 }
 
 int
-CIFSSMBQFSUnixInfo(const int xid, struct cifs_tcon *tcon)
+CIFSSMBQFSUnixInfo(const unsigned int xid, struct cifs_tcon *tcon)
 {
 /* level 0x200  SMB_QUERY_CIFS_UNIX_INFO */
        TRANSACTION2_QFSI_REQ *pSMB = NULL;
@@ -5247,7 +5257,7 @@ QFSUnixRetry:
 }
 
 int
-CIFSSMBSetFSUnixInfo(const int xid, struct cifs_tcon *tcon, __u64 cap)
+CIFSSMBSetFSUnixInfo(const unsigned int xid, struct cifs_tcon *tcon, __u64 cap)
 {
 /* level 0x200  SMB_SET_CIFS_UNIX_INFO */
        TRANSACTION2_SETFSI_REQ *pSMB = NULL;
@@ -5321,7 +5331,7 @@ SETFSUnixRetry:
 
 
 int
-CIFSSMBQFSPosixInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBQFSPosixInfo(const unsigned int xid, struct cifs_tcon *tcon,
                   struct kstatfs *FSData)
 {
 /* level 0x201  SMB_QUERY_CIFS_POSIX_INFO */
@@ -5414,8 +5424,8 @@ QFSPosixRetry:
    in Samba which this routine can run into */
 
 int
-CIFSSMBSetEOF(const int xid, struct cifs_tcon *tcon, const char *fileName,
-             __u64 size, bool SetAllocation,
+CIFSSMBSetEOF(const unsigned int xid, struct cifs_tcon *tcon,
+             const char *fileName, __u64 size, bool SetAllocation,
              const struct nls_table *nls_codepage, int remap)
 {
        struct smb_com_transaction2_spi_req *pSMB = NULL;
@@ -5503,7 +5513,7 @@ SetEOFRetry:
 }
 
 int
-CIFSSMBSetFileSize(const int xid, struct cifs_tcon *tcon, __u64 size,
+CIFSSMBSetFileSize(const unsigned int xid, struct cifs_tcon *tcon, __u64 size,
                   __u16 fid, __u32 pid_of_opener, bool SetAllocation)
 {
        struct smb_com_transaction2_sfi_req *pSMB  = NULL;
@@ -5585,7 +5595,7 @@ CIFSSMBSetFileSize(const int xid, struct cifs_tcon *tcon, __u64 size,
    time and resort to the original setpathinfo level which takes the ancient
    DOS time format with 2 second granularity */
 int
-CIFSSMBSetFileInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBSetFileInfo(const unsigned int xid, struct cifs_tcon *tcon,
                    const FILE_BASIC_INFO *data, __u16 fid, __u32 pid_of_opener)
 {
        struct smb_com_transaction2_sfi_req *pSMB  = NULL;
@@ -5648,7 +5658,7 @@ CIFSSMBSetFileInfo(const int xid, struct cifs_tcon *tcon,
 }
 
 int
-CIFSSMBSetFileDisposition(const int xid, struct cifs_tcon *tcon,
+CIFSSMBSetFileDisposition(const unsigned int xid, struct cifs_tcon *tcon,
                          bool delete_file, __u16 fid, __u32 pid_of_opener)
 {
        struct smb_com_transaction2_sfi_req *pSMB  = NULL;
@@ -5704,7 +5714,7 @@ CIFSSMBSetFileDisposition(const int xid, struct cifs_tcon *tcon,
 }
 
 int
-CIFSSMBSetPathInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBSetPathInfo(const unsigned int xid, struct cifs_tcon *tcon,
                   const char *fileName, const FILE_BASIC_INFO *data,
                   const struct nls_table *nls_codepage, int remap)
 {
@@ -5788,7 +5798,7 @@ SetTimesRetry:
          handling it anyway and NT4 was what we thought it would be needed for
          Do not delete it until we prove whether needed for Win9x though */
 int
-CIFSSMBSetAttrLegacy(int xid, struct cifs_tcon *tcon, char *fileName,
+CIFSSMBSetAttrLegacy(unsigned int xid, struct cifs_tcon *tcon, char *fileName,
                __u16 dos_attrs, const struct nls_table *nls_codepage)
 {
        SETATTR_REQ *pSMB = NULL;
@@ -5876,7 +5886,7 @@ cifs_fill_unix_set_info(FILE_UNIX_BASIC_INFO *data_offset,
 }
 
 int
-CIFSSMBUnixSetFileInfo(const int xid, struct cifs_tcon *tcon,
+CIFSSMBUnixSetFileInfo(const unsigned int xid, struct cifs_tcon *tcon,
                       const struct cifs_unix_set_info_args *args,
                       u16 fid, u32 pid_of_opener)
 {
@@ -5940,7 +5950,8 @@ CIFSSMBUnixSetFileInfo(const int xid, struct cifs_tcon *tcon,
 }
 
 int
-CIFSSMBUnixSetPathInfo(const int xid, struct cifs_tcon *tcon, char *fileName,
+CIFSSMBUnixSetPathInfo(const unsigned int xid, struct cifs_tcon *tcon,
+                      const char *file_name,
                       const struct cifs_unix_set_info_args *args,
                       const struct nls_table *nls_codepage, int remap)
 {
@@ -5961,14 +5972,14 @@ setPermsRetry:
 
        if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
                name_len =
-                   cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName,
+                   cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name,
                                       PATH_MAX, nls_codepage, remap);
                name_len++;     /* trailing null */
                name_len *= 2;
        } else {        /* BB improve the check for buffer overruns BB */
-               name_len = strnlen(fileName, PATH_MAX);
+               name_len = strnlen(file_name, PATH_MAX);
                name_len++;     /* trailing null */
-               strncpy(pSMB->FileName, fileName, name_len);
+               strncpy(pSMB->FileName, file_name, name_len);
        }
 
        params = 6 + name_len;
@@ -6027,7 +6038,7 @@ setPermsRetry:
  * the data isn't copied to it, but the length is returned.
  */
 ssize_t
-CIFSSMBQAllEAs(const int xid, struct cifs_tcon *tcon,
+CIFSSMBQAllEAs(const unsigned int xid, struct cifs_tcon *tcon,
                const unsigned char *searchName, const unsigned char *ea_name,
                char *EAData, size_t buf_size,
                const struct nls_table *nls_codepage, int remap)
@@ -6210,8 +6221,8 @@ QAllEAsOut:
 }
 
 int
-CIFSSMBSetEA(const int xid, struct cifs_tcon *tcon, const char *fileName,
-            const char *ea_name, const void *ea_value,
+CIFSSMBSetEA(const unsigned int xid, struct cifs_tcon *tcon,
+            const char *fileName, const char *ea_name, const void *ea_value,
             const __u16 ea_value_len, const struct nls_table *nls_codepage,
             int remap)
 {
@@ -6337,7 +6348,7 @@ SetEARetry:
  *     incompatible for network fs clients, we could instead simply
  *     expose this config flag by adding a future cifs (and smb2) notify ioctl.
  */
-int CIFSSMBNotify(const int xid, struct cifs_tcon *tcon,
+int CIFSSMBNotify(const unsigned int xid, struct cifs_tcon *tcon,
                  const int notify_subdirs, const __u16 netfid,
                  __u32 filter, struct file *pfile, int multishot,
                  const struct nls_table *nls_codepage)