aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/cifs/cifsproto.h2
-rw-r--r--fs/cifs/dir.c9
-rw-r--r--fs/cifs/file.c14
3 files changed, 14 insertions, 11 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index da8fbf565991..bf3ae881b2d5 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -97,7 +97,7 @@ extern struct timespec cnvrtDosUnixTm(__le16 le_date, __le16 le_time,
97 97
98extern int cifs_posix_open(char *full_path, struct inode **pinode, 98extern int cifs_posix_open(char *full_path, struct inode **pinode,
99 struct super_block *sb, int mode, int oflags, 99 struct super_block *sb, int mode, int oflags,
100 int *poplock, __u16 *pnetfid, int xid); 100 __u32 *poplock, __u16 *pnetfid, int xid);
101extern void cifs_unix_basic_to_fattr(struct cifs_fattr *fattr, 101extern void cifs_unix_basic_to_fattr(struct cifs_fattr *fattr,
102 FILE_UNIX_BASIC_INFO *info, 102 FILE_UNIX_BASIC_INFO *info,
103 struct cifs_sb_info *cifs_sb); 103 struct cifs_sb_info *cifs_sb);
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index a6424cfc0121..44f735aa2e3f 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -180,10 +180,9 @@ cifs_fill_fileinfo(struct inode *newinode, __u16 fileHandle,
180 180
181int cifs_posix_open(char *full_path, struct inode **pinode, 181int cifs_posix_open(char *full_path, struct inode **pinode,
182 struct super_block *sb, int mode, int oflags, 182 struct super_block *sb, int mode, int oflags,
183 int *poplock, __u16 *pnetfid, int xid) 183 __u32 *poplock, __u16 *pnetfid, int xid)
184{ 184{
185 int rc; 185 int rc;
186 __u32 oplock;
187 bool write_only = false; 186 bool write_only = false;
188 FILE_UNIX_BASIC_INFO *presp_data; 187 FILE_UNIX_BASIC_INFO *presp_data;
189 __u32 posix_flags = 0; 188 __u32 posix_flags = 0;
@@ -228,7 +227,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
228 227
229 mode &= ~current_umask(); 228 mode &= ~current_umask();
230 rc = CIFSPOSIXCreate(xid, cifs_sb->tcon, posix_flags, mode, 229 rc = CIFSPOSIXCreate(xid, cifs_sb->tcon, posix_flags, mode,
231 pnetfid, presp_data, &oplock, full_path, 230 pnetfid, presp_data, poplock, full_path,
232 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags & 231 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags &
233 CIFS_MOUNT_MAP_SPECIAL_CHR); 232 CIFS_MOUNT_MAP_SPECIAL_CHR);
234 if (rc) 233 if (rc)
@@ -280,7 +279,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
280 int rc = -ENOENT; 279 int rc = -ENOENT;
281 int xid; 280 int xid;
282 int create_options = CREATE_NOT_DIR; 281 int create_options = CREATE_NOT_DIR;
283 int oplock = 0; 282 __u32 oplock = 0;
284 int oflags; 283 int oflags;
285 bool posix_create = false; 284 bool posix_create = false;
286 /* 285 /*
@@ -611,7 +610,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
611{ 610{
612 int xid; 611 int xid;
613 int rc = 0; /* to get around spurious gcc warning, set to zero here */ 612 int rc = 0; /* to get around spurious gcc warning, set to zero here */
614 int oplock = 0; 613 __u32 oplock = 0;
615 __u16 fileHandle = 0; 614 __u16 fileHandle = 0;
616 bool posix_open = false; 615 bool posix_open = false;
617 struct cifs_sb_info *cifs_sb; 616 struct cifs_sb_info *cifs_sb;
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index fa7beac8b80e..225d127c960e 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -123,9 +123,11 @@ static inline int cifs_get_disposition(unsigned int flags)
123} 123}
124 124
125/* all arguments to this function must be checked for validity in caller */ 125/* all arguments to this function must be checked for validity in caller */
126static inline int cifs_posix_open_inode_helper(struct inode *inode, 126static inline int
127 struct file *file, struct cifsInodeInfo *pCifsInode, 127cifs_posix_open_inode_helper(struct inode *inode, struct file *file,
128 struct cifsFileInfo *pCifsFile, int oplock, u16 netfid) 128 struct cifsInodeInfo *pCifsInode,
129 struct cifsFileInfo *pCifsFile, __u32 oplock,
130 u16 netfid)
129{ 131{
130 132
131 write_lock(&GlobalSMBSeslock); 133 write_lock(&GlobalSMBSeslock);
@@ -279,7 +281,8 @@ client_can_cache:
279int cifs_open(struct inode *inode, struct file *file) 281int cifs_open(struct inode *inode, struct file *file)
280{ 282{
281 int rc = -EACCES; 283 int rc = -EACCES;
282 int xid, oplock; 284 int xid;
285 __u32 oplock;
283 struct cifs_sb_info *cifs_sb; 286 struct cifs_sb_info *cifs_sb;
284 struct cifsTconInfo *tcon; 287 struct cifsTconInfo *tcon;
285 struct cifsFileInfo *pCifsFile; 288 struct cifsFileInfo *pCifsFile;
@@ -474,7 +477,8 @@ static int cifs_relock_file(struct cifsFileInfo *cifsFile)
474static int cifs_reopen_file(struct file *file, bool can_flush) 477static int cifs_reopen_file(struct file *file, bool can_flush)
475{ 478{
476 int rc = -EACCES; 479 int rc = -EACCES;
477 int xid, oplock; 480 int xid;
481 __u32 oplock;
478 struct cifs_sb_info *cifs_sb; 482 struct cifs_sb_info *cifs_sb;
479 struct cifsTconInfo *tcon; 483 struct cifsTconInfo *tcon;
480 struct cifsFileInfo *pCifsFile; 484 struct cifsFileInfo *pCifsFile;