diff options
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index cafbf10521d5..3f50cee79df9 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -140,8 +140,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode, | |||
140 | posix_flags = cifs_posix_convert_flags(f_flags); | 140 | posix_flags = cifs_posix_convert_flags(f_flags); |
141 | rc = CIFSPOSIXCreate(xid, tcon, posix_flags, mode, pnetfid, presp_data, | 141 | rc = CIFSPOSIXCreate(xid, tcon, posix_flags, mode, pnetfid, presp_data, |
142 | poplock, full_path, cifs_sb->local_nls, | 142 | poplock, full_path, cifs_sb->local_nls, |
143 | cifs_sb->mnt_cifs_flags & | 143 | cifs_remap(cifs_sb)); |
144 | CIFS_MOUNT_MAP_SPECIAL_CHR); | ||
145 | cifs_put_tlink(tlink); | 144 | cifs_put_tlink(tlink); |
146 | 145 | ||
147 | if (rc) | 146 | if (rc) |
@@ -1553,8 +1552,8 @@ cifs_setlk(struct file *file, struct file_lock *flock, __u32 type, | |||
1553 | rc = server->ops->mand_unlock_range(cfile, flock, xid); | 1552 | rc = server->ops->mand_unlock_range(cfile, flock, xid); |
1554 | 1553 | ||
1555 | out: | 1554 | out: |
1556 | if (flock->fl_flags & FL_POSIX) | 1555 | if (flock->fl_flags & FL_POSIX && !rc) |
1557 | posix_lock_file_wait(file, flock); | 1556 | rc = posix_lock_file_wait(file, flock); |
1558 | return rc; | 1557 | return rc; |
1559 | } | 1558 | } |
1560 | 1559 | ||