diff options
| -rw-r--r-- | fs/cifs/cifssmb.c | 9 | ||||
| -rw-r--r-- | fs/cifs/dir.c | 3 |
2 files changed, 7 insertions, 5 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 3e89fbbd160f..a5941872d3f7 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
| @@ -3061,7 +3061,8 @@ findFirstRetry: | |||
| 3061 | pSMB->TotalParameterCount = cpu_to_le16(params); | 3061 | pSMB->TotalParameterCount = cpu_to_le16(params); |
| 3062 | pSMB->ParameterCount = pSMB->TotalParameterCount; | 3062 | pSMB->ParameterCount = pSMB->TotalParameterCount; |
| 3063 | pSMB->ParameterOffset = cpu_to_le16( | 3063 | pSMB->ParameterOffset = cpu_to_le16( |
| 3064 | offsetof(struct smb_com_transaction2_ffirst_req, SearchAttributes) - 4); | 3064 | offsetof(struct smb_com_transaction2_ffirst_req, SearchAttributes) |
| 3065 | - 4); | ||
| 3065 | pSMB->DataCount = 0; | 3066 | pSMB->DataCount = 0; |
| 3066 | pSMB->DataOffset = 0; | 3067 | pSMB->DataOffset = 0; |
| 3067 | pSMB->SetupCount = 1; /* one byte, no need to make endian neutral */ | 3068 | pSMB->SetupCount = 1; /* one byte, no need to make endian neutral */ |
| @@ -3084,12 +3085,12 @@ findFirstRetry: | |||
| 3084 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); | 3085 | (struct smb_hdr *) pSMBr, &bytes_returned, 0); |
| 3085 | cifs_stats_inc(&tcon->num_ffirst); | 3086 | cifs_stats_inc(&tcon->num_ffirst); |
| 3086 | 3087 | ||
| 3087 | if (rc) {/* BB add logic to retry regular search if Unix search rejected unexpectedly by server */ | 3088 | if (rc) {/* BB add logic to retry regular search if Unix search |
| 3089 | rejected unexpectedly by server */ | ||
| 3088 | /* BB Add code to handle unsupported level rc */ | 3090 | /* BB Add code to handle unsupported level rc */ |
| 3089 | cFYI(1, ("Error in FindFirst = %d", rc)); | 3091 | cFYI(1, ("Error in FindFirst = %d", rc)); |
| 3090 | 3092 | ||
| 3091 | if (pSMB) | 3093 | cifs_buf_release(pSMB); |
| 3092 | cifs_buf_release(pSMB); | ||
| 3093 | 3094 | ||
| 3094 | /* BB eventually could optimize out free and realloc of buf */ | 3095 | /* BB eventually could optimize out free and realloc of buf */ |
| 3095 | /* for this case */ | 3096 | /* for this case */ |
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 77e1fc01d747..ddd11fa15528 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
| @@ -48,13 +48,14 @@ build_path_from_dentry(struct dentry *direntry) | |||
| 48 | struct dentry *temp; | 48 | struct dentry *temp; |
| 49 | int namelen = 0; | 49 | int namelen = 0; |
| 50 | char *full_path; | 50 | char *full_path; |
| 51 | char dirsep = CIFS_DIR_SEP(CIFS_SB(direntry->d_sb)); | 51 | char dirsep; |
| 52 | 52 | ||
| 53 | if(direntry == NULL) | 53 | if(direntry == NULL) |
| 54 | return NULL; /* not much we can do if dentry is freed and | 54 | return NULL; /* not much we can do if dentry is freed and |
| 55 | we need to reopen the file after it was closed implicitly | 55 | we need to reopen the file after it was closed implicitly |
| 56 | when the server crashed */ | 56 | when the server crashed */ |
| 57 | 57 | ||
| 58 | dirsep = CIFS_DIR_SEP(CIFS_SB(direntry->d_sb)); | ||
| 58 | cifs_bp_rename_retry: | 59 | cifs_bp_rename_retry: |
| 59 | for (temp = direntry; !IS_ROOT(temp);) { | 60 | for (temp = direntry; !IS_ROOT(temp);) { |
| 60 | namelen += (1 + temp->d_name.len); | 61 | namelen += (1 + temp->d_name.len); |
