diff options
Diffstat (limited to 'fs/cifs/cifssmb.c')
| -rw-r--r-- | fs/cifs/cifssmb.c | 393 |
1 files changed, 194 insertions, 199 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 5d3f29fef532..be23e426ffb3 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
| @@ -130,8 +130,8 @@ cifs_reconnect_tcon(struct cifsTconInfo *tcon, int smb_command) | |||
| 130 | if (smb_command != SMB_COM_WRITE_ANDX && | 130 | if (smb_command != SMB_COM_WRITE_ANDX && |
| 131 | smb_command != SMB_COM_OPEN_ANDX && | 131 | smb_command != SMB_COM_OPEN_ANDX && |
| 132 | smb_command != SMB_COM_TREE_DISCONNECT) { | 132 | smb_command != SMB_COM_TREE_DISCONNECT) { |
| 133 | cFYI(1, ("can not send cmd %d while umounting", | 133 | cFYI(1, "can not send cmd %d while umounting", |
| 134 | smb_command)); | 134 | smb_command); |
| 135 | return -ENODEV; | 135 | return -ENODEV; |
| 136 | } | 136 | } |
| 137 | } | 137 | } |
| @@ -157,7 +157,7 @@ cifs_reconnect_tcon(struct cifsTconInfo *tcon, int smb_command) | |||
| 157 | * back on-line | 157 | * back on-line |
| 158 | */ | 158 | */ |
| 159 | if (!tcon->retry || ses->status == CifsExiting) { | 159 | if (!tcon->retry || ses->status == CifsExiting) { |
| 160 | cFYI(1, ("gave up waiting on reconnect in smb_init")); | 160 | cFYI(1, "gave up waiting on reconnect in smb_init"); |
| 161 | return -EHOSTDOWN; | 161 | return -EHOSTDOWN; |
| 162 | } | 162 | } |
| 163 | } | 163 | } |
| @@ -184,7 +184,7 @@ cifs_reconnect_tcon(struct cifsTconInfo *tcon, int smb_command) | |||
| 184 | mark_open_files_invalid(tcon); | 184 | mark_open_files_invalid(tcon); |
| 185 | rc = CIFSTCon(0, ses, tcon->treeName, tcon, nls_codepage); | 185 | rc = CIFSTCon(0, ses, tcon->treeName, tcon, nls_codepage); |
| 186 | mutex_unlock(&ses->session_mutex); | 186 | mutex_unlock(&ses->session_mutex); |
| 187 | cFYI(1, ("reconnect tcon rc = %d", rc)); | 187 | cFYI(1, "reconnect tcon rc = %d", rc); |
| 188 | 188 | ||
| 189 | if (rc) | 189 | if (rc) |
| 190 | goto out; | 190 | goto out; |
| @@ -374,7 +374,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 374 | else /* if override flags set only sign/seal OR them with global auth */ | 374 | else /* if override flags set only sign/seal OR them with global auth */ |
| 375 | secFlags = extended_security | ses->overrideSecFlg; | 375 | secFlags = extended_security | ses->overrideSecFlg; |
| 376 | 376 | ||
| 377 | cFYI(1, ("secFlags 0x%x", secFlags)); | 377 | cFYI(1, "secFlags 0x%x", secFlags); |
| 378 | 378 | ||
| 379 | pSMB->hdr.Mid = GetNextMid(server); | 379 | pSMB->hdr.Mid = GetNextMid(server); |
| 380 | pSMB->hdr.Flags2 |= (SMBFLG2_UNICODE | SMBFLG2_ERR_STATUS); | 380 | pSMB->hdr.Flags2 |= (SMBFLG2_UNICODE | SMBFLG2_ERR_STATUS); |
| @@ -382,14 +382,14 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 382 | if ((secFlags & CIFSSEC_MUST_KRB5) == CIFSSEC_MUST_KRB5) | 382 | if ((secFlags & CIFSSEC_MUST_KRB5) == CIFSSEC_MUST_KRB5) |
| 383 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; | 383 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; |
| 384 | else if ((secFlags & CIFSSEC_AUTH_MASK) == CIFSSEC_MAY_KRB5) { | 384 | else if ((secFlags & CIFSSEC_AUTH_MASK) == CIFSSEC_MAY_KRB5) { |
| 385 | cFYI(1, ("Kerberos only mechanism, enable extended security")); | 385 | cFYI(1, "Kerberos only mechanism, enable extended security"); |
| 386 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; | 386 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; |
| 387 | } | 387 | } |
| 388 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 388 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
| 389 | else if ((secFlags & CIFSSEC_MUST_NTLMSSP) == CIFSSEC_MUST_NTLMSSP) | 389 | else if ((secFlags & CIFSSEC_MUST_NTLMSSP) == CIFSSEC_MUST_NTLMSSP) |
| 390 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; | 390 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; |
| 391 | else if ((secFlags & CIFSSEC_AUTH_MASK) == CIFSSEC_MAY_NTLMSSP) { | 391 | else if ((secFlags & CIFSSEC_AUTH_MASK) == CIFSSEC_MAY_NTLMSSP) { |
| 392 | cFYI(1, ("NTLMSSP only mechanism, enable extended security")); | 392 | cFYI(1, "NTLMSSP only mechanism, enable extended security"); |
| 393 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; | 393 | pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; |
| 394 | } | 394 | } |
| 395 | #endif | 395 | #endif |
| @@ -409,7 +409,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 409 | goto neg_err_exit; | 409 | goto neg_err_exit; |
| 410 | 410 | ||
| 411 | dialect = le16_to_cpu(pSMBr->DialectIndex); | 411 | dialect = le16_to_cpu(pSMBr->DialectIndex); |
| 412 | cFYI(1, ("Dialect: %d", dialect)); | 412 | cFYI(1, "Dialect: %d", dialect); |
| 413 | /* Check wct = 1 error case */ | 413 | /* Check wct = 1 error case */ |
| 414 | if ((pSMBr->hdr.WordCount < 13) || (dialect == BAD_PROT)) { | 414 | if ((pSMBr->hdr.WordCount < 13) || (dialect == BAD_PROT)) { |
| 415 | /* core returns wct = 1, but we do not ask for core - otherwise | 415 | /* core returns wct = 1, but we do not ask for core - otherwise |
| @@ -428,8 +428,8 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 428 | (secFlags & CIFSSEC_MAY_PLNTXT)) | 428 | (secFlags & CIFSSEC_MAY_PLNTXT)) |
| 429 | server->secType = LANMAN; | 429 | server->secType = LANMAN; |
| 430 | else { | 430 | else { |
| 431 | cERROR(1, ("mount failed weak security disabled" | 431 | cERROR(1, "mount failed weak security disabled" |
| 432 | " in /proc/fs/cifs/SecurityFlags")); | 432 | " in /proc/fs/cifs/SecurityFlags"); |
| 433 | rc = -EOPNOTSUPP; | 433 | rc = -EOPNOTSUPP; |
| 434 | goto neg_err_exit; | 434 | goto neg_err_exit; |
| 435 | } | 435 | } |
| @@ -462,9 +462,9 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 462 | utc = CURRENT_TIME; | 462 | utc = CURRENT_TIME; |
| 463 | ts = cnvrtDosUnixTm(rsp->SrvTime.Date, | 463 | ts = cnvrtDosUnixTm(rsp->SrvTime.Date, |
| 464 | rsp->SrvTime.Time, 0); | 464 | rsp->SrvTime.Time, 0); |
| 465 | cFYI(1, ("SrvTime %d sec since 1970 (utc: %d) diff: %d", | 465 | cFYI(1, "SrvTime %d sec since 1970 (utc: %d) diff: %d", |
| 466 | (int)ts.tv_sec, (int)utc.tv_sec, | 466 | (int)ts.tv_sec, (int)utc.tv_sec, |
| 467 | (int)(utc.tv_sec - ts.tv_sec))); | 467 | (int)(utc.tv_sec - ts.tv_sec)); |
| 468 | val = (int)(utc.tv_sec - ts.tv_sec); | 468 | val = (int)(utc.tv_sec - ts.tv_sec); |
| 469 | seconds = abs(val); | 469 | seconds = abs(val); |
| 470 | result = (seconds / MIN_TZ_ADJ) * MIN_TZ_ADJ; | 470 | result = (seconds / MIN_TZ_ADJ) * MIN_TZ_ADJ; |
| @@ -478,7 +478,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 478 | server->timeAdj = (int)tmp; | 478 | server->timeAdj = (int)tmp; |
| 479 | server->timeAdj *= 60; /* also in seconds */ | 479 | server->timeAdj *= 60; /* also in seconds */ |
| 480 | } | 480 | } |
| 481 | cFYI(1, ("server->timeAdj: %d seconds", server->timeAdj)); | 481 | cFYI(1, "server->timeAdj: %d seconds", server->timeAdj); |
| 482 | 482 | ||
| 483 | 483 | ||
| 484 | /* BB get server time for time conversions and add | 484 | /* BB get server time for time conversions and add |
| @@ -512,14 +512,14 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 512 | /* else wct == 17 NTLM */ | 512 | /* else wct == 17 NTLM */ |
| 513 | server->secMode = pSMBr->SecurityMode; | 513 | server->secMode = pSMBr->SecurityMode; |
| 514 | if ((server->secMode & SECMODE_USER) == 0) | 514 | if ((server->secMode & SECMODE_USER) == 0) |
| 515 | cFYI(1, ("share mode security")); | 515 | cFYI(1, "share mode security"); |
| 516 | 516 | ||
| 517 | if ((server->secMode & SECMODE_PW_ENCRYPT) == 0) | 517 | if ((server->secMode & SECMODE_PW_ENCRYPT) == 0) |
| 518 | #ifdef CONFIG_CIFS_WEAK_PW_HASH | 518 | #ifdef CONFIG_CIFS_WEAK_PW_HASH |
| 519 | if ((secFlags & CIFSSEC_MAY_PLNTXT) == 0) | 519 | if ((secFlags & CIFSSEC_MAY_PLNTXT) == 0) |
| 520 | #endif /* CIFS_WEAK_PW_HASH */ | 520 | #endif /* CIFS_WEAK_PW_HASH */ |
| 521 | cERROR(1, ("Server requests plain text password" | 521 | cERROR(1, "Server requests plain text password" |
| 522 | " but client support disabled")); | 522 | " but client support disabled"); |
| 523 | 523 | ||
| 524 | if ((secFlags & CIFSSEC_MUST_NTLMV2) == CIFSSEC_MUST_NTLMV2) | 524 | if ((secFlags & CIFSSEC_MUST_NTLMV2) == CIFSSEC_MUST_NTLMV2) |
| 525 | server->secType = NTLMv2; | 525 | server->secType = NTLMv2; |
| @@ -539,7 +539,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 539 | #endif */ | 539 | #endif */ |
| 540 | else { | 540 | else { |
| 541 | rc = -EOPNOTSUPP; | 541 | rc = -EOPNOTSUPP; |
| 542 | cERROR(1, ("Invalid security type")); | 542 | cERROR(1, "Invalid security type"); |
| 543 | goto neg_err_exit; | 543 | goto neg_err_exit; |
| 544 | } | 544 | } |
| 545 | /* else ... any others ...? */ | 545 | /* else ... any others ...? */ |
| @@ -551,7 +551,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 551 | server->maxBuf = min(le32_to_cpu(pSMBr->MaxBufferSize), | 551 | server->maxBuf = min(le32_to_cpu(pSMBr->MaxBufferSize), |
| 552 | (__u32) CIFSMaxBufSize + MAX_CIFS_HDR_SIZE); | 552 | (__u32) CIFSMaxBufSize + MAX_CIFS_HDR_SIZE); |
| 553 | server->max_rw = le32_to_cpu(pSMBr->MaxRawSize); | 553 | server->max_rw = le32_to_cpu(pSMBr->MaxRawSize); |
| 554 | cFYI(DBG2, ("Max buf = %d", ses->server->maxBuf)); | 554 | cFYI(DBG2, "Max buf = %d", ses->server->maxBuf); |
| 555 | GETU32(ses->server->sessid) = le32_to_cpu(pSMBr->SessionKey); | 555 | GETU32(ses->server->sessid) = le32_to_cpu(pSMBr->SessionKey); |
| 556 | server->capabilities = le32_to_cpu(pSMBr->Capabilities); | 556 | server->capabilities = le32_to_cpu(pSMBr->Capabilities); |
| 557 | server->timeAdj = (int)(__s16)le16_to_cpu(pSMBr->ServerTimeZone); | 557 | server->timeAdj = (int)(__s16)le16_to_cpu(pSMBr->ServerTimeZone); |
| @@ -582,7 +582,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) | |||
| 582 | if (memcmp(server->server_GUID, | 582 | if (memcmp(server->server_GUID, |
| 583 | pSMBr->u.extended_response. | 583 | pSMBr->u.extended_response. |
| 584 | GUID, 16) != 0) { | 584 | GUID, 16) != 0) { |
| 585 | cFYI(1, ("server UID changed")); | 585 | cFYI(1, "server UID changed"); |
| 586 | memcpy(server->server_GUID, | 586 | memcpy(server->server_GUID, |
| 587 | pSMBr->u.extended_response.GUID, | 587 | pSMBr->u.extended_response.GUID, |
| 588 | 16); | 588 | 16); |
| @@ -614,22 +614,21 @@ signing_check: | |||
| 614 | if ((secFlags & CIFSSEC_MAY_SIGN) == 0) { | 614 | if ((secFlags & CIFSSEC_MAY_SIGN) == 0) { |
| 615 | /* MUST_SIGN already includes the MAY_SIGN FLAG | 615 | /* MUST_SIGN already includes the MAY_SIGN FLAG |
| 616 | so if this is zero it means that signing is disabled */ | 616 | so if this is zero it means that signing is disabled */ |
| 617 | cFYI(1, ("Signing disabled")); | 617 | cFYI(1, "Signing disabled"); |
| 618 | if (server->secMode & SECMODE_SIGN_REQUIRED) { | 618 | if (server->secMode & SECMODE_SIGN_REQUIRED) { |
| 619 | cERROR(1, ("Server requires " | 619 | cERROR(1, "Server requires " |
| 620 | "packet signing to be enabled in " | 620 | "packet signing to be enabled in " |
| 621 | "/proc/fs/cifs/SecurityFlags.")); | 621 | "/proc/fs/cifs/SecurityFlags."); |
| 622 | rc = -EOPNOTSUPP; | 622 | rc = -EOPNOTSUPP; |
| 623 | } | 623 | } |
| 624 | server->secMode &= | 624 | server->secMode &= |
| 625 | ~(SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED); | 625 | ~(SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED); |
| 626 | } else if ((secFlags & CIFSSEC_MUST_SIGN) == CIFSSEC_MUST_SIGN) { | 626 | } else if ((secFlags & CIFSSEC_MUST_SIGN) == CIFSSEC_MUST_SIGN) { |
| 627 | /* signing required */ | 627 | /* signing required */ |
| 628 | cFYI(1, ("Must sign - secFlags 0x%x", secFlags)); | 628 | cFYI(1, "Must sign - secFlags 0x%x", secFlags); |
| 629 | if ((server->secMode & | 629 | if ((server->secMode & |
| 630 | (SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED)) == 0) { | 630 | (SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED)) == 0) { |
| 631 | cERROR(1, | 631 | cERROR(1, "signing required but server lacks support"); |
| 632 | ("signing required but server lacks support")); | ||
| 633 | rc = -EOPNOTSUPP; | 632 | rc = -EOPNOTSUPP; |
| 634 | } else | 633 | } else |
| 635 | server->secMode |= SECMODE_SIGN_REQUIRED; | 634 | server->secMode |= SECMODE_SIGN_REQUIRED; |
| @@ -643,7 +642,7 @@ signing_check: | |||
| 643 | neg_err_exit: | 642 | neg_err_exit: |
| 644 | cifs_buf_release(pSMB); | 643 | cifs_buf_release(pSMB); |
| 645 | 644 | ||
| 646 | cFYI(1, ("negprot rc %d", rc)); | 645 | cFYI(1, "negprot rc %d", rc); |
| 647 | return rc; | 646 | return rc; |
| 648 | } | 647 | } |
| 649 | 648 | ||
| @@ -653,7 +652,7 @@ CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon) | |||
| 653 | struct smb_hdr *smb_buffer; | 652 | struct smb_hdr *smb_buffer; |
| 654 | int rc = 0; | 653 | int rc = 0; |
| 655 | 654 | ||
| 656 | cFYI(1, ("In tree disconnect")); | 655 | cFYI(1, "In tree disconnect"); |
| 657 | 656 | ||
| 658 | /* BB: do we need to check this? These should never be NULL. */ | 657 | /* BB: do we need to check this? These should never be NULL. */ |
| 659 | if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) | 658 | if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) |
| @@ -675,7 +674,7 @@ CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon) | |||
| 675 | 674 | ||
| 676 | rc = SendReceiveNoRsp(xid, tcon->ses, smb_buffer, 0); | 675 | rc = SendReceiveNoRsp(xid, tcon->ses, smb_buffer, 0); |
| 677 | if (rc) | 676 | if (rc) |
| 678 | cFYI(1, ("Tree disconnect failed %d", rc)); | 677 | cFYI(1, "Tree disconnect failed %d", rc); |
| 679 | 678 | ||
| 680 | /* No need to return error on this operation if tid invalidated and | 679 | /* No need to return error on this operation if tid invalidated and |
| 681 | closed on server already e.g. due to tcp session crashing */ | 680 | closed on server already e.g. due to tcp session crashing */ |
| @@ -691,7 +690,7 @@ CIFSSMBLogoff(const int xid, struct cifsSesInfo *ses) | |||
| 691 | LOGOFF_ANDX_REQ *pSMB; | 690 | LOGOFF_ANDX_REQ *pSMB; |
| 692 | int rc = 0; | 691 | int rc = 0; |
| 693 | 692 | ||
| 694 | cFYI(1, ("In SMBLogoff for session disconnect")); | 693 | cFYI(1, "In SMBLogoff for session disconnect"); |
| 695 | 694 | ||
| 696 | /* | 695 | /* |
| 697 | * BB: do we need to check validity of ses and server? They should | 696 | * BB: do we need to check validity of ses and server? They should |
| @@ -744,7 +743,7 @@ CIFSPOSIXDelFile(const int xid, struct cifsTconInfo *tcon, const char *fileName, | |||
| 744 | int bytes_returned = 0; | 743 | int bytes_returned = 0; |
| 745 | __u16 params, param_offset, offset, byte_count; | 744 | __u16 params, param_offset, offset, byte_count; |
| 746 | 745 | ||
| 747 | cFYI(1, ("In POSIX delete")); | 746 | cFYI(1, "In POSIX delete"); |
| 748 | PsxDelete: | 747 | PsxDelete: |
| 749 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 748 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 750 | (void **) &pSMBr); | 749 | (void **) &pSMBr); |
| @@ -796,7 +795,7 @@ PsxDelete: | |||
| 796 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 795 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 797 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 796 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 798 | if (rc) | 797 | if (rc) |
| 799 | cFYI(1, ("Posix delete returned %d", rc)); | 798 | cFYI(1, "Posix delete returned %d", rc); |
| 800 | cifs_buf_release(pSMB); | 799 | cifs_buf_release(pSMB); |
| 801 | 800 | ||
| 802 | cifs_stats_inc(&tcon->num_deletes); | 801 | cifs_stats_inc(&tcon->num_deletes); |
| @@ -843,7 +842,7 @@ DelFileRetry: | |||
| 843 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 842 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 844 | cifs_stats_inc(&tcon->num_deletes); | 843 | cifs_stats_inc(&tcon->num_deletes); |
| 845 | if (rc) | 844 | if (rc) |
| 846 | cFYI(1, ("Error in RMFile = %d", rc)); | 845 | cFYI(1, "Error in RMFile = %d", rc); |
| 847 | 846 | ||
| 848 | cifs_buf_release(pSMB); | 847 | cifs_buf_release(pSMB); |
| 849 | if (rc == -EAGAIN) | 848 | if (rc == -EAGAIN) |
| @@ -862,7 +861,7 @@ CIFSSMBRmDir(const int xid, struct cifsTconInfo *tcon, const char *dirName, | |||
| 862 | int bytes_returned; | 861 | int bytes_returned; |
| 863 | int name_len; | 862 | int name_len; |
| 864 | 863 | ||
| 865 | cFYI(1, ("In CIFSSMBRmDir")); | 864 | cFYI(1, "In CIFSSMBRmDir"); |
| 866 | RmDirRetry: | 865 | RmDirRetry: |
| 867 | rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB, | 866 | rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB, |
| 868 | (void **) &pSMBr); | 867 | (void **) &pSMBr); |
| @@ -887,7 +886,7 @@ RmDirRetry: | |||
| 887 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 886 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 888 | cifs_stats_inc(&tcon->num_rmdirs); | 887 | cifs_stats_inc(&tcon->num_rmdirs); |
| 889 | if (rc) | 888 | if (rc) |
| 890 | cFYI(1, ("Error in RMDir = %d", rc)); | 889 | cFYI(1, "Error in RMDir = %d", rc); |
| 891 | 890 | ||
| 892 | cifs_buf_release(pSMB); | 891 | cifs_buf_release(pSMB); |
| 893 | if (rc == -EAGAIN) | 892 | if (rc == -EAGAIN) |
| @@ -905,7 +904,7 @@ CIFSSMBMkDir(const int xid, struct cifsTconInfo *tcon, | |||
| 905 | int bytes_returned; | 904 | int bytes_returned; |
| 906 | int name_len; | 905 | int name_len; |
| 907 | 906 | ||
| 908 | cFYI(1, ("In CIFSSMBMkDir")); | 907 | cFYI(1, "In CIFSSMBMkDir"); |
| 909 | MkDirRetry: | 908 | MkDirRetry: |
| 910 | rc = smb_init(SMB_COM_CREATE_DIRECTORY, 0, tcon, (void **) &pSMB, | 909 | rc = smb_init(SMB_COM_CREATE_DIRECTORY, 0, tcon, (void **) &pSMB, |
| 911 | (void **) &pSMBr); | 910 | (void **) &pSMBr); |
| @@ -930,7 +929,7 @@ MkDirRetry: | |||
| 930 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 929 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 931 | cifs_stats_inc(&tcon->num_mkdirs); | 930 | cifs_stats_inc(&tcon->num_mkdirs); |
| 932 | if (rc) | 931 | if (rc) |
| 933 | cFYI(1, ("Error in Mkdir = %d", rc)); | 932 | cFYI(1, "Error in Mkdir = %d", rc); |
| 934 | 933 | ||
| 935 | cifs_buf_release(pSMB); | 934 | cifs_buf_release(pSMB); |
| 936 | if (rc == -EAGAIN) | 935 | if (rc == -EAGAIN) |
| @@ -953,7 +952,7 @@ CIFSPOSIXCreate(const int xid, struct cifsTconInfo *tcon, __u32 posix_flags, | |||
| 953 | OPEN_PSX_REQ *pdata; | 952 | OPEN_PSX_REQ *pdata; |
| 954 | OPEN_PSX_RSP *psx_rsp; | 953 | OPEN_PSX_RSP *psx_rsp; |
| 955 | 954 | ||
| 956 | cFYI(1, ("In POSIX Create")); | 955 | cFYI(1, "In POSIX Create"); |
| 957 | PsxCreat: | 956 | PsxCreat: |
| 958 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 957 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 959 | (void **) &pSMBr); | 958 | (void **) &pSMBr); |
| @@ -1007,11 +1006,11 @@ PsxCreat: | |||
| 1007 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 1006 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 1008 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 1007 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 1009 | if (rc) { | 1008 | if (rc) { |
| 1010 | cFYI(1, ("Posix create returned %d", rc)); | 1009 | cFYI(1, "Posix create returned %d", rc); |
| 1011 | goto psx_create_err; | 1010 | goto psx_create_err; |
| 1012 | } | 1011 | } |
| 1013 | 1012 | ||
| 1014 | cFYI(1, ("copying inode info")); | 1013 | cFYI(1, "copying inode info"); |
| 1015 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 1014 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 1016 | 1015 | ||
| 1017 | if (rc || (pSMBr->ByteCount < sizeof(OPEN_PSX_RSP))) { | 1016 | if (rc || (pSMBr->ByteCount < sizeof(OPEN_PSX_RSP))) { |
| @@ -1033,11 +1032,11 @@ PsxCreat: | |||
| 1033 | /* check to make sure response data is there */ | 1032 | /* check to make sure response data is there */ |
| 1034 | if (psx_rsp->ReturnedLevel != cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC)) { | 1033 | if (psx_rsp->ReturnedLevel != cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC)) { |
| 1035 | pRetData->Type = cpu_to_le32(-1); /* unknown */ | 1034 | pRetData->Type = cpu_to_le32(-1); /* unknown */ |
| 1036 | cFYI(DBG2, ("unknown type")); | 1035 | cFYI(DBG2, "unknown type"); |
| 1037 | } else { | 1036 | } else { |
| 1038 | if (pSMBr->ByteCount < sizeof(OPEN_PSX_RSP) | 1037 | if (pSMBr->ByteCount < sizeof(OPEN_PSX_RSP) |
| 1039 | + sizeof(FILE_UNIX_BASIC_INFO)) { | 1038 | + sizeof(FILE_UNIX_BASIC_INFO)) { |
| 1040 | cERROR(1, ("Open response data too small")); | 1039 | cERROR(1, "Open response data too small"); |
| 1041 | pRetData->Type = cpu_to_le32(-1); | 1040 | pRetData->Type = cpu_to_le32(-1); |
| 1042 | goto psx_create_err; | 1041 | goto psx_create_err; |
| 1043 | } | 1042 | } |
| @@ -1084,7 +1083,7 @@ static __u16 convert_disposition(int disposition) | |||
| 1084 | ofun = SMBOPEN_OCREATE | SMBOPEN_OTRUNC; | 1083 | ofun = SMBOPEN_OCREATE | SMBOPEN_OTRUNC; |
| 1085 | break; | 1084 | break; |
| 1086 | default: | 1085 | default: |
| 1087 | cFYI(1, ("unknown disposition %d", disposition)); | 1086 | cFYI(1, "unknown disposition %d", disposition); |
| 1088 | ofun = SMBOPEN_OAPPEND; /* regular open */ | 1087 | ofun = SMBOPEN_OAPPEND; /* regular open */ |
| 1089 | } | 1088 | } |
| 1090 | return ofun; | 1089 | return ofun; |
| @@ -1175,7 +1174,7 @@ OldOpenRetry: | |||
| 1175 | (struct smb_hdr *)pSMBr, &bytes_returned, CIFS_LONG_OP); | 1174 | (struct smb_hdr *)pSMBr, &bytes_returned, CIFS_LONG_OP); |
| 1176 | cifs_stats_inc(&tcon->num_opens); | 1175 | cifs_stats_inc(&tcon->num_opens); |
| 1177 | if (rc) { | 1176 | if (rc) { |
| 1178 | cFYI(1, ("Error in Open = %d", rc)); | 1177 | cFYI(1, "Error in Open = %d", rc); |
| 1179 | } else { | 1178 | } else { |
| 1180 | /* BB verify if wct == 15 */ | 1179 | /* BB verify if wct == 15 */ |
| 1181 | 1180 | ||
| @@ -1288,7 +1287,7 @@ openRetry: | |||
| 1288 | (struct smb_hdr *)pSMBr, &bytes_returned, CIFS_LONG_OP); | 1287 | (struct smb_hdr *)pSMBr, &bytes_returned, CIFS_LONG_OP); |
| 1289 | cifs_stats_inc(&tcon->num_opens); | 1288 | cifs_stats_inc(&tcon->num_opens); |
| 1290 | if (rc) { | 1289 | if (rc) { |
| 1291 | cFYI(1, ("Error in Open = %d", rc)); | 1290 | cFYI(1, "Error in Open = %d", rc); |
| 1292 | } else { | 1291 | } else { |
| 1293 | *pOplock = pSMBr->OplockLevel; /* 1 byte no need to le_to_cpu */ | 1292 | *pOplock = pSMBr->OplockLevel; /* 1 byte no need to le_to_cpu */ |
| 1294 | *netfid = pSMBr->Fid; /* cifs fid stays in le */ | 1293 | *netfid = pSMBr->Fid; /* cifs fid stays in le */ |
| @@ -1326,7 +1325,7 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon, const int netfid, | |||
| 1326 | int resp_buf_type = 0; | 1325 | int resp_buf_type = 0; |
| 1327 | struct kvec iov[1]; | 1326 | struct kvec iov[1]; |
| 1328 | 1327 | ||
| 1329 | cFYI(1, ("Reading %d bytes on fid %d", count, netfid)); | 1328 | cFYI(1, "Reading %d bytes on fid %d", count, netfid); |
| 1330 | if (tcon->ses->capabilities & CAP_LARGE_FILES) | 1329 | if (tcon->ses->capabilities & CAP_LARGE_FILES) |
| 1331 | wct = 12; | 1330 | wct = 12; |
| 1332 | else { | 1331 | else { |
| @@ -1371,7 +1370,7 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon, const int netfid, | |||
| 1371 | cifs_stats_inc(&tcon->num_reads); | 1370 | cifs_stats_inc(&tcon->num_reads); |
| 1372 | pSMBr = (READ_RSP *)iov[0].iov_base; | 1371 | pSMBr = (READ_RSP *)iov[0].iov_base; |
| 1373 | if (rc) { | 1372 | if (rc) { |
| 1374 | cERROR(1, ("Send error in read = %d", rc)); | 1373 | cERROR(1, "Send error in read = %d", rc); |
| 1375 | } else { | 1374 | } else { |
| 1376 | int data_length = le16_to_cpu(pSMBr->DataLengthHigh); | 1375 | int data_length = le16_to_cpu(pSMBr->DataLengthHigh); |
| 1377 | data_length = data_length << 16; | 1376 | data_length = data_length << 16; |
| @@ -1381,15 +1380,15 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon, const int netfid, | |||
| 1381 | /*check that DataLength would not go beyond end of SMB */ | 1380 | /*check that DataLength would not go beyond end of SMB */ |
| 1382 | if ((data_length > CIFSMaxBufSize) | 1381 | if ((data_length > CIFSMaxBufSize) |
| 1383 | || (data_length > count)) { | 1382 | || (data_length > count)) { |
| 1384 | cFYI(1, ("bad length %d for count %d", | 1383 | cFYI(1, "bad length %d for count %d", |
| 1385 | data_length, count)); | 1384 | data_length, count); |
| 1386 | rc = -EIO; | 1385 | rc = -EIO; |
| 1387 | *nbytes = 0; | 1386 | *nbytes = 0; |
| 1388 | } else { | 1387 | } else { |
| 1389 | pReadData = (char *) (&pSMBr->hdr.Protocol) + | 1388 | pReadData = (char *) (&pSMBr->hdr.Protocol) + |
| 1390 | le16_to_cpu(pSMBr->DataOffset); | 1389 | le16_to_cpu(pSMBr->DataOffset); |
| 1391 | /* if (rc = copy_to_user(buf, pReadData, data_length)) { | 1390 | /* if (rc = copy_to_user(buf, pReadData, data_length)) { |
| 1392 | cERROR(1,("Faulting on read rc = %d",rc)); | 1391 | cERROR(1, "Faulting on read rc = %d",rc); |
| 1393 | rc = -EFAULT; | 1392 | rc = -EFAULT; |
| 1394 | }*/ /* can not use copy_to_user when using page cache*/ | 1393 | }*/ /* can not use copy_to_user when using page cache*/ |
| 1395 | if (*buf) | 1394 | if (*buf) |
| @@ -1433,7 +1432,7 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon, | |||
| 1433 | 1432 | ||
| 1434 | *nbytes = 0; | 1433 | *nbytes = 0; |
| 1435 | 1434 | ||
| 1436 | /* cFYI(1, ("write at %lld %d bytes", offset, count));*/ | 1435 | /* cFYI(1, "write at %lld %d bytes", offset, count);*/ |
| 1437 | if (tcon->ses == NULL) | 1436 | if (tcon->ses == NULL) |
| 1438 | return -ECONNABORTED; | 1437 | return -ECONNABORTED; |
| 1439 | 1438 | ||
| @@ -1551,7 +1550,7 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon, | |||
| 1551 | 1550 | ||
| 1552 | *nbytes = 0; | 1551 | *nbytes = 0; |
| 1553 | 1552 | ||
| 1554 | cFYI(1, ("write2 at %lld %d bytes", (long long)offset, count)); | 1553 | cFYI(1, "write2 at %lld %d bytes", (long long)offset, count); |
| 1555 | 1554 | ||
| 1556 | if (tcon->ses->capabilities & CAP_LARGE_FILES) { | 1555 | if (tcon->ses->capabilities & CAP_LARGE_FILES) { |
| 1557 | wct = 14; | 1556 | wct = 14; |
| @@ -1606,7 +1605,7 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon, | |||
| 1606 | long_op); | 1605 | long_op); |
| 1607 | cifs_stats_inc(&tcon->num_writes); | 1606 | cifs_stats_inc(&tcon->num_writes); |
| 1608 | if (rc) { | 1607 | if (rc) { |
| 1609 | cFYI(1, ("Send error Write2 = %d", rc)); | 1608 | cFYI(1, "Send error Write2 = %d", rc); |
| 1610 | } else if (resp_buf_type == 0) { | 1609 | } else if (resp_buf_type == 0) { |
| 1611 | /* presumably this can not happen, but best to be safe */ | 1610 | /* presumably this can not happen, but best to be safe */ |
| 1612 | rc = -EIO; | 1611 | rc = -EIO; |
| @@ -1651,7 +1650,7 @@ CIFSSMBLock(const int xid, struct cifsTconInfo *tcon, | |||
| 1651 | int timeout = 0; | 1650 | int timeout = 0; |
| 1652 | __u16 count; | 1651 | __u16 count; |
| 1653 | 1652 | ||
| 1654 | cFYI(1, ("CIFSSMBLock timeout %d numLock %d", (int)waitFlag, numLock)); | 1653 | cFYI(1, "CIFSSMBLock timeout %d numLock %d", (int)waitFlag, numLock); |
| 1655 | rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); | 1654 | rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); |
| 1656 | 1655 | ||
| 1657 | if (rc) | 1656 | if (rc) |
| @@ -1699,7 +1698,7 @@ CIFSSMBLock(const int xid, struct cifsTconInfo *tcon, | |||
| 1699 | } | 1698 | } |
| 1700 | cifs_stats_inc(&tcon->num_locks); | 1699 | cifs_stats_inc(&tcon->num_locks); |
| 1701 | if (rc) | 1700 | if (rc) |
| 1702 | cFYI(1, ("Send error in Lock = %d", rc)); | 1701 | cFYI(1, "Send error in Lock = %d", rc); |
| 1703 | 1702 | ||
| 1704 | /* Note: On -EAGAIN error only caller can retry on handle based calls | 1703 | /* Note: On -EAGAIN error only caller can retry on handle based calls |
| 1705 | since file handle passed in no longer valid */ | 1704 | since file handle passed in no longer valid */ |
| @@ -1722,7 +1721,7 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon, | |||
| 1722 | __u16 params, param_offset, offset, byte_count, count; | 1721 | __u16 params, param_offset, offset, byte_count, count; |
| 1723 | struct kvec iov[1]; | 1722 | struct kvec iov[1]; |
| 1724 | 1723 | ||
| 1725 | cFYI(1, ("Posix Lock")); | 1724 | cFYI(1, "Posix Lock"); |
| 1726 | 1725 | ||
| 1727 | if (pLockData == NULL) | 1726 | if (pLockData == NULL) |
| 1728 | return -EINVAL; | 1727 | return -EINVAL; |
| @@ -1792,7 +1791,7 @@ CIFSSMBPosixLock(const int xid, struct cifsTconInfo *tcon, | |||
| 1792 | } | 1791 | } |
| 1793 | 1792 | ||
| 1794 | if (rc) { | 1793 | if (rc) { |
| 1795 | cFYI(1, ("Send error in Posix Lock = %d", rc)); | 1794 | cFYI(1, "Send error in Posix Lock = %d", rc); |
| 1796 | } else if (get_flag) { | 1795 | } else if (get_flag) { |
| 1797 | /* lock structure can be returned on get */ | 1796 | /* lock structure can be returned on get */ |
| 1798 | __u16 data_offset; | 1797 | __u16 data_offset; |
| @@ -1849,7 +1848,7 @@ CIFSSMBClose(const int xid, struct cifsTconInfo *tcon, int smb_file_id) | |||
| 1849 | { | 1848 | { |
| 1850 | int rc = 0; | 1849 | int rc = 0; |
| 1851 | CLOSE_REQ *pSMB = NULL; | 1850 | CLOSE_REQ *pSMB = NULL; |
| 1852 | cFYI(1, ("In CIFSSMBClose")); | 1851 | cFYI(1, "In CIFSSMBClose"); |
| 1853 | 1852 | ||
| 1854 | /* do not retry on dead session on close */ | 1853 | /* do not retry on dead session on close */ |
| 1855 | rc = small_smb_init(SMB_COM_CLOSE, 3, tcon, (void **) &pSMB); | 1854 | rc = small_smb_init(SMB_COM_CLOSE, 3, tcon, (void **) &pSMB); |
| @@ -1866,7 +1865,7 @@ CIFSSMBClose(const int xid, struct cifsTconInfo *tcon, int smb_file_id) | |||
| 1866 | if (rc) { | 1865 | if (rc) { |
| 1867 | if (rc != -EINTR) { | 1866 | if (rc != -EINTR) { |
| 1868 | /* EINTR is expected when user ctl-c to kill app */ | 1867 | /* EINTR is expected when user ctl-c to kill app */ |
| 1869 | cERROR(1, ("Send error in Close = %d", rc)); | 1868 | cERROR(1, "Send error in Close = %d", rc); |
| 1870 | } | 1869 | } |
| 1871 | } | 1870 | } |
| 1872 | 1871 | ||
| @@ -1882,7 +1881,7 @@ CIFSSMBFlush(const int xid, struct cifsTconInfo *tcon, int smb_file_id) | |||
| 1882 | { | 1881 | { |
| 1883 | int rc = 0; | 1882 | int rc = 0; |
| 1884 | FLUSH_REQ *pSMB = NULL; | 1883 | FLUSH_REQ *pSMB = NULL; |
| 1885 | cFYI(1, ("In CIFSSMBFlush")); | 1884 | cFYI(1, "In CIFSSMBFlush"); |
| 1886 | 1885 | ||
| 1887 | rc = small_smb_init(SMB_COM_FLUSH, 1, tcon, (void **) &pSMB); | 1886 | rc = small_smb_init(SMB_COM_FLUSH, 1, tcon, (void **) &pSMB); |
| 1888 | if (rc) | 1887 | if (rc) |
| @@ -1893,7 +1892,7 @@ CIFSSMBFlush(const int xid, struct cifsTconInfo *tcon, int smb_file_id) | |||
| 1893 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); | 1892 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); |
| 1894 | cifs_stats_inc(&tcon->num_flushes); | 1893 | cifs_stats_inc(&tcon->num_flushes); |
| 1895 | if (rc) | 1894 | if (rc) |
| 1896 | cERROR(1, ("Send error in Flush = %d", rc)); | 1895 | cERROR(1, "Send error in Flush = %d", rc); |
| 1897 | 1896 | ||
| 1898 | return rc; | 1897 | return rc; |
| 1899 | } | 1898 | } |
| @@ -1910,7 +1909,7 @@ CIFSSMBRename(const int xid, struct cifsTconInfo *tcon, | |||
| 1910 | int name_len, name_len2; | 1909 | int name_len, name_len2; |
| 1911 | __u16 count; | 1910 | __u16 count; |
| 1912 | 1911 | ||
| 1913 | cFYI(1, ("In CIFSSMBRename")); | 1912 | cFYI(1, "In CIFSSMBRename"); |
| 1914 | renameRetry: | 1913 | renameRetry: |
| 1915 | rc = smb_init(SMB_COM_RENAME, 1, tcon, (void **) &pSMB, | 1914 | rc = smb_init(SMB_COM_RENAME, 1, tcon, (void **) &pSMB, |
| 1916 | (void **) &pSMBr); | 1915 | (void **) &pSMBr); |
| @@ -1956,7 +1955,7 @@ renameRetry: | |||
| 1956 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 1955 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 1957 | cifs_stats_inc(&tcon->num_renames); | 1956 | cifs_stats_inc(&tcon->num_renames); |
| 1958 | if (rc) | 1957 | if (rc) |
| 1959 | cFYI(1, ("Send error in rename = %d", rc)); | 1958 | cFYI(1, "Send error in rename = %d", rc); |
| 1960 | 1959 | ||
| 1961 | cifs_buf_release(pSMB); | 1960 | cifs_buf_release(pSMB); |
| 1962 | 1961 | ||
| @@ -1980,7 +1979,7 @@ int CIFSSMBRenameOpenFile(const int xid, struct cifsTconInfo *pTcon, | |||
| 1980 | int len_of_str; | 1979 | int len_of_str; |
| 1981 | __u16 params, param_offset, offset, count, byte_count; | 1980 | __u16 params, param_offset, offset, count, byte_count; |
| 1982 | 1981 | ||
| 1983 | cFYI(1, ("Rename to File by handle")); | 1982 | cFYI(1, "Rename to File by handle"); |
| 1984 | rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, | 1983 | rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, |
| 1985 | (void **) &pSMBr); | 1984 | (void **) &pSMBr); |
| 1986 | if (rc) | 1985 | if (rc) |
| @@ -2035,7 +2034,7 @@ int CIFSSMBRenameOpenFile(const int xid, struct cifsTconInfo *pTcon, | |||
| 2035 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2034 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2036 | cifs_stats_inc(&pTcon->num_t2renames); | 2035 | cifs_stats_inc(&pTcon->num_t2renames); |
| 2037 | if (rc) | 2036 | if (rc) |
| 2038 | cFYI(1, ("Send error in Rename (by file handle) = %d", rc)); | 2037 | cFYI(1, "Send error in Rename (by file handle) = %d", rc); |
| 2039 | 2038 | ||
| 2040 | cifs_buf_release(pSMB); | 2039 | cifs_buf_release(pSMB); |
| 2041 | 2040 | ||
| @@ -2057,7 +2056,7 @@ CIFSSMBCopy(const int xid, struct cifsTconInfo *tcon, const char *fromName, | |||
| 2057 | int name_len, name_len2; | 2056 | int name_len, name_len2; |
| 2058 | __u16 count; | 2057 | __u16 count; |
| 2059 | 2058 | ||
| 2060 | cFYI(1, ("In CIFSSMBCopy")); | 2059 | cFYI(1, "In CIFSSMBCopy"); |
| 2061 | copyRetry: | 2060 | copyRetry: |
| 2062 | rc = smb_init(SMB_COM_COPY, 1, tcon, (void **) &pSMB, | 2061 | rc = smb_init(SMB_COM_COPY, 1, tcon, (void **) &pSMB, |
| 2063 | (void **) &pSMBr); | 2062 | (void **) &pSMBr); |
| @@ -2102,8 +2101,8 @@ copyRetry: | |||
| 2102 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 2101 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 2103 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2102 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2104 | if (rc) { | 2103 | if (rc) { |
| 2105 | cFYI(1, ("Send error in copy = %d with %d files copied", | 2104 | cFYI(1, "Send error in copy = %d with %d files copied", |
| 2106 | rc, le16_to_cpu(pSMBr->CopyCount))); | 2105 | rc, le16_to_cpu(pSMBr->CopyCount)); |
| 2107 | } | 2106 | } |
| 2108 | cifs_buf_release(pSMB); | 2107 | cifs_buf_release(pSMB); |
| 2109 | 2108 | ||
| @@ -2127,7 +2126,7 @@ CIFSUnixCreateSymLink(const int xid, struct cifsTconInfo *tcon, | |||
| 2127 | int bytes_returned = 0; | 2126 | int bytes_returned = 0; |
| 2128 | __u16 params, param_offset, offset, byte_count; | 2127 | __u16 params, param_offset, offset, byte_count; |
| 2129 | 2128 | ||
| 2130 | cFYI(1, ("In Symlink Unix style")); | 2129 | cFYI(1, "In Symlink Unix style"); |
| 2131 | createSymLinkRetry: | 2130 | createSymLinkRetry: |
| 2132 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 2131 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 2133 | (void **) &pSMBr); | 2132 | (void **) &pSMBr); |
| @@ -2192,7 +2191,7 @@ createSymLinkRetry: | |||
| 2192 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2191 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2193 | cifs_stats_inc(&tcon->num_symlinks); | 2192 | cifs_stats_inc(&tcon->num_symlinks); |
| 2194 | if (rc) | 2193 | if (rc) |
| 2195 | cFYI(1, ("Send error in SetPathInfo create symlink = %d", rc)); | 2194 | cFYI(1, "Send error in SetPathInfo create symlink = %d", rc); |
| 2196 | 2195 | ||
| 2197 | cifs_buf_release(pSMB); | 2196 | cifs_buf_release(pSMB); |
| 2198 | 2197 | ||
| @@ -2216,7 +2215,7 @@ CIFSUnixCreateHardLink(const int xid, struct cifsTconInfo *tcon, | |||
| 2216 | int bytes_returned = 0; | 2215 | int bytes_returned = 0; |
| 2217 | __u16 params, param_offset, offset, byte_count; | 2216 | __u16 params, param_offset, offset, byte_count; |
| 2218 | 2217 | ||
| 2219 | cFYI(1, ("In Create Hard link Unix style")); | 2218 | cFYI(1, "In Create Hard link Unix style"); |
| 2220 | createHardLinkRetry: | 2219 | createHardLinkRetry: |
| 2221 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 2220 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 2222 | (void **) &pSMBr); | 2221 | (void **) &pSMBr); |
| @@ -2278,7 +2277,7 @@ createHardLinkRetry: | |||
| 2278 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2277 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2279 | cifs_stats_inc(&tcon->num_hardlinks); | 2278 | cifs_stats_inc(&tcon->num_hardlinks); |
| 2280 | if (rc) | 2279 | if (rc) |
| 2281 | cFYI(1, ("Send error in SetPathInfo (hard link) = %d", rc)); | 2280 | cFYI(1, "Send error in SetPathInfo (hard link) = %d", rc); |
| 2282 | 2281 | ||
| 2283 | cifs_buf_release(pSMB); | 2282 | cifs_buf_release(pSMB); |
| 2284 | if (rc == -EAGAIN) | 2283 | if (rc == -EAGAIN) |
| @@ -2299,7 +2298,7 @@ CIFSCreateHardLink(const int xid, struct cifsTconInfo *tcon, | |||
| 2299 | int name_len, name_len2; | 2298 | int name_len, name_len2; |
| 2300 | __u16 count; | 2299 | __u16 count; |
| 2301 | 2300 | ||
| 2302 | cFYI(1, ("In CIFSCreateHardLink")); | 2301 | cFYI(1, "In CIFSCreateHardLink"); |
| 2303 | winCreateHardLinkRetry: | 2302 | winCreateHardLinkRetry: |
| 2304 | 2303 | ||
| 2305 | rc = smb_init(SMB_COM_NT_RENAME, 4, tcon, (void **) &pSMB, | 2304 | rc = smb_init(SMB_COM_NT_RENAME, 4, tcon, (void **) &pSMB, |
| @@ -2350,7 +2349,7 @@ winCreateHardLinkRetry: | |||
| 2350 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2349 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2351 | cifs_stats_inc(&tcon->num_hardlinks); | 2350 | cifs_stats_inc(&tcon->num_hardlinks); |
| 2352 | if (rc) | 2351 | if (rc) |
| 2353 | cFYI(1, ("Send error in hard link (NT rename) = %d", rc)); | 2352 | cFYI(1, "Send error in hard link (NT rename) = %d", rc); |
| 2354 | 2353 | ||
| 2355 | cifs_buf_release(pSMB); | 2354 | cifs_buf_release(pSMB); |
| 2356 | if (rc == -EAGAIN) | 2355 | if (rc == -EAGAIN) |
| @@ -2373,7 +2372,7 @@ CIFSSMBUnixQuerySymLink(const int xid, struct cifsTconInfo *tcon, | |||
| 2373 | __u16 params, byte_count; | 2372 | __u16 params, byte_count; |
| 2374 | char *data_start; | 2373 | char *data_start; |
| 2375 | 2374 | ||
| 2376 | cFYI(1, ("In QPathSymLinkInfo (Unix) for path %s", searchName)); | 2375 | cFYI(1, "In QPathSymLinkInfo (Unix) for path %s", searchName); |
| 2377 | 2376 | ||
| 2378 | querySymLinkRetry: | 2377 | querySymLinkRetry: |
| 2379 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 2378 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| @@ -2420,7 +2419,7 @@ querySymLinkRetry: | |||
| 2420 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 2419 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 2421 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2420 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2422 | if (rc) { | 2421 | if (rc) { |
| 2423 | cFYI(1, ("Send error in QuerySymLinkInfo = %d", rc)); | 2422 | cFYI(1, "Send error in QuerySymLinkInfo = %d", rc); |
| 2424 | } else { | 2423 | } else { |
| 2425 | /* decode response */ | 2424 | /* decode response */ |
| 2426 | 2425 | ||
| @@ -2521,21 +2520,21 @@ validate_ntransact(char *buf, char **ppparm, char **ppdata, | |||
| 2521 | 2520 | ||
| 2522 | /* should we also check that parm and data areas do not overlap? */ | 2521 | /* should we also check that parm and data areas do not overlap? */ |
| 2523 | if (*ppparm > end_of_smb) { | 2522 | if (*ppparm > end_of_smb) { |
| 2524 | cFYI(1, ("parms start after end of smb")); | 2523 | cFYI(1, "parms start after end of smb"); |
| 2525 | return -EINVAL; | 2524 | return -EINVAL; |
| 2526 | } else if (parm_count + *ppparm > end_of_smb) { | 2525 | } else if (parm_count + *ppparm > end_of_smb) { |
| 2527 | cFYI(1, ("parm end after end of smb")); | 2526 | cFYI(1, "parm end after end of smb"); |
| 2528 | return -EINVAL; | 2527 | return -EINVAL; |
| 2529 | } else if (*ppdata > end_of_smb) { | 2528 | } else if (*ppdata > end_of_smb) { |
| 2530 | cFYI(1, ("data starts after end of smb")); | 2529 | cFYI(1, "data starts after end of smb"); |
| 2531 | return -EINVAL; | 2530 | return -EINVAL; |
| 2532 | } else if (data_count + *ppdata > end_of_smb) { | 2531 | } else if (data_count + *ppdata > end_of_smb) { |
| 2533 | cFYI(1, ("data %p + count %d (%p) ends after end of smb %p start %p", | 2532 | cFYI(1, "data %p + count %d (%p) ends after end of smb %p start %p", |
| 2534 | *ppdata, data_count, (data_count + *ppdata), | 2533 | *ppdata, data_count, (data_count + *ppdata), |
| 2535 | end_of_smb, pSMBr)); | 2534 | end_of_smb, pSMBr); |
| 2536 | return -EINVAL; | 2535 | return -EINVAL; |
| 2537 | } else if (parm_count + data_count > pSMBr->ByteCount) { | 2536 | } else if (parm_count + data_count > pSMBr->ByteCount) { |
| 2538 | cFYI(1, ("parm count and data count larger than SMB")); | 2537 | cFYI(1, "parm count and data count larger than SMB"); |
| 2539 | return -EINVAL; | 2538 | return -EINVAL; |
| 2540 | } | 2539 | } |
| 2541 | *pdatalen = data_count; | 2540 | *pdatalen = data_count; |
| @@ -2554,7 +2553,7 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 2554 | struct smb_com_transaction_ioctl_req *pSMB; | 2553 | struct smb_com_transaction_ioctl_req *pSMB; |
| 2555 | struct smb_com_transaction_ioctl_rsp *pSMBr; | 2554 | struct smb_com_transaction_ioctl_rsp *pSMBr; |
| 2556 | 2555 | ||
| 2557 | cFYI(1, ("In Windows reparse style QueryLink for path %s", searchName)); | 2556 | cFYI(1, "In Windows reparse style QueryLink for path %s", searchName); |
| 2558 | rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, | 2557 | rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, |
| 2559 | (void **) &pSMBr); | 2558 | (void **) &pSMBr); |
| 2560 | if (rc) | 2559 | if (rc) |
| @@ -2583,7 +2582,7 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 2583 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 2582 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 2584 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2583 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2585 | if (rc) { | 2584 | if (rc) { |
| 2586 | cFYI(1, ("Send error in QueryReparseLinkInfo = %d", rc)); | 2585 | cFYI(1, "Send error in QueryReparseLinkInfo = %d", rc); |
| 2587 | } else { /* decode response */ | 2586 | } else { /* decode response */ |
| 2588 | __u32 data_offset = le32_to_cpu(pSMBr->DataOffset); | 2587 | __u32 data_offset = le32_to_cpu(pSMBr->DataOffset); |
| 2589 | __u32 data_count = le32_to_cpu(pSMBr->DataCount); | 2588 | __u32 data_count = le32_to_cpu(pSMBr->DataCount); |
| @@ -2607,7 +2606,7 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 2607 | if ((reparse_buf->LinkNamesBuf + | 2606 | if ((reparse_buf->LinkNamesBuf + |
| 2608 | reparse_buf->TargetNameOffset + | 2607 | reparse_buf->TargetNameOffset + |
| 2609 | reparse_buf->TargetNameLen) > end_of_smb) { | 2608 | reparse_buf->TargetNameLen) > end_of_smb) { |
| 2610 | cFYI(1, ("reparse buf beyond SMB")); | 2609 | cFYI(1, "reparse buf beyond SMB"); |
| 2611 | rc = -EIO; | 2610 | rc = -EIO; |
| 2612 | goto qreparse_out; | 2611 | goto qreparse_out; |
| 2613 | } | 2612 | } |
| @@ -2628,12 +2627,12 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 2628 | } | 2627 | } |
| 2629 | } else { | 2628 | } else { |
| 2630 | rc = -EIO; | 2629 | rc = -EIO; |
| 2631 | cFYI(1, ("Invalid return data count on " | 2630 | cFYI(1, "Invalid return data count on " |
| 2632 | "get reparse info ioctl")); | 2631 | "get reparse info ioctl"); |
| 2633 | } | 2632 | } |
| 2634 | symlinkinfo[buflen] = 0; /* just in case so the caller | 2633 | symlinkinfo[buflen] = 0; /* just in case so the caller |
| 2635 | does not go off the end of the buffer */ | 2634 | does not go off the end of the buffer */ |
| 2636 | cFYI(1, ("readlink result - %s", symlinkinfo)); | 2635 | cFYI(1, "readlink result - %s", symlinkinfo); |
| 2637 | } | 2636 | } |
| 2638 | 2637 | ||
| 2639 | qreparse_out: | 2638 | qreparse_out: |
| @@ -2656,7 +2655,7 @@ static void cifs_convert_ace(posix_acl_xattr_entry *ace, | |||
| 2656 | ace->e_perm = cpu_to_le16(cifs_ace->cifs_e_perm); | 2655 | ace->e_perm = cpu_to_le16(cifs_ace->cifs_e_perm); |
| 2657 | ace->e_tag = cpu_to_le16(cifs_ace->cifs_e_tag); | 2656 | ace->e_tag = cpu_to_le16(cifs_ace->cifs_e_tag); |
| 2658 | ace->e_id = cpu_to_le32(le64_to_cpu(cifs_ace->cifs_uid)); | 2657 | ace->e_id = cpu_to_le32(le64_to_cpu(cifs_ace->cifs_uid)); |
| 2659 | /* cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id)); */ | 2658 | /* cFYI(1, "perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id); */ |
| 2660 | 2659 | ||
| 2661 | return; | 2660 | return; |
| 2662 | } | 2661 | } |
| @@ -2682,8 +2681,8 @@ static int cifs_copy_posix_acl(char *trgt, char *src, const int buflen, | |||
| 2682 | size += sizeof(struct cifs_posix_ace) * count; | 2681 | size += sizeof(struct cifs_posix_ace) * count; |
| 2683 | /* check if we would go beyond end of SMB */ | 2682 | /* check if we would go beyond end of SMB */ |
| 2684 | if (size_of_data_area < size) { | 2683 | if (size_of_data_area < size) { |
| 2685 | cFYI(1, ("bad CIFS POSIX ACL size %d vs. %d", | 2684 | cFYI(1, "bad CIFS POSIX ACL size %d vs. %d", |
| 2686 | size_of_data_area, size)); | 2685 | size_of_data_area, size); |
| 2687 | return -EINVAL; | 2686 | return -EINVAL; |
| 2688 | } | 2687 | } |
| 2689 | } else if (acl_type & ACL_TYPE_DEFAULT) { | 2688 | } else if (acl_type & ACL_TYPE_DEFAULT) { |
| @@ -2730,7 +2729,7 @@ static __u16 convert_ace_to_cifs_ace(struct cifs_posix_ace *cifs_ace, | |||
| 2730 | cifs_ace->cifs_uid = cpu_to_le64(-1); | 2729 | cifs_ace->cifs_uid = cpu_to_le64(-1); |
| 2731 | } else | 2730 | } else |
| 2732 | cifs_ace->cifs_uid = cpu_to_le64(le32_to_cpu(local_ace->e_id)); | 2731 | cifs_ace->cifs_uid = cpu_to_le64(le32_to_cpu(local_ace->e_id)); |
| 2733 | /*cFYI(1,("perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id));*/ | 2732 | /*cFYI(1, "perm %d tag %d id %d",ace->e_perm,ace->e_tag,ace->e_id);*/ |
| 2734 | return rc; | 2733 | return rc; |
| 2735 | } | 2734 | } |
| 2736 | 2735 | ||
| @@ -2748,12 +2747,12 @@ static __u16 ACL_to_cifs_posix(char *parm_data, const char *pACL, | |||
| 2748 | return 0; | 2747 | return 0; |
| 2749 | 2748 | ||
| 2750 | count = posix_acl_xattr_count((size_t)buflen); | 2749 | count = posix_acl_xattr_count((size_t)buflen); |
| 2751 | cFYI(1, ("setting acl with %d entries from buf of length %d and " | 2750 | cFYI(1, "setting acl with %d entries from buf of length %d and " |
| 2752 | "version of %d", | 2751 | "version of %d", |
| 2753 | count, buflen, le32_to_cpu(local_acl->a_version))); | 2752 | count, buflen, le32_to_cpu(local_acl->a_version)); |
| 2754 | if (le32_to_cpu(local_acl->a_version) != 2) { | 2753 | if (le32_to_cpu(local_acl->a_version) != 2) { |
| 2755 | cFYI(1, ("unknown POSIX ACL version %d", | 2754 | cFYI(1, "unknown POSIX ACL version %d", |
| 2756 | le32_to_cpu(local_acl->a_version))); | 2755 | le32_to_cpu(local_acl->a_version)); |
| 2757 | return 0; | 2756 | return 0; |
| 2758 | } | 2757 | } |
| 2759 | cifs_acl->version = cpu_to_le16(1); | 2758 | cifs_acl->version = cpu_to_le16(1); |
| @@ -2762,7 +2761,7 @@ static __u16 ACL_to_cifs_posix(char *parm_data, const char *pACL, | |||
| 2762 | else if (acl_type == ACL_TYPE_DEFAULT) | 2761 | else if (acl_type == ACL_TYPE_DEFAULT) |
| 2763 | cifs_acl->default_entry_count = cpu_to_le16(count); | 2762 | cifs_acl->default_entry_count = cpu_to_le16(count); |
| 2764 | else { | 2763 | else { |
| 2765 | cFYI(1, ("unknown ACL type %d", acl_type)); | 2764 | cFYI(1, "unknown ACL type %d", acl_type); |
| 2766 | return 0; | 2765 | return 0; |
| 2767 | } | 2766 | } |
| 2768 | for (i = 0; i < count; i++) { | 2767 | for (i = 0; i < count; i++) { |
| @@ -2795,7 +2794,7 @@ CIFSSMBGetPosixACL(const int xid, struct cifsTconInfo *tcon, | |||
| 2795 | int name_len; | 2794 | int name_len; |
| 2796 | __u16 params, byte_count; | 2795 | __u16 params, byte_count; |
| 2797 | 2796 | ||
| 2798 | cFYI(1, ("In GetPosixACL (Unix) for path %s", searchName)); | 2797 | cFYI(1, "In GetPosixACL (Unix) for path %s", searchName); |
| 2799 | 2798 | ||
| 2800 | queryAclRetry: | 2799 | queryAclRetry: |
| 2801 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 2800 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| @@ -2847,7 +2846,7 @@ queryAclRetry: | |||
| 2847 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2846 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2848 | cifs_stats_inc(&tcon->num_acl_get); | 2847 | cifs_stats_inc(&tcon->num_acl_get); |
| 2849 | if (rc) { | 2848 | if (rc) { |
| 2850 | cFYI(1, ("Send error in Query POSIX ACL = %d", rc)); | 2849 | cFYI(1, "Send error in Query POSIX ACL = %d", rc); |
| 2851 | } else { | 2850 | } else { |
| 2852 | /* decode response */ | 2851 | /* decode response */ |
| 2853 | 2852 | ||
| @@ -2884,7 +2883,7 @@ CIFSSMBSetPosixACL(const int xid, struct cifsTconInfo *tcon, | |||
| 2884 | int bytes_returned = 0; | 2883 | int bytes_returned = 0; |
| 2885 | __u16 params, byte_count, data_count, param_offset, offset; | 2884 | __u16 params, byte_count, data_count, param_offset, offset; |
| 2886 | 2885 | ||
| 2887 | cFYI(1, ("In SetPosixACL (Unix) for path %s", fileName)); | 2886 | cFYI(1, "In SetPosixACL (Unix) for path %s", fileName); |
| 2888 | setAclRetry: | 2887 | setAclRetry: |
| 2889 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 2888 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 2890 | (void **) &pSMBr); | 2889 | (void **) &pSMBr); |
| @@ -2939,7 +2938,7 @@ setAclRetry: | |||
| 2939 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 2938 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 2940 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2939 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 2941 | if (rc) | 2940 | if (rc) |
| 2942 | cFYI(1, ("Set POSIX ACL returned %d", rc)); | 2941 | cFYI(1, "Set POSIX ACL returned %d", rc); |
| 2943 | 2942 | ||
| 2944 | setACLerrorExit: | 2943 | setACLerrorExit: |
| 2945 | cifs_buf_release(pSMB); | 2944 | cifs_buf_release(pSMB); |
| @@ -2959,7 +2958,7 @@ CIFSGetExtAttr(const int xid, struct cifsTconInfo *tcon, | |||
| 2959 | int bytes_returned; | 2958 | int bytes_returned; |
| 2960 | __u16 params, byte_count; | 2959 | __u16 params, byte_count; |
| 2961 | 2960 | ||
| 2962 | cFYI(1, ("In GetExtAttr")); | 2961 | cFYI(1, "In GetExtAttr"); |
| 2963 | if (tcon == NULL) | 2962 | if (tcon == NULL) |
| 2964 | return -ENODEV; | 2963 | return -ENODEV; |
| 2965 | 2964 | ||
| @@ -2998,7 +2997,7 @@ GetExtAttrRetry: | |||
| 2998 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 2997 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 2999 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 2998 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3000 | if (rc) { | 2999 | if (rc) { |
| 3001 | cFYI(1, ("error %d in GetExtAttr", rc)); | 3000 | cFYI(1, "error %d in GetExtAttr", rc); |
| 3002 | } else { | 3001 | } else { |
| 3003 | /* decode response */ | 3002 | /* decode response */ |
| 3004 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 3003 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| @@ -3013,7 +3012,7 @@ GetExtAttrRetry: | |||
| 3013 | struct file_chattr_info *pfinfo; | 3012 | struct file_chattr_info *pfinfo; |
| 3014 | /* BB Do we need a cast or hash here ? */ | 3013 | /* BB Do we need a cast or hash here ? */ |
| 3015 | if (count != 16) { | 3014 | if (count != 16) { |
| 3016 | cFYI(1, ("Illegal size ret in GetExtAttr")); | 3015 | cFYI(1, "Illegal size ret in GetExtAttr"); |
| 3017 | rc = -EIO; | 3016 | rc = -EIO; |
| 3018 | goto GetExtAttrOut; | 3017 | goto GetExtAttrOut; |
| 3019 | } | 3018 | } |
| @@ -3043,7 +3042,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, | |||
| 3043 | QUERY_SEC_DESC_REQ *pSMB; | 3042 | QUERY_SEC_DESC_REQ *pSMB; |
| 3044 | struct kvec iov[1]; | 3043 | struct kvec iov[1]; |
| 3045 | 3044 | ||
| 3046 | cFYI(1, ("GetCifsACL")); | 3045 | cFYI(1, "GetCifsACL"); |
| 3047 | 3046 | ||
| 3048 | *pbuflen = 0; | 3047 | *pbuflen = 0; |
| 3049 | *acl_inf = NULL; | 3048 | *acl_inf = NULL; |
| @@ -3068,7 +3067,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, | |||
| 3068 | CIFS_STD_OP); | 3067 | CIFS_STD_OP); |
| 3069 | cifs_stats_inc(&tcon->num_acl_get); | 3068 | cifs_stats_inc(&tcon->num_acl_get); |
| 3070 | if (rc) { | 3069 | if (rc) { |
| 3071 | cFYI(1, ("Send error in QuerySecDesc = %d", rc)); | 3070 | cFYI(1, "Send error in QuerySecDesc = %d", rc); |
| 3072 | } else { /* decode response */ | 3071 | } else { /* decode response */ |
| 3073 | __le32 *parm; | 3072 | __le32 *parm; |
| 3074 | __u32 parm_len; | 3073 | __u32 parm_len; |
| @@ -3083,7 +3082,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, | |||
| 3083 | goto qsec_out; | 3082 | goto qsec_out; |
| 3084 | pSMBr = (struct smb_com_ntransact_rsp *)iov[0].iov_base; | 3083 | pSMBr = (struct smb_com_ntransact_rsp *)iov[0].iov_base; |
| 3085 | 3084 | ||
| 3086 | cFYI(1, ("smb %p parm %p data %p", pSMBr, parm, *acl_inf)); | 3085 | cFYI(1, "smb %p parm %p data %p", pSMBr, parm, *acl_inf); |
| 3087 | 3086 | ||
| 3088 | if (le32_to_cpu(pSMBr->ParameterCount) != 4) { | 3087 | if (le32_to_cpu(pSMBr->ParameterCount) != 4) { |
| 3089 | rc = -EIO; /* bad smb */ | 3088 | rc = -EIO; /* bad smb */ |
| @@ -3095,8 +3094,8 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, | |||
| 3095 | 3094 | ||
| 3096 | acl_len = le32_to_cpu(*parm); | 3095 | acl_len = le32_to_cpu(*parm); |
| 3097 | if (acl_len != *pbuflen) { | 3096 | if (acl_len != *pbuflen) { |
| 3098 | cERROR(1, ("acl length %d does not match %d", | 3097 | cERROR(1, "acl length %d does not match %d", |
| 3099 | acl_len, *pbuflen)); | 3098 | acl_len, *pbuflen); |
| 3100 | if (*pbuflen > acl_len) | 3099 | if (*pbuflen > acl_len) |
| 3101 | *pbuflen = acl_len; | 3100 | *pbuflen = acl_len; |
| 3102 | } | 3101 | } |
| @@ -3105,7 +3104,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid, | |||
| 3105 | header followed by the smallest SID */ | 3104 | header followed by the smallest SID */ |
| 3106 | if ((*pbuflen < sizeof(struct cifs_ntsd) + 8) || | 3105 | if ((*pbuflen < sizeof(struct cifs_ntsd) + 8) || |
| 3107 | (*pbuflen >= 64 * 1024)) { | 3106 | (*pbuflen >= 64 * 1024)) { |
| 3108 | cERROR(1, ("bad acl length %d", *pbuflen)); | 3107 | cERROR(1, "bad acl length %d", *pbuflen); |
| 3109 | rc = -EINVAL; | 3108 | rc = -EINVAL; |
| 3110 | *pbuflen = 0; | 3109 | *pbuflen = 0; |
| 3111 | } else { | 3110 | } else { |
| @@ -3179,9 +3178,9 @@ setCifsAclRetry: | |||
| 3179 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 3178 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 3180 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 3179 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3181 | 3180 | ||
| 3182 | cFYI(1, ("SetCIFSACL bytes_returned: %d, rc: %d", bytes_returned, rc)); | 3181 | cFYI(1, "SetCIFSACL bytes_returned: %d, rc: %d", bytes_returned, rc); |
| 3183 | if (rc) | 3182 | if (rc) |
| 3184 | cFYI(1, ("Set CIFS ACL returned %d", rc)); | 3183 | cFYI(1, "Set CIFS ACL returned %d", rc); |
| 3185 | cifs_buf_release(pSMB); | 3184 | cifs_buf_release(pSMB); |
| 3186 | 3185 | ||
| 3187 | if (rc == -EAGAIN) | 3186 | if (rc == -EAGAIN) |
| @@ -3205,7 +3204,7 @@ int SMBQueryInformation(const int xid, struct cifsTconInfo *tcon, | |||
| 3205 | int bytes_returned; | 3204 | int bytes_returned; |
| 3206 | int name_len; | 3205 | int name_len; |
| 3207 | 3206 | ||
| 3208 | cFYI(1, ("In SMBQPath path %s", searchName)); | 3207 | cFYI(1, "In SMBQPath path %s", searchName); |
| 3209 | QInfRetry: | 3208 | QInfRetry: |
| 3210 | rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB, | 3209 | rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB, |
| 3211 | (void **) &pSMBr); | 3210 | (void **) &pSMBr); |
| @@ -3231,7 +3230,7 @@ QInfRetry: | |||
| 3231 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 3230 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 3232 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 3231 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3233 | if (rc) { | 3232 | if (rc) { |
| 3234 | cFYI(1, ("Send error in QueryInfo = %d", rc)); | 3233 | cFYI(1, "Send error in QueryInfo = %d", rc); |
| 3235 | } else if (pFinfo) { | 3234 | } else if (pFinfo) { |
| 3236 | struct timespec ts; | 3235 | struct timespec ts; |
| 3237 | __u32 time = le32_to_cpu(pSMBr->last_write_time); | 3236 | __u32 time = le32_to_cpu(pSMBr->last_write_time); |
| @@ -3343,7 +3342,7 @@ CIFSSMBQPathInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 3343 | int name_len; | 3342 | int name_len; |
| 3344 | __u16 params, byte_count; | 3343 | __u16 params, byte_count; |
| 3345 | 3344 | ||
| 3346 | /* cFYI(1, ("In QPathInfo path %s", searchName)); */ | 3345 | /* cFYI(1, "In QPathInfo path %s", searchName); */ |
| 3347 | QPathInfoRetry: | 3346 | QPathInfoRetry: |
| 3348 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 3347 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 3349 | (void **) &pSMBr); | 3348 | (void **) &pSMBr); |
| @@ -3393,7 +3392,7 @@ QPathInfoRetry: | |||
| 3393 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 3392 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 3394 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 3393 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3395 | if (rc) { | 3394 | if (rc) { |
| 3396 | cFYI(1, ("Send error in QPathInfo = %d", rc)); | 3395 | cFYI(1, "Send error in QPathInfo = %d", rc); |
| 3397 | } else { /* decode response */ | 3396 | } else { /* decode response */ |
| 3398 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 3397 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 3399 | 3398 | ||
| @@ -3512,7 +3511,7 @@ CIFSSMBUnixQPathInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 3512 | int name_len; | 3511 | int name_len; |
| 3513 | __u16 params, byte_count; | 3512 | __u16 params, byte_count; |
| 3514 | 3513 | ||
| 3515 | cFYI(1, ("In QPathInfo (Unix) the path %s", searchName)); | 3514 | cFYI(1, "In QPathInfo (Unix) the path %s", searchName); |
| 3516 | UnixQPathInfoRetry: | 3515 | UnixQPathInfoRetry: |
| 3517 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 3516 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 3518 | (void **) &pSMBr); | 3517 | (void **) &pSMBr); |
| @@ -3559,14 +3558,14 @@ UnixQPathInfoRetry: | |||
| 3559 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 3558 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 3560 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 3559 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3561 | if (rc) { | 3560 | if (rc) { |
| 3562 | cFYI(1, ("Send error in QPathInfo = %d", rc)); | 3561 | cFYI(1, "Send error in QPathInfo = %d", rc); |
| 3563 | } else { /* decode response */ | 3562 | } else { /* decode response */ |
| 3564 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 3563 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 3565 | 3564 | ||
| 3566 | if (rc || (pSMBr->ByteCount < sizeof(FILE_UNIX_BASIC_INFO))) { | 3565 | if (rc || (pSMBr->ByteCount < sizeof(FILE_UNIX_BASIC_INFO))) { |
| 3567 | cERROR(1, ("Malformed FILE_UNIX_BASIC_INFO response.\n" | 3566 | cERROR(1, "Malformed FILE_UNIX_BASIC_INFO response.\n" |
| 3568 | "Unix Extensions can be disabled on mount " | 3567 | "Unix Extensions can be disabled on mount " |
| 3569 | "by specifying the nosfu mount option.")); | 3568 | "by specifying the nosfu mount option."); |
| 3570 | rc = -EIO; /* bad smb */ | 3569 | rc = -EIO; /* bad smb */ |
| 3571 | } else { | 3570 | } else { |
| 3572 | __u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset); | 3571 | __u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset); |
| @@ -3600,7 +3599,7 @@ CIFSFindFirst(const int xid, struct cifsTconInfo *tcon, | |||
| 3600 | int name_len; | 3599 | int name_len; |
| 3601 | __u16 params, byte_count; | 3600 | __u16 params, byte_count; |
| 3602 | 3601 | ||
| 3603 | cFYI(1, ("In FindFirst for %s", searchName)); | 3602 | cFYI(1, "In FindFirst for %s", searchName); |
| 3604 | 3603 | ||
| 3605 | findFirstRetry: | 3604 | findFirstRetry: |
| 3606 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 3605 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| @@ -3677,7 +3676,7 @@ findFirstRetry: | |||
| 3677 | if (rc) {/* BB add logic to retry regular search if Unix search | 3676 | if (rc) {/* BB add logic to retry regular search if Unix search |
| 3678 | rejected unexpectedly by server */ | 3677 | rejected unexpectedly by server */ |
| 3679 | /* BB Add code to handle unsupported level rc */ | 3678 | /* BB Add code to handle unsupported level rc */ |
| 3680 | cFYI(1, ("Error in FindFirst = %d", rc)); | 3679 | cFYI(1, "Error in FindFirst = %d", rc); |
| 3681 | 3680 | ||
| 3682 | cifs_buf_release(pSMB); | 3681 | cifs_buf_release(pSMB); |
| 3683 | 3682 | ||
| @@ -3716,7 +3715,7 @@ findFirstRetry: | |||
| 3716 | lnoff = le16_to_cpu(parms->LastNameOffset); | 3715 | lnoff = le16_to_cpu(parms->LastNameOffset); |
| 3717 | if (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE < | 3716 | if (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE < |
| 3718 | lnoff) { | 3717 | lnoff) { |
| 3719 | cERROR(1, ("ignoring corrupt resume name")); | 3718 | cERROR(1, "ignoring corrupt resume name"); |
| 3720 | psrch_inf->last_entry = NULL; | 3719 | psrch_inf->last_entry = NULL; |
| 3721 | return rc; | 3720 | return rc; |
| 3722 | } | 3721 | } |
| @@ -3744,7 +3743,7 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon, | |||
| 3744 | int bytes_returned, name_len; | 3743 | int bytes_returned, name_len; |
| 3745 | __u16 params, byte_count; | 3744 | __u16 params, byte_count; |
| 3746 | 3745 | ||
| 3747 | cFYI(1, ("In FindNext")); | 3746 | cFYI(1, "In FindNext"); |
| 3748 | 3747 | ||
| 3749 | if (psrch_inf->endOfSearch) | 3748 | if (psrch_inf->endOfSearch) |
| 3750 | return -ENOENT; | 3749 | return -ENOENT; |
| @@ -3808,7 +3807,7 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon, | |||
| 3808 | cifs_buf_release(pSMB); | 3807 | cifs_buf_release(pSMB); |
| 3809 | rc = 0; /* search probably was closed at end of search*/ | 3808 | rc = 0; /* search probably was closed at end of search*/ |
| 3810 | } else | 3809 | } else |
| 3811 | cFYI(1, ("FindNext returned = %d", rc)); | 3810 | cFYI(1, "FindNext returned = %d", rc); |
| 3812 | } else { /* decode response */ | 3811 | } else { /* decode response */ |
| 3813 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 3812 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 3814 | 3813 | ||
| @@ -3844,15 +3843,15 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon, | |||
| 3844 | lnoff = le16_to_cpu(parms->LastNameOffset); | 3843 | lnoff = le16_to_cpu(parms->LastNameOffset); |
| 3845 | if (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE < | 3844 | if (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE < |
| 3846 | lnoff) { | 3845 | lnoff) { |
| 3847 | cERROR(1, ("ignoring corrupt resume name")); | 3846 | cERROR(1, "ignoring corrupt resume name"); |
| 3848 | psrch_inf->last_entry = NULL; | 3847 | psrch_inf->last_entry = NULL; |
| 3849 | return rc; | 3848 | return rc; |
| 3850 | } else | 3849 | } else |
| 3851 | psrch_inf->last_entry = | 3850 | psrch_inf->last_entry = |
| 3852 | psrch_inf->srch_entries_start + lnoff; | 3851 | psrch_inf->srch_entries_start + lnoff; |
| 3853 | 3852 | ||
| 3854 | /* cFYI(1,("fnxt2 entries in buf %d index_of_last %d", | 3853 | /* cFYI(1, "fnxt2 entries in buf %d index_of_last %d", |
| 3855 | psrch_inf->entries_in_buffer, psrch_inf->index_of_last_entry)); */ | 3854 | psrch_inf->entries_in_buffer, psrch_inf->index_of_last_entry); */ |
| 3856 | 3855 | ||
| 3857 | /* BB fixme add unlock here */ | 3856 | /* BB fixme add unlock here */ |
| 3858 | } | 3857 | } |
| @@ -3877,7 +3876,7 @@ CIFSFindClose(const int xid, struct cifsTconInfo *tcon, | |||
| 3877 | int rc = 0; | 3876 | int rc = 0; |
| 3878 | FINDCLOSE_REQ *pSMB = NULL; | 3877 | FINDCLOSE_REQ *pSMB = NULL; |
| 3879 | 3878 | ||
| 3880 | cFYI(1, ("In CIFSSMBFindClose")); | 3879 | cFYI(1, "In CIFSSMBFindClose"); |
| 3881 | rc = small_smb_init(SMB_COM_FIND_CLOSE2, 1, tcon, (void **)&pSMB); | 3880 | rc = small_smb_init(SMB_COM_FIND_CLOSE2, 1, tcon, (void **)&pSMB); |
| 3882 | 3881 | ||
| 3883 | /* no sense returning error if session restarted | 3882 | /* no sense returning error if session restarted |
| @@ -3891,7 +3890,7 @@ CIFSFindClose(const int xid, struct cifsTconInfo *tcon, | |||
| 3891 | pSMB->ByteCount = 0; | 3890 | pSMB->ByteCount = 0; |
| 3892 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); | 3891 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); |
| 3893 | if (rc) | 3892 | if (rc) |
| 3894 | cERROR(1, ("Send error in FindClose = %d", rc)); | 3893 | cERROR(1, "Send error in FindClose = %d", rc); |
| 3895 | 3894 | ||
| 3896 | cifs_stats_inc(&tcon->num_fclose); | 3895 | cifs_stats_inc(&tcon->num_fclose); |
| 3897 | 3896 | ||
| @@ -3914,7 +3913,7 @@ CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, | |||
| 3914 | int name_len, bytes_returned; | 3913 | int name_len, bytes_returned; |
| 3915 | __u16 params, byte_count; | 3914 | __u16 params, byte_count; |
| 3916 | 3915 | ||
| 3917 | cFYI(1, ("In GetSrvInodeNum for %s", searchName)); | 3916 | cFYI(1, "In GetSrvInodeNum for %s", searchName); |
| 3918 | if (tcon == NULL) | 3917 | if (tcon == NULL) |
| 3919 | return -ENODEV; | 3918 | return -ENODEV; |
| 3920 | 3919 | ||
| @@ -3964,7 +3963,7 @@ GetInodeNumberRetry: | |||
| 3964 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 3963 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 3965 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 3964 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3966 | if (rc) { | 3965 | if (rc) { |
| 3967 | cFYI(1, ("error %d in QueryInternalInfo", rc)); | 3966 | cFYI(1, "error %d in QueryInternalInfo", rc); |
| 3968 | } else { | 3967 | } else { |
| 3969 | /* decode response */ | 3968 | /* decode response */ |
| 3970 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 3969 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| @@ -3979,7 +3978,7 @@ GetInodeNumberRetry: | |||
| 3979 | struct file_internal_info *pfinfo; | 3978 | struct file_internal_info *pfinfo; |
| 3980 | /* BB Do we need a cast or hash here ? */ | 3979 | /* BB Do we need a cast or hash here ? */ |
| 3981 | if (count < 8) { | 3980 | if (count < 8) { |
| 3982 | cFYI(1, ("Illegal size ret in QryIntrnlInf")); | 3981 | cFYI(1, "Illegal size ret in QryIntrnlInf"); |
| 3983 | rc = -EIO; | 3982 | rc = -EIO; |
| 3984 | goto GetInodeNumOut; | 3983 | goto GetInodeNumOut; |
| 3985 | } | 3984 | } |
| @@ -4020,16 +4019,16 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr, | |||
| 4020 | *num_of_nodes = le16_to_cpu(pSMBr->NumberOfReferrals); | 4019 | *num_of_nodes = le16_to_cpu(pSMBr->NumberOfReferrals); |
| 4021 | 4020 | ||
| 4022 | if (*num_of_nodes < 1) { | 4021 | if (*num_of_nodes < 1) { |
| 4023 | cERROR(1, ("num_referrals: must be at least > 0," | 4022 | cERROR(1, "num_referrals: must be at least > 0," |
| 4024 | "but we get num_referrals = %d\n", *num_of_nodes)); | 4023 | "but we get num_referrals = %d\n", *num_of_nodes); |
| 4025 | rc = -EINVAL; | 4024 | rc = -EINVAL; |
| 4026 | goto parse_DFS_referrals_exit; | 4025 | goto parse_DFS_referrals_exit; |
| 4027 | } | 4026 | } |
| 4028 | 4027 | ||
| 4029 | ref = (struct dfs_referral_level_3 *) &(pSMBr->referrals); | 4028 | ref = (struct dfs_referral_level_3 *) &(pSMBr->referrals); |
| 4030 | if (ref->VersionNumber != cpu_to_le16(3)) { | 4029 | if (ref->VersionNumber != cpu_to_le16(3)) { |
| 4031 | cERROR(1, ("Referrals of V%d version are not supported," | 4030 | cERROR(1, "Referrals of V%d version are not supported," |
| 4032 | "should be V3", le16_to_cpu(ref->VersionNumber))); | 4031 | "should be V3", le16_to_cpu(ref->VersionNumber)); |
| 4033 | rc = -EINVAL; | 4032 | rc = -EINVAL; |
| 4034 | goto parse_DFS_referrals_exit; | 4033 | goto parse_DFS_referrals_exit; |
| 4035 | } | 4034 | } |
| @@ -4038,14 +4037,14 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr, | |||
| 4038 | data_end = (char *)(&(pSMBr->PathConsumed)) + | 4037 | data_end = (char *)(&(pSMBr->PathConsumed)) + |
| 4039 | le16_to_cpu(pSMBr->t2.DataCount); | 4038 | le16_to_cpu(pSMBr->t2.DataCount); |
| 4040 | 4039 | ||
| 4041 | cFYI(1, ("num_referrals: %d dfs flags: 0x%x ... \n", | 4040 | cFYI(1, "num_referrals: %d dfs flags: 0x%x ... \n", |
| 4042 | *num_of_nodes, | 4041 | *num_of_nodes, |
| 4043 | le32_to_cpu(pSMBr->DFSFlags))); | 4042 | le32_to_cpu(pSMBr->DFSFlags)); |
| 4044 | 4043 | ||
| 4045 | *target_nodes = kzalloc(sizeof(struct dfs_info3_param) * | 4044 | *target_nodes = kzalloc(sizeof(struct dfs_info3_param) * |
| 4046 | *num_of_nodes, GFP_KERNEL); | 4045 | *num_of_nodes, GFP_KERNEL); |
| 4047 | if (*target_nodes == NULL) { | 4046 | if (*target_nodes == NULL) { |
| 4048 | cERROR(1, ("Failed to allocate buffer for target_nodes\n")); | 4047 | cERROR(1, "Failed to allocate buffer for target_nodes\n"); |
| 4049 | rc = -ENOMEM; | 4048 | rc = -ENOMEM; |
| 4050 | goto parse_DFS_referrals_exit; | 4049 | goto parse_DFS_referrals_exit; |
| 4051 | } | 4050 | } |
| @@ -4121,7 +4120,7 @@ CIFSGetDFSRefer(const int xid, struct cifsSesInfo *ses, | |||
| 4121 | *num_of_nodes = 0; | 4120 | *num_of_nodes = 0; |
| 4122 | *target_nodes = NULL; | 4121 | *target_nodes = NULL; |
| 4123 | 4122 | ||
| 4124 | cFYI(1, ("In GetDFSRefer the path %s", searchName)); | 4123 | cFYI(1, "In GetDFSRefer the path %s", searchName); |
| 4125 | if (ses == NULL) | 4124 | if (ses == NULL) |
| 4126 | return -ENODEV; | 4125 | return -ENODEV; |
| 4127 | getDFSRetry: | 4126 | getDFSRetry: |
| @@ -4188,7 +4187,7 @@ getDFSRetry: | |||
| 4188 | rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, | 4187 | rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, |
| 4189 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4188 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4190 | if (rc) { | 4189 | if (rc) { |
| 4191 | cFYI(1, ("Send error in GetDFSRefer = %d", rc)); | 4190 | cFYI(1, "Send error in GetDFSRefer = %d", rc); |
| 4192 | goto GetDFSRefExit; | 4191 | goto GetDFSRefExit; |
| 4193 | } | 4192 | } |
| 4194 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4193 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| @@ -4199,9 +4198,9 @@ getDFSRetry: | |||
| 4199 | goto GetDFSRefExit; | 4198 | goto GetDFSRefExit; |
| 4200 | } | 4199 | } |
| 4201 | 4200 | ||
| 4202 | cFYI(1, ("Decoding GetDFSRefer response BCC: %d Offset %d", | 4201 | cFYI(1, "Decoding GetDFSRefer response BCC: %d Offset %d", |
| 4203 | pSMBr->ByteCount, | 4202 | pSMBr->ByteCount, |
| 4204 | le16_to_cpu(pSMBr->t2.DataOffset))); | 4203 | le16_to_cpu(pSMBr->t2.DataOffset)); |
| 4205 | 4204 | ||
| 4206 | /* parse returned result into more usable form */ | 4205 | /* parse returned result into more usable form */ |
| 4207 | rc = parse_DFS_referrals(pSMBr, num_of_nodes, | 4206 | rc = parse_DFS_referrals(pSMBr, num_of_nodes, |
| @@ -4229,7 +4228,7 @@ SMBOldQFSInfo(const int xid, struct cifsTconInfo *tcon, struct kstatfs *FSData) | |||
| 4229 | int bytes_returned = 0; | 4228 | int bytes_returned = 0; |
| 4230 | __u16 params, byte_count; | 4229 | __u16 params, byte_count; |
| 4231 | 4230 | ||
| 4232 | cFYI(1, ("OldQFSInfo")); | 4231 | cFYI(1, "OldQFSInfo"); |
| 4233 | oldQFSInfoRetry: | 4232 | oldQFSInfoRetry: |
| 4234 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4233 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4235 | (void **) &pSMBr); | 4234 | (void **) &pSMBr); |
| @@ -4262,7 +4261,7 @@ oldQFSInfoRetry: | |||
| 4262 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4261 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4263 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4262 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4264 | if (rc) { | 4263 | if (rc) { |
| 4265 | cFYI(1, ("Send error in QFSInfo = %d", rc)); | 4264 | cFYI(1, "Send error in QFSInfo = %d", rc); |
| 4266 | } else { /* decode response */ | 4265 | } else { /* decode response */ |
| 4267 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4266 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4268 | 4267 | ||
| @@ -4270,8 +4269,8 @@ oldQFSInfoRetry: | |||
| 4270 | rc = -EIO; /* bad smb */ | 4269 | rc = -EIO; /* bad smb */ |
| 4271 | else { | 4270 | else { |
| 4272 | __u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset); | 4271 | __u16 data_offset = le16_to_cpu(pSMBr->t2.DataOffset); |
| 4273 | cFYI(1, ("qfsinf resp BCC: %d Offset %d", | 4272 | cFYI(1, "qfsinf resp BCC: %d Offset %d", |
| 4274 | pSMBr->ByteCount, data_offset)); | 4273 | pSMBr->ByteCount, data_offset); |
| 4275 | 4274 | ||
| 4276 | response_data = (FILE_SYSTEM_ALLOC_INFO *) | 4275 | response_data = (FILE_SYSTEM_ALLOC_INFO *) |
| 4277 | (((char *) &pSMBr->hdr.Protocol) + data_offset); | 4276 | (((char *) &pSMBr->hdr.Protocol) + data_offset); |
| @@ -4283,11 +4282,10 @@ oldQFSInfoRetry: | |||
| 4283 | le32_to_cpu(response_data->TotalAllocationUnits); | 4282 | le32_to_cpu(response_data->TotalAllocationUnits); |
| 4284 | FSData->f_bfree = FSData->f_bavail = | 4283 | FSData->f_bfree = FSData->f_bavail = |
| 4285 | le32_to_cpu(response_data->FreeAllocationUnits); | 4284 | le32_to_cpu(response_data->FreeAllocationUnits); |
| 4286 | cFYI(1, | 4285 | cFYI(1, "Blocks: %lld Free: %lld Block size %ld", |
| 4287 | ("Blocks: %lld Free: %lld Block size %ld", | 4286 | (unsigned long long)FSData->f_blocks, |
| 4288 | (unsigned long long)FSData->f_blocks, | 4287 | (unsigned long long)FSData->f_bfree, |
| 4289 | (unsigned long long)FSData->f_bfree, | 4288 | FSData->f_bsize); |
| 4290 | FSData->f_bsize)); | ||
| 4291 | } | 4289 | } |
| 4292 | } | 4290 | } |
| 4293 | cifs_buf_release(pSMB); | 4291 | cifs_buf_release(pSMB); |
| @@ -4309,7 +4307,7 @@ CIFSSMBQFSInfo(const int xid, struct cifsTconInfo *tcon, struct kstatfs *FSData) | |||
| 4309 | int bytes_returned = 0; | 4307 | int bytes_returned = 0; |
| 4310 | __u16 params, byte_count; | 4308 | __u16 params, byte_count; |
| 4311 | 4309 | ||
| 4312 | cFYI(1, ("In QFSInfo")); | 4310 | cFYI(1, "In QFSInfo"); |
| 4313 | QFSInfoRetry: | 4311 | QFSInfoRetry: |
| 4314 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4312 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4315 | (void **) &pSMBr); | 4313 | (void **) &pSMBr); |
| @@ -4342,7 +4340,7 @@ QFSInfoRetry: | |||
| 4342 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4340 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4343 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4341 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4344 | if (rc) { | 4342 | if (rc) { |
| 4345 | cFYI(1, ("Send error in QFSInfo = %d", rc)); | 4343 | cFYI(1, "Send error in QFSInfo = %d", rc); |
| 4346 | } else { /* decode response */ | 4344 | } else { /* decode response */ |
| 4347 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4345 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4348 | 4346 | ||
| @@ -4363,11 +4361,10 @@ QFSInfoRetry: | |||
| 4363 | le64_to_cpu(response_data->TotalAllocationUnits); | 4361 | le64_to_cpu(response_data->TotalAllocationUnits); |
| 4364 | FSData->f_bfree = FSData->f_bavail = | 4362 | FSData->f_bfree = FSData->f_bavail = |
| 4365 | le64_to_cpu(response_data->FreeAllocationUnits); | 4363 | le64_to_cpu(response_data->FreeAllocationUnits); |
| 4366 | cFYI(1, | 4364 | cFYI(1, "Blocks: %lld Free: %lld Block size %ld", |
| 4367 | ("Blocks: %lld Free: %lld Block size %ld", | 4365 | (unsigned long long)FSData->f_blocks, |
| 4368 | (unsigned long long)FSData->f_blocks, | 4366 | (unsigned long long)FSData->f_bfree, |
| 4369 | (unsigned long long)FSData->f_bfree, | 4367 | FSData->f_bsize); |
| 4370 | FSData->f_bsize)); | ||
| 4371 | } | 4368 | } |
| 4372 | } | 4369 | } |
| 4373 | cifs_buf_release(pSMB); | 4370 | cifs_buf_release(pSMB); |
| @@ -4389,7 +4386,7 @@ CIFSSMBQFSAttributeInfo(const int xid, struct cifsTconInfo *tcon) | |||
| 4389 | int bytes_returned = 0; | 4386 | int bytes_returned = 0; |
| 4390 | __u16 params, byte_count; | 4387 | __u16 params, byte_count; |
| 4391 | 4388 | ||
| 4392 | cFYI(1, ("In QFSAttributeInfo")); | 4389 | cFYI(1, "In QFSAttributeInfo"); |
| 4393 | QFSAttributeRetry: | 4390 | QFSAttributeRetry: |
| 4394 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4391 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4395 | (void **) &pSMBr); | 4392 | (void **) &pSMBr); |
| @@ -4423,7 +4420,7 @@ QFSAttributeRetry: | |||
| 4423 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4420 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4424 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4421 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4425 | if (rc) { | 4422 | if (rc) { |
| 4426 | cERROR(1, ("Send error in QFSAttributeInfo = %d", rc)); | 4423 | cERROR(1, "Send error in QFSAttributeInfo = %d", rc); |
| 4427 | } else { /* decode response */ | 4424 | } else { /* decode response */ |
| 4428 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4425 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4429 | 4426 | ||
| @@ -4459,7 +4456,7 @@ CIFSSMBQFSDeviceInfo(const int xid, struct cifsTconInfo *tcon) | |||
| 4459 | int bytes_returned = 0; | 4456 | int bytes_returned = 0; |
| 4460 | __u16 params, byte_count; | 4457 | __u16 params, byte_count; |
| 4461 | 4458 | ||
| 4462 | cFYI(1, ("In QFSDeviceInfo")); | 4459 | cFYI(1, "In QFSDeviceInfo"); |
| 4463 | QFSDeviceRetry: | 4460 | QFSDeviceRetry: |
| 4464 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4461 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4465 | (void **) &pSMBr); | 4462 | (void **) &pSMBr); |
| @@ -4494,7 +4491,7 @@ QFSDeviceRetry: | |||
| 4494 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4491 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4495 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4492 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4496 | if (rc) { | 4493 | if (rc) { |
| 4497 | cFYI(1, ("Send error in QFSDeviceInfo = %d", rc)); | 4494 | cFYI(1, "Send error in QFSDeviceInfo = %d", rc); |
| 4498 | } else { /* decode response */ | 4495 | } else { /* decode response */ |
| 4499 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4496 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4500 | 4497 | ||
| @@ -4529,7 +4526,7 @@ CIFSSMBQFSUnixInfo(const int xid, struct cifsTconInfo *tcon) | |||
| 4529 | int bytes_returned = 0; | 4526 | int bytes_returned = 0; |
| 4530 | __u16 params, byte_count; | 4527 | __u16 params, byte_count; |
| 4531 | 4528 | ||
| 4532 | cFYI(1, ("In QFSUnixInfo")); | 4529 | cFYI(1, "In QFSUnixInfo"); |
| 4533 | QFSUnixRetry: | 4530 | QFSUnixRetry: |
| 4534 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4531 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4535 | (void **) &pSMBr); | 4532 | (void **) &pSMBr); |
| @@ -4563,7 +4560,7 @@ QFSUnixRetry: | |||
| 4563 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4560 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4564 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4561 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4565 | if (rc) { | 4562 | if (rc) { |
| 4566 | cERROR(1, ("Send error in QFSUnixInfo = %d", rc)); | 4563 | cERROR(1, "Send error in QFSUnixInfo = %d", rc); |
| 4567 | } else { /* decode response */ | 4564 | } else { /* decode response */ |
| 4568 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4565 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4569 | 4566 | ||
| @@ -4598,7 +4595,7 @@ CIFSSMBSetFSUnixInfo(const int xid, struct cifsTconInfo *tcon, __u64 cap) | |||
| 4598 | int bytes_returned = 0; | 4595 | int bytes_returned = 0; |
| 4599 | __u16 params, param_offset, offset, byte_count; | 4596 | __u16 params, param_offset, offset, byte_count; |
| 4600 | 4597 | ||
| 4601 | cFYI(1, ("In SETFSUnixInfo")); | 4598 | cFYI(1, "In SETFSUnixInfo"); |
| 4602 | SETFSUnixRetry: | 4599 | SETFSUnixRetry: |
| 4603 | /* BB switch to small buf init to save memory */ | 4600 | /* BB switch to small buf init to save memory */ |
| 4604 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4601 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| @@ -4646,7 +4643,7 @@ SETFSUnixRetry: | |||
| 4646 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4643 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4647 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4644 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4648 | if (rc) { | 4645 | if (rc) { |
| 4649 | cERROR(1, ("Send error in SETFSUnixInfo = %d", rc)); | 4646 | cERROR(1, "Send error in SETFSUnixInfo = %d", rc); |
| 4650 | } else { /* decode response */ | 4647 | } else { /* decode response */ |
| 4651 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4648 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4652 | if (rc) | 4649 | if (rc) |
| @@ -4674,7 +4671,7 @@ CIFSSMBQFSPosixInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 4674 | int bytes_returned = 0; | 4671 | int bytes_returned = 0; |
| 4675 | __u16 params, byte_count; | 4672 | __u16 params, byte_count; |
| 4676 | 4673 | ||
| 4677 | cFYI(1, ("In QFSPosixInfo")); | 4674 | cFYI(1, "In QFSPosixInfo"); |
| 4678 | QFSPosixRetry: | 4675 | QFSPosixRetry: |
| 4679 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4676 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4680 | (void **) &pSMBr); | 4677 | (void **) &pSMBr); |
| @@ -4708,7 +4705,7 @@ QFSPosixRetry: | |||
| 4708 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4705 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4709 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4706 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4710 | if (rc) { | 4707 | if (rc) { |
| 4711 | cFYI(1, ("Send error in QFSUnixInfo = %d", rc)); | 4708 | cFYI(1, "Send error in QFSUnixInfo = %d", rc); |
| 4712 | } else { /* decode response */ | 4709 | } else { /* decode response */ |
| 4713 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); | 4710 | rc = validate_t2((struct smb_t2_rsp *)pSMBr); |
| 4714 | 4711 | ||
| @@ -4768,7 +4765,7 @@ CIFSSMBSetEOF(const int xid, struct cifsTconInfo *tcon, const char *fileName, | |||
| 4768 | int bytes_returned = 0; | 4765 | int bytes_returned = 0; |
| 4769 | __u16 params, byte_count, data_count, param_offset, offset; | 4766 | __u16 params, byte_count, data_count, param_offset, offset; |
| 4770 | 4767 | ||
| 4771 | cFYI(1, ("In SetEOF")); | 4768 | cFYI(1, "In SetEOF"); |
| 4772 | SetEOFRetry: | 4769 | SetEOFRetry: |
| 4773 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 4770 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 4774 | (void **) &pSMBr); | 4771 | (void **) &pSMBr); |
| @@ -4834,7 +4831,7 @@ SetEOFRetry: | |||
| 4834 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 4831 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 4835 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 4832 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 4836 | if (rc) | 4833 | if (rc) |
| 4837 | cFYI(1, ("SetPathInfo (file size) returned %d", rc)); | 4834 | cFYI(1, "SetPathInfo (file size) returned %d", rc); |
| 4838 | 4835 | ||
| 4839 | cifs_buf_release(pSMB); | 4836 | cifs_buf_release(pSMB); |
| 4840 | 4837 | ||
| @@ -4854,8 +4851,8 @@ CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, __u64 size, | |||
| 4854 | int rc = 0; | 4851 | int rc = 0; |
| 4855 | __u16 params, param_offset, offset, byte_count, count; | 4852 | __u16 params, param_offset, offset, byte_count, count; |
| 4856 | 4853 | ||
| 4857 | cFYI(1, ("SetFileSize (via SetFileInfo) %lld", | 4854 | cFYI(1, "SetFileSize (via SetFileInfo) %lld", |
| 4858 | (long long)size)); | 4855 | (long long)size); |
| 4859 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); | 4856 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); |
| 4860 | 4857 | ||
| 4861 | if (rc) | 4858 | if (rc) |
| @@ -4914,9 +4911,7 @@ CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, __u64 size, | |||
| 4914 | pSMB->ByteCount = cpu_to_le16(byte_count); | 4911 | pSMB->ByteCount = cpu_to_le16(byte_count); |
| 4915 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); | 4912 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); |
| 4916 | if (rc) { | 4913 | if (rc) { |
| 4917 | cFYI(1, | 4914 | cFYI(1, "Send error in SetFileInfo (SetFileSize) = %d", rc); |
| 4918 | ("Send error in SetFileInfo (SetFileSize) = %d", | ||
| 4919 | rc)); | ||
| 4920 | } | 4915 | } |
| 4921 | 4916 | ||
| 4922 | /* Note: On -EAGAIN error only caller can retry on handle based calls | 4917 | /* Note: On -EAGAIN error only caller can retry on handle based calls |
| @@ -4940,7 +4935,7 @@ CIFSSMBSetFileInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 4940 | int rc = 0; | 4935 | int rc = 0; |
| 4941 | __u16 params, param_offset, offset, byte_count, count; | 4936 | __u16 params, param_offset, offset, byte_count, count; |
| 4942 | 4937 | ||
| 4943 | cFYI(1, ("Set Times (via SetFileInfo)")); | 4938 | cFYI(1, "Set Times (via SetFileInfo)"); |
| 4944 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); | 4939 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); |
| 4945 | 4940 | ||
| 4946 | if (rc) | 4941 | if (rc) |
| @@ -4985,7 +4980,7 @@ CIFSSMBSetFileInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 4985 | memcpy(data_offset, data, sizeof(FILE_BASIC_INFO)); | 4980 | memcpy(data_offset, data, sizeof(FILE_BASIC_INFO)); |
| 4986 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); | 4981 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); |
| 4987 | if (rc) | 4982 | if (rc) |
| 4988 | cFYI(1, ("Send error in Set Time (SetFileInfo) = %d", rc)); | 4983 | cFYI(1, "Send error in Set Time (SetFileInfo) = %d", rc); |
| 4989 | 4984 | ||
| 4990 | /* Note: On -EAGAIN error only caller can retry on handle based calls | 4985 | /* Note: On -EAGAIN error only caller can retry on handle based calls |
| 4991 | since file handle passed in no longer valid */ | 4986 | since file handle passed in no longer valid */ |
| @@ -5002,7 +4997,7 @@ CIFSSMBSetFileDisposition(const int xid, struct cifsTconInfo *tcon, | |||
| 5002 | int rc = 0; | 4997 | int rc = 0; |
| 5003 | __u16 params, param_offset, offset, byte_count, count; | 4998 | __u16 params, param_offset, offset, byte_count, count; |
| 5004 | 4999 | ||
| 5005 | cFYI(1, ("Set File Disposition (via SetFileInfo)")); | 5000 | cFYI(1, "Set File Disposition (via SetFileInfo)"); |
| 5006 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); | 5001 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); |
| 5007 | 5002 | ||
| 5008 | if (rc) | 5003 | if (rc) |
| @@ -5044,7 +5039,7 @@ CIFSSMBSetFileDisposition(const int xid, struct cifsTconInfo *tcon, | |||
| 5044 | *data_offset = delete_file ? 1 : 0; | 5039 | *data_offset = delete_file ? 1 : 0; |
| 5045 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); | 5040 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); |
| 5046 | if (rc) | 5041 | if (rc) |
| 5047 | cFYI(1, ("Send error in SetFileDisposition = %d", rc)); | 5042 | cFYI(1, "Send error in SetFileDisposition = %d", rc); |
| 5048 | 5043 | ||
| 5049 | return rc; | 5044 | return rc; |
| 5050 | } | 5045 | } |
| @@ -5062,7 +5057,7 @@ CIFSSMBSetPathInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 5062 | char *data_offset; | 5057 | char *data_offset; |
| 5063 | __u16 params, param_offset, offset, byte_count, count; | 5058 | __u16 params, param_offset, offset, byte_count, count; |
| 5064 | 5059 | ||
| 5065 | cFYI(1, ("In SetTimes")); | 5060 | cFYI(1, "In SetTimes"); |
| 5066 | 5061 | ||
| 5067 | SetTimesRetry: | 5062 | SetTimesRetry: |
| 5068 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 5063 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| @@ -5118,7 +5113,7 @@ SetTimesRetry: | |||
| 5118 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 5113 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 5119 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 5114 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 5120 | if (rc) | 5115 | if (rc) |
| 5121 | cFYI(1, ("SetPathInfo (times) returned %d", rc)); | 5116 | cFYI(1, "SetPathInfo (times) returned %d", rc); |
| 5122 | 5117 | ||
| 5123 | cifs_buf_release(pSMB); | 5118 | cifs_buf_release(pSMB); |
| 5124 | 5119 | ||
| @@ -5143,7 +5138,7 @@ CIFSSMBSetAttrLegacy(int xid, struct cifsTconInfo *tcon, char *fileName, | |||
| 5143 | int bytes_returned; | 5138 | int bytes_returned; |
| 5144 | int name_len; | 5139 | int name_len; |
| 5145 | 5140 | ||
| 5146 | cFYI(1, ("In SetAttrLegacy")); | 5141 | cFYI(1, "In SetAttrLegacy"); |
| 5147 | 5142 | ||
| 5148 | SetAttrLgcyRetry: | 5143 | SetAttrLgcyRetry: |
| 5149 | rc = smb_init(SMB_COM_SETATTR, 8, tcon, (void **) &pSMB, | 5144 | rc = smb_init(SMB_COM_SETATTR, 8, tcon, (void **) &pSMB, |
| @@ -5169,7 +5164,7 @@ SetAttrLgcyRetry: | |||
| 5169 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 5164 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 5170 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 5165 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 5171 | if (rc) | 5166 | if (rc) |
| 5172 | cFYI(1, ("Error in LegacySetAttr = %d", rc)); | 5167 | cFYI(1, "Error in LegacySetAttr = %d", rc); |
| 5173 | 5168 | ||
| 5174 | cifs_buf_release(pSMB); | 5169 | cifs_buf_release(pSMB); |
| 5175 | 5170 | ||
| @@ -5231,7 +5226,7 @@ CIFSSMBUnixSetFileInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 5231 | int rc = 0; | 5226 | int rc = 0; |
| 5232 | u16 params, param_offset, offset, byte_count, count; | 5227 | u16 params, param_offset, offset, byte_count, count; |
| 5233 | 5228 | ||
| 5234 | cFYI(1, ("Set Unix Info (via SetFileInfo)")); | 5229 | cFYI(1, "Set Unix Info (via SetFileInfo)"); |
| 5235 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); | 5230 | rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); |
| 5236 | 5231 | ||
| 5237 | if (rc) | 5232 | if (rc) |
| @@ -5276,7 +5271,7 @@ CIFSSMBUnixSetFileInfo(const int xid, struct cifsTconInfo *tcon, | |||
| 5276 | 5271 | ||
| 5277 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); | 5272 | rc = SendReceiveNoRsp(xid, tcon->ses, (struct smb_hdr *) pSMB, 0); |
| 5278 | if (rc) | 5273 | if (rc) |
| 5279 | cFYI(1, ("Send error in Set Time (SetFileInfo) = %d", rc)); | 5274 | cFYI(1, "Send error in Set Time (SetFileInfo) = %d", rc); |
| 5280 | 5275 | ||
| 5281 | /* Note: On -EAGAIN error only caller can retry on handle based calls | 5276 | /* Note: On -EAGAIN error only caller can retry on handle based calls |
| 5282 | since file handle passed in no longer valid */ | 5277 | since file handle passed in no longer valid */ |
| @@ -5297,7 +5292,7 @@ CIFSSMBUnixSetPathInfo(const int xid, struct cifsTconInfo *tcon, char *fileName, | |||
| 5297 | FILE_UNIX_BASIC_INFO *data_offset; | 5292 | FILE_UNIX_BASIC_INFO *data_offset; |
| 5298 | __u16 params, param_offset, offset, count, byte_count; | 5293 | __u16 params, param_offset, offset, count, byte_count; |
| 5299 | 5294 | ||
| 5300 | cFYI(1, ("In SetUID/GID/Mode")); | 5295 | cFYI(1, "In SetUID/GID/Mode"); |
| 5301 | setPermsRetry: | 5296 | setPermsRetry: |
| 5302 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 5297 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 5303 | (void **) &pSMBr); | 5298 | (void **) &pSMBr); |
| @@ -5353,7 +5348,7 @@ setPermsRetry: | |||
| 5353 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 5348 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 5354 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 5349 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 5355 | if (rc) | 5350 | if (rc) |
| 5356 | cFYI(1, ("SetPathInfo (perms) returned %d", rc)); | 5351 | cFYI(1, "SetPathInfo (perms) returned %d", rc); |
| 5357 | 5352 | ||
| 5358 | cifs_buf_release(pSMB); | 5353 | cifs_buf_release(pSMB); |
| 5359 | if (rc == -EAGAIN) | 5354 | if (rc == -EAGAIN) |
| @@ -5372,7 +5367,7 @@ int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon, | |||
| 5372 | struct dir_notify_req *dnotify_req; | 5367 | struct dir_notify_req *dnotify_req; |
| 5373 | int bytes_returned; | 5368 | int bytes_returned; |
| 5374 | 5369 | ||
| 5375 | cFYI(1, ("In CIFSSMBNotify for file handle %d", (int)netfid)); | 5370 | cFYI(1, "In CIFSSMBNotify for file handle %d", (int)netfid); |
| 5376 | rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, | 5371 | rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, |
| 5377 | (void **) &pSMBr); | 5372 | (void **) &pSMBr); |
| 5378 | if (rc) | 5373 | if (rc) |
| @@ -5406,7 +5401,7 @@ int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon, | |||
| 5406 | (struct smb_hdr *)pSMBr, &bytes_returned, | 5401 | (struct smb_hdr *)pSMBr, &bytes_returned, |
| 5407 | CIFS_ASYNC_OP); | 5402 | CIFS_ASYNC_OP); |
| 5408 | if (rc) { | 5403 | if (rc) { |
| 5409 | cFYI(1, ("Error in Notify = %d", rc)); | 5404 | cFYI(1, "Error in Notify = %d", rc); |
| 5410 | } else { | 5405 | } else { |
| 5411 | /* Add file to outstanding requests */ | 5406 | /* Add file to outstanding requests */ |
| 5412 | /* BB change to kmem cache alloc */ | 5407 | /* BB change to kmem cache alloc */ |
| @@ -5462,7 +5457,7 @@ CIFSSMBQAllEAs(const int xid, struct cifsTconInfo *tcon, | |||
| 5462 | char *end_of_smb; | 5457 | char *end_of_smb; |
| 5463 | __u16 params, byte_count, data_offset; | 5458 | __u16 params, byte_count, data_offset; |
| 5464 | 5459 | ||
| 5465 | cFYI(1, ("In Query All EAs path %s", searchName)); | 5460 | cFYI(1, "In Query All EAs path %s", searchName); |
| 5466 | QAllEAsRetry: | 5461 | QAllEAsRetry: |
| 5467 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 5462 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 5468 | (void **) &pSMBr); | 5463 | (void **) &pSMBr); |
| @@ -5509,7 +5504,7 @@ QAllEAsRetry: | |||
| 5509 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 5504 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 5510 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 5505 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 5511 | if (rc) { | 5506 | if (rc) { |
| 5512 | cFYI(1, ("Send error in QueryAllEAs = %d", rc)); | 5507 | cFYI(1, "Send error in QueryAllEAs = %d", rc); |
| 5513 | goto QAllEAsOut; | 5508 | goto QAllEAsOut; |
| 5514 | } | 5509 | } |
| 5515 | 5510 | ||
| @@ -5537,16 +5532,16 @@ QAllEAsRetry: | |||
| 5537 | (((char *) &pSMBr->hdr.Protocol) + data_offset); | 5532 | (((char *) &pSMBr->hdr.Protocol) + data_offset); |
| 5538 | 5533 | ||
| 5539 | list_len = le32_to_cpu(ea_response_data->list_len); | 5534 | list_len = le32_to_cpu(ea_response_data->list_len); |
| 5540 | cFYI(1, ("ea length %d", list_len)); | 5535 | cFYI(1, "ea length %d", list_len); |
| 5541 | if (list_len <= 8) { | 5536 | if (list_len <= 8) { |
| 5542 | cFYI(1, ("empty EA list returned from server")); | 5537 | cFYI(1, "empty EA list returned from server"); |
| 5543 | goto QAllEAsOut; | 5538 | goto QAllEAsOut; |
| 5544 | } | 5539 | } |
| 5545 | 5540 | ||
| 5546 | /* make sure list_len doesn't go past end of SMB */ | 5541 | /* make sure list_len doesn't go past end of SMB */ |
| 5547 | end_of_smb = (char *)pByteArea(&pSMBr->hdr) + BCC(&pSMBr->hdr); | 5542 | end_of_smb = (char *)pByteArea(&pSMBr->hdr) + BCC(&pSMBr->hdr); |
| 5548 | if ((char *)ea_response_data + list_len > end_of_smb) { | 5543 | if ((char *)ea_response_data + list_len > end_of_smb) { |
| 5549 | cFYI(1, ("EA list appears to go beyond SMB")); | 5544 | cFYI(1, "EA list appears to go beyond SMB"); |
| 5550 | rc = -EIO; | 5545 | rc = -EIO; |
| 5551 | goto QAllEAsOut; | 5546 | goto QAllEAsOut; |
| 5552 | } | 5547 | } |
| @@ -5563,7 +5558,7 @@ QAllEAsRetry: | |||
| 5563 | temp_ptr += 4; | 5558 | temp_ptr += 4; |
| 5564 | /* make sure we can read name_len and value_len */ | 5559 | /* make sure we can read name_len and value_len */ |
| 5565 | if (list_len < 0) { | 5560 | if (list_len < 0) { |
| 5566 | cFYI(1, ("EA entry goes beyond length of list")); | 5561 | cFYI(1, "EA entry goes beyond length of list"); |
| 5567 | rc = -EIO; | 5562 | rc = -EIO; |
| 5568 | goto QAllEAsOut; | 5563 | goto QAllEAsOut; |
| 5569 | } | 5564 | } |
| @@ -5572,7 +5567,7 @@ QAllEAsRetry: | |||
| 5572 | value_len = le16_to_cpu(temp_fea->value_len); | 5567 | value_len = le16_to_cpu(temp_fea->value_len); |
| 5573 | list_len -= name_len + 1 + value_len; | 5568 | list_len -= name_len + 1 + value_len; |
| 5574 | if (list_len < 0) { | 5569 | if (list_len < 0) { |
| 5575 | cFYI(1, ("EA entry goes beyond length of list")); | 5570 | cFYI(1, "EA entry goes beyond length of list"); |
| 5576 | rc = -EIO; | 5571 | rc = -EIO; |
| 5577 | goto QAllEAsOut; | 5572 | goto QAllEAsOut; |
| 5578 | } | 5573 | } |
| @@ -5639,7 +5634,7 @@ CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon, const char *fileName, | |||
| 5639 | int bytes_returned = 0; | 5634 | int bytes_returned = 0; |
| 5640 | __u16 params, param_offset, byte_count, offset, count; | 5635 | __u16 params, param_offset, byte_count, offset, count; |
| 5641 | 5636 | ||
| 5642 | cFYI(1, ("In SetEA")); | 5637 | cFYI(1, "In SetEA"); |
| 5643 | SetEARetry: | 5638 | SetEARetry: |
| 5644 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, | 5639 | rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, |
| 5645 | (void **) &pSMBr); | 5640 | (void **) &pSMBr); |
| @@ -5721,7 +5716,7 @@ SetEARetry: | |||
| 5721 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, | 5716 | rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, |
| 5722 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 5717 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 5723 | if (rc) | 5718 | if (rc) |
| 5724 | cFYI(1, ("SetPathInfo (EA) returned %d", rc)); | 5719 | cFYI(1, "SetPathInfo (EA) returned %d", rc); |
| 5725 | 5720 | ||
| 5726 | cifs_buf_release(pSMB); | 5721 | cifs_buf_release(pSMB); |
| 5727 | 5722 | ||
