[CIFS] Fix sparse warnings
Signed-off-by: Shirish Pargaonkar <shirishp@us.ibm.com>
CC: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index d9006b0..e937da7 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -149,7 +149,7 @@
pCifsFile->pid = current->tgid;
pCifsFile->pInode = newinode;
pCifsFile->invalidHandle = false;
- pCifsFile->closePend = false;
+ pCifsFile->closePend = false;
mutex_init(&pCifsFile->fh_mutex);
mutex_init(&pCifsFile->lock_mutex);
INIT_LIST_HEAD(&pCifsFile->llist);
@@ -162,20 +162,18 @@
pCifsInode = CIFS_I(newinode);
if (pCifsInode) {
/* if readable file instance put first in list*/
- if (write_only) {
+ if (write_only)
list_add_tail(&pCifsFile->flist,
&pCifsInode->openFileList);
- } else {
- list_add(&pCifsFile->flist,
- &pCifsInode->openFileList);
- }
+ else
+ list_add(&pCifsFile->flist, &pCifsInode->openFileList);
+
if ((oplock & 0xF) == OPLOCK_EXCLUSIVE) {
pCifsInode->clientCanCacheAll = true;
pCifsInode->clientCanCacheRead = true;
- cFYI(1, ("Exclusive Oplock inode %p",
- newinode));
+ cFYI(1, ("Exclusive Oplock inode %p", newinode));
} else if ((oplock & 0xF) == OPLOCK_READ)
- pCifsInode->clientCanCacheRead = true;
+ pCifsInode->clientCanCacheRead = true;
}
write_unlock(&GlobalSMBSeslock);
}
@@ -668,6 +666,16 @@
parent_dir_inode->i_sb, mode,
nd->intent.open.flags, &oplock,
&fileHandle, xid);
+ /*
+ * This code works around a bug in
+ * samba posix open in samba versions 3.3.1
+ * and earlier where create works
+ * but open fails with invalid parameter.
+ * If either of these error codes are
+ * returned, follow the normal lookup.
+ * Otherwise, the error during posix open
+ * is handled.
+ */
if ((rc != -EINVAL) && (rc != -EOPNOTSUPP))
posix_open = true;
}
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 48c9ae0..50ca088 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -307,11 +307,9 @@
rc = 0;
FreeXid(xid);
return rc;
- } else {
- if ((file->f_flags & O_CREAT) && (file->f_flags & O_EXCL))
+ } else if ((file->f_flags & O_CREAT) && (file->f_flags & O_EXCL))
cERROR(1, ("could not find file instance for "
"new file %p", file));
- }
full_path = build_path_from_dentry(file->f_path.dentry);
if (full_path == NULL) {