diff options
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index fee993c92f1a..429337eb7afe 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -201,17 +201,6 @@ static inline int cifs_open_inode_helper(struct inode *inode, struct file *file, | |||
201 | struct timespec temp; | 201 | struct timespec temp; |
202 | int rc; | 202 | int rc; |
203 | 203 | ||
204 | /* want handles we can use to read with first | ||
205 | in the list so we do not have to walk the | ||
206 | list to search for one in write_begin */ | ||
207 | if ((file->f_flags & O_ACCMODE) == O_WRONLY) { | ||
208 | list_add_tail(&pCifsFile->flist, | ||
209 | &pCifsInode->openFileList); | ||
210 | } else { | ||
211 | list_add(&pCifsFile->flist, | ||
212 | &pCifsInode->openFileList); | ||
213 | } | ||
214 | write_unlock(&GlobalSMBSeslock); | ||
215 | if (pCifsInode->clientCanCacheRead) { | 204 | if (pCifsInode->clientCanCacheRead) { |
216 | /* we have the inode open somewhere else | 205 | /* we have the inode open somewhere else |
217 | no need to discard cache data */ | 206 | no need to discard cache data */ |
@@ -397,6 +386,7 @@ int cifs_open(struct inode *inode, struct file *file) | |||
397 | cFYI(1, ("cifs_open returned 0x%x", rc)); | 386 | cFYI(1, ("cifs_open returned 0x%x", rc)); |
398 | goto out; | 387 | goto out; |
399 | } | 388 | } |
389 | |||
400 | pCifsFile = cifs_new_fileinfo(inode, netfid, file, file->f_path.mnt, | 390 | pCifsFile = cifs_new_fileinfo(inode, netfid, file, file->f_path.mnt, |
401 | file->f_flags); | 391 | file->f_flags); |
402 | file->private_data = pCifsFile; | 392 | file->private_data = pCifsFile; |
@@ -405,14 +395,8 @@ int cifs_open(struct inode *inode, struct file *file) | |||
405 | goto out; | 395 | goto out; |
406 | } | 396 | } |
407 | 397 | ||
408 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); | 398 | rc = cifs_open_inode_helper(inode, file, pCifsInode, pCifsFile, tcon, |
409 | if (pCifsInode) { | 399 | &oplock, buf, full_path, xid); |
410 | rc = cifs_open_inode_helper(inode, file, pCifsInode, | ||
411 | pCifsFile, tcon, | ||
412 | &oplock, buf, full_path, xid); | ||
413 | } else { | ||
414 | write_unlock(&GlobalSMBSeslock); | ||
415 | } | ||
416 | 400 | ||
417 | if (oplock & CIFS_CREATE_ACTION) { | 401 | if (oplock & CIFS_CREATE_ACTION) { |
418 | /* time to set mode which we can not set earlier due to | 402 | /* time to set mode which we can not set earlier due to |