aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifssmb.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r--fs/cifs/cifssmb.c88
1 files changed, 24 insertions, 64 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 811ab3dffafa..698cdcebca04 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -166,11 +166,9 @@ small_smb_init(int smb_command, int wct, struct cifsTconInfo *tcon,
166 166
167 header_assemble((struct smb_hdr *) *request_buf, smb_command, tcon,wct); 167 header_assemble((struct smb_hdr *) *request_buf, smb_command, tcon,wct);
168 168
169#ifdef CONFIG_CIFS_STATS 169 if(tcon != NULL)
170 if(tcon != NULL) { 170 cifs_stats_inc(&tcon->num_smbs_sent);
171 atomic_inc(&tcon->num_smbs_sent); 171
172 }
173#endif /* CONFIG_CIFS_STATS */
174 return rc; 172 return rc;
175} 173}
176 174
@@ -269,11 +267,9 @@ smb_init(int smb_command, int wct, struct cifsTconInfo *tcon,
269 header_assemble((struct smb_hdr *) *request_buf, smb_command, tcon, 267 header_assemble((struct smb_hdr *) *request_buf, smb_command, tcon,
270 wct /*wct */ ); 268 wct /*wct */ );
271 269
272#ifdef CONFIG_CIFS_STATS 270 if(tcon != NULL)
273 if(tcon != NULL) { 271 cifs_stats_inc(&tcon->num_smbs_sent);
274 atomic_inc(&tcon->num_smbs_sent); 272
275 }
276#endif /* CONFIG_CIFS_STATS */
277 return rc; 273 return rc;
278} 274}
279 275
@@ -584,9 +580,7 @@ DelFileRetry:
584 pSMB->ByteCount = cpu_to_le16(name_len + 1); 580 pSMB->ByteCount = cpu_to_le16(name_len + 1);
585 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 581 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
586 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 582 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
587#ifdef CONFIG_CIFS_STATS 583 cifs_stats_inc(&tcon->num_deletes);
588 atomic_inc(&tcon->num_deletes);
589#endif
590 if (rc) { 584 if (rc) {
591 cFYI(1, ("Error in RMFile = %d", rc)); 585 cFYI(1, ("Error in RMFile = %d", rc));
592 } 586 }
@@ -631,9 +625,7 @@ RmDirRetry:
631 pSMB->ByteCount = cpu_to_le16(name_len + 1); 625 pSMB->ByteCount = cpu_to_le16(name_len + 1);
632 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 626 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
633 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 627 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
634#ifdef CONFIG_CIFS_STATS 628 cifs_stats_inc(&tcon->num_rmdirs);
635 atomic_inc(&tcon->num_rmdirs);
636#endif
637 if (rc) { 629 if (rc) {
638 cFYI(1, ("Error in RMDir = %d", rc)); 630 cFYI(1, ("Error in RMDir = %d", rc));
639 } 631 }
@@ -677,9 +669,7 @@ MkDirRetry:
677 pSMB->ByteCount = cpu_to_le16(name_len + 1); 669 pSMB->ByteCount = cpu_to_le16(name_len + 1);
678 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 670 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
679 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 671 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
680#ifdef CONFIG_CIFS_STATS 672 cifs_stats_inc(&tcon->num_mkdirs);
681 atomic_inc(&tcon->num_mkdirs);
682#endif
683 if (rc) { 673 if (rc) {
684 cFYI(1, ("Error in Mkdir = %d", rc)); 674 cFYI(1, ("Error in Mkdir = %d", rc));
685 } 675 }
@@ -767,9 +757,7 @@ openRetry:
767 /* long_op set to 1 to allow for oplock break timeouts */ 757 /* long_op set to 1 to allow for oplock break timeouts */
768 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 758 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
769 (struct smb_hdr *) pSMBr, &bytes_returned, 1); 759 (struct smb_hdr *) pSMBr, &bytes_returned, 1);
770#ifdef CONFIG_CIFS_STATS 760 cifs_stats_inc(&tcon->num_opens);
771 atomic_inc(&tcon->num_opens);
772#endif
773 if (rc) { 761 if (rc) {
774 cFYI(1, ("Error in Open = %d", rc)); 762 cFYI(1, ("Error in Open = %d", rc));
775 } else { 763 } else {
@@ -833,9 +821,7 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon,
833 821
834 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 822 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
835 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 823 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
836#ifdef CONFIG_CIFS_STATS 824 cifs_stats_inc(&tcon->num_reads);
837 atomic_inc(&tcon->num_reads);
838#endif
839 if (rc) { 825 if (rc) {
840 cERROR(1, ("Send error in read = %d", rc)); 826 cERROR(1, ("Send error in read = %d", rc));
841 } else { 827 } else {
@@ -938,9 +924,7 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon,
938 924
939 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 925 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
940 (struct smb_hdr *) pSMBr, &bytes_returned, long_op); 926 (struct smb_hdr *) pSMBr, &bytes_returned, long_op);
941#ifdef CONFIG_CIFS_STATS 927 cifs_stats_inc(&tcon->num_writes);
942 atomic_inc(&tcon->num_writes);
943#endif
944 if (rc) { 928 if (rc) {
945 cFYI(1, ("Send error in write = %d", rc)); 929 cFYI(1, ("Send error in write = %d", rc));
946 *nbytes = 0; 930 *nbytes = 0;
@@ -1013,9 +997,7 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon,
1013 997
1014 rc = SendReceive2(xid, tcon->ses, (struct smb_hdr *) pSMB, smb_hdr_len, 998 rc = SendReceive2(xid, tcon->ses, (struct smb_hdr *) pSMB, smb_hdr_len,
1015 buf, bytes_sent, &bytes_returned, long_op); 999 buf, bytes_sent, &bytes_returned, long_op);
1016#ifdef CONFIG_CIFS_STATS 1000 cifs_stats_inc(&tcon->num_writes);
1017 atomic_inc(&tcon->num_writes);
1018#endif
1019 if (rc) { 1001 if (rc) {
1020 cFYI(1, ("Send error in write = %d", rc)); 1002 cFYI(1, ("Send error in write = %d", rc));
1021 *nbytes = 0; 1003 *nbytes = 0;
@@ -1091,9 +1073,7 @@ CIFSSMBLock(const int xid, struct cifsTconInfo *tcon,
1091 1073
1092 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 1074 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
1093 (struct smb_hdr *) pSMBr, &bytes_returned, timeout); 1075 (struct smb_hdr *) pSMBr, &bytes_returned, timeout);
1094#ifdef CONFIG_CIFS_STATS 1076 cifs_stats_inc(&tcon->num_locks);
1095 atomic_inc(&tcon->num_locks);
1096#endif
1097 if (rc) { 1077 if (rc) {
1098 cFYI(1, ("Send error in Lock = %d", rc)); 1078 cFYI(1, ("Send error in Lock = %d", rc));
1099 } 1079 }
@@ -1127,9 +1107,7 @@ CIFSSMBClose(const int xid, struct cifsTconInfo *tcon, int smb_file_id)
1127 pSMB->ByteCount = 0; 1107 pSMB->ByteCount = 0;
1128 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 1108 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
1129 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 1109 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
1130#ifdef CONFIG_CIFS_STATS 1110 cifs_stats_inc(&tcon->num_closes);
1131 atomic_inc(&tcon->num_closes);
1132#endif
1133 if (rc) { 1111 if (rc) {
1134 if(rc!=-EINTR) { 1112 if(rc!=-EINTR) {
1135 /* EINTR is expected when user ctl-c to kill app */ 1113 /* EINTR is expected when user ctl-c to kill app */
@@ -1202,9 +1180,7 @@ renameRetry:
1202 1180
1203 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 1181 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
1204 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 1182 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
1205#ifdef CONFIG_CIFS_STATS 1183 cifs_stats_inc(&tcon->num_renames);
1206 atomic_inc(&tcon->num_renames);
1207#endif
1208 if (rc) { 1184 if (rc) {
1209 cFYI(1, ("Send error in rename = %d", rc)); 1185 cFYI(1, ("Send error in rename = %d", rc));
1210 } 1186 }
@@ -1283,9 +1259,7 @@ int CIFSSMBRenameOpenFile(const int xid,struct cifsTconInfo *pTcon,
1283 pSMB->ByteCount = cpu_to_le16(byte_count); 1259 pSMB->ByteCount = cpu_to_le16(byte_count);
1284 rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB, 1260 rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB,
1285 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 1261 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
1286#ifdef CONFIG_CIFS_STATS 1262 cifs_stats_inc(&pTcon->num_t2renames);
1287 atomic_inc(&pTcon->num_t2renames);
1288#endif
1289 if (rc) { 1263 if (rc) {
1290 cFYI(1,("Send error in Rename (by file handle) = %d", rc)); 1264 cFYI(1,("Send error in Rename (by file handle) = %d", rc));
1291 } 1265 }
@@ -1443,9 +1417,7 @@ createSymLinkRetry:
1443 pSMB->ByteCount = cpu_to_le16(byte_count); 1417 pSMB->ByteCount = cpu_to_le16(byte_count);
1444 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 1418 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
1445 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 1419 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
1446#ifdef CONFIG_CIFS_STATS 1420 cifs_stats_inc(&tcon->num_symlinks);
1447 atomic_inc(&tcon->num_symlinks);
1448#endif
1449 if (rc) { 1421 if (rc) {
1450 cFYI(1, 1422 cFYI(1,
1451 ("Send error in SetPathInfo (create symlink) = %d", 1423 ("Send error in SetPathInfo (create symlink) = %d",
@@ -1535,9 +1507,7 @@ createHardLinkRetry:
1535 pSMB->ByteCount = cpu_to_le16(byte_count); 1507 pSMB->ByteCount = cpu_to_le16(byte_count);
1536 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 1508 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
1537 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 1509 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
1538#ifdef CONFIG_CIFS_STATS 1510 cifs_stats_inc(&tcon->num_hardlinks);
1539 atomic_inc(&tcon->num_hardlinks);
1540#endif
1541 if (rc) { 1511 if (rc) {
1542 cFYI(1, ("Send error in SetPathInfo (hard link) = %d", rc)); 1512 cFYI(1, ("Send error in SetPathInfo (hard link) = %d", rc));
1543 } 1513 }
@@ -1608,9 +1578,7 @@ winCreateHardLinkRetry:
1608 1578
1609 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 1579 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
1610 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 1580 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
1611#ifdef CONFIG_CIFS_STATS 1581 cifs_stats_inc(&tcon->num_hardlinks);
1612 atomic_inc(&tcon->num_hardlinks);
1613#endif
1614 if (rc) { 1582 if (rc) {
1615 cFYI(1, ("Send error in hard link (NT rename) = %d", rc)); 1583 cFYI(1, ("Send error in hard link (NT rename) = %d", rc));
1616 } 1584 }
@@ -2490,9 +2458,7 @@ findUniqueRetry:
2490 if (rc) { 2458 if (rc) {
2491 cFYI(1, ("Send error in FindFileDirInfo = %d", rc)); 2459 cFYI(1, ("Send error in FindFileDirInfo = %d", rc));
2492 } else { /* decode response */ 2460 } else { /* decode response */
2493#ifdef CONFIG_CIFS_STATS 2461 cifs_stats_inc(&tcon->num_ffirst);
2494 atomic_inc(&tcon->num_ffirst);
2495#endif
2496 /* BB fill in */ 2462 /* BB fill in */
2497 } 2463 }
2498 2464
@@ -2592,9 +2558,7 @@ findFirstRetry:
2592 2558
2593 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 2559 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
2594 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 2560 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
2595#ifdef CONFIG_CIFS_STATS 2561 cifs_stats_inc(&tcon->num_ffirst);
2596 atomic_inc(&tcon->num_ffirst);
2597#endif
2598 2562
2599 if (rc) {/* BB add logic to retry regular search if Unix search rejected unexpectedly by server */ 2563 if (rc) {/* BB add logic to retry regular search if Unix search rejected unexpectedly by server */
2600 /* BB Add code to handle unsupported level rc */ 2564 /* BB Add code to handle unsupported level rc */
@@ -2716,9 +2680,7 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon,
2716 2680
2717 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, 2681 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
2718 (struct smb_hdr *) pSMBr, &bytes_returned, 0); 2682 (struct smb_hdr *) pSMBr, &bytes_returned, 0);
2719#ifdef CONFIG_CIFS_STATS 2683 cifs_stats_inc(&tcon->num_fnext);
2720 atomic_inc(&tcon->num_fnext);
2721#endif
2722 if (rc) { 2684 if (rc) {
2723 if (rc == -EBADF) { 2685 if (rc == -EBADF) {
2724 psrch_inf->endOfSearch = TRUE; 2686 psrch_inf->endOfSearch = TRUE;
@@ -2795,9 +2757,7 @@ CIFSFindClose(const int xid, struct cifsTconInfo *tcon, const __u16 searchHandle
2795 if (rc) { 2757 if (rc) {
2796 cERROR(1, ("Send error in FindClose = %d", rc)); 2758 cERROR(1, ("Send error in FindClose = %d", rc));
2797 } 2759 }
2798#ifdef CONFIG_CIFS_STATS 2760 cifs_stats_inc(&tcon->num_fclose);
2799 atomic_inc(&tcon->num_fclose);
2800#endif
2801 cifs_small_buf_release(pSMB); 2761 cifs_small_buf_release(pSMB);
2802 2762
2803 /* Since session is dead, search handle closed on server already */ 2763 /* Since session is dead, search handle closed on server already */