diff options
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 0473b221f643..0f66ae5b694b 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -925,6 +925,7 @@ static struct cifsFileInfo *find_writable_file(struct cifsInodeInfo *cifs_inode) | |||
925 | /* if it fails, try another handle - might be */ | 925 | /* if it fails, try another handle - might be */ |
926 | /* dangerous to hold up writepages with retry */ | 926 | /* dangerous to hold up writepages with retry */ |
927 | if(rc) { | 927 | if(rc) { |
928 | cFYI(1,("failed on reopen file in wp")); | ||
928 | read_lock(&GlobalSMBSeslock); | 929 | read_lock(&GlobalSMBSeslock); |
929 | continue; | 930 | continue; |
930 | } | 931 | } |
@@ -1028,6 +1029,13 @@ static int cifs_writepages(struct address_space *mapping, | |||
1028 | if (cifs_sb->wsize < PAGE_CACHE_SIZE) | 1029 | if (cifs_sb->wsize < PAGE_CACHE_SIZE) |
1029 | return generic_writepages(mapping, wbc); | 1030 | return generic_writepages(mapping, wbc); |
1030 | 1031 | ||
1032 | /* BB FIXME we do not have code to sign across multiple buffers yet, | ||
1033 | so go to older writepage style write which we can sign if needed */ | ||
1034 | if((cifs_sb->tcon->ses) && (cifs_sb->tcon->ses->server)) | ||
1035 | if(cifs_sb->tcon->ses->server->secMode & | ||
1036 | (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) | ||
1037 | return generic_writepages(mapping, wbc); | ||
1038 | |||
1031 | /* | 1039 | /* |
1032 | * BB: Is this meaningful for a non-block-device file system? | 1040 | * BB: Is this meaningful for a non-block-device file system? |
1033 | * If it is, we should test it again after we do I/O | 1041 | * If it is, we should test it again after we do I/O |