Commit ad8b15f0 authored by Steve French's avatar Steve French

[CIFS] list entry can not return null

Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 0510eeb7
...@@ -79,7 +79,6 @@ void cifs_dump_mids(struct TCP_Server_Info *server) ...@@ -79,7 +79,6 @@ void cifs_dump_mids(struct TCP_Server_Info *server)
spin_lock(&GlobalMid_Lock); spin_lock(&GlobalMid_Lock);
list_for_each(tmp, &server->pending_mid_q) { list_for_each(tmp, &server->pending_mid_q) {
mid_entry = list_entry(tmp, struct mid_q_entry, qhead); mid_entry = list_entry(tmp, struct mid_q_entry, qhead);
if (mid_entry) {
cERROR(1, ("State: %d Cmd: %d Pid: %d Tsk: %p Mid %d", cERROR(1, ("State: %d Cmd: %d Pid: %d Tsk: %p Mid %d",
mid_entry->midState, mid_entry->midState,
(int)mid_entry->command, (int)mid_entry->command,
...@@ -101,7 +100,6 @@ void cifs_dump_mids(struct TCP_Server_Info *server) ...@@ -101,7 +100,6 @@ void cifs_dump_mids(struct TCP_Server_Info *server)
mid_entry->resp_buf, 62); mid_entry->resp_buf, 62);
} }
} }
}
spin_unlock(&GlobalMid_Lock); spin_unlock(&GlobalMid_Lock);
} }
#endif /* CONFIG_CIFS_DEBUG2 */ #endif /* CONFIG_CIFS_DEBUG2 */
...@@ -163,9 +161,7 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v) ...@@ -163,9 +161,7 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v)
mid_entry = list_entry(tmp1, struct mid_entry = list_entry(tmp1, struct
mid_q_entry, mid_q_entry,
qhead); qhead);
if (mid_entry) { seq_printf(m, "State: %d com: %d pid:"
seq_printf(m,
"State: %d com: %d pid:"
" %d tsk: %p mid %d\n", " %d tsk: %p mid %d\n",
mid_entry->midState, mid_entry->midState,
(int)mid_entry->command, (int)mid_entry->command,
...@@ -173,7 +169,6 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v) ...@@ -173,7 +169,6 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v)
mid_entry->tsk, mid_entry->tsk,
mid_entry->mid); mid_entry->mid);
} }
}
spin_unlock(&GlobalMid_Lock); spin_unlock(&GlobalMid_Lock);
} }
......
...@@ -931,7 +931,6 @@ static int cifs_oplock_thread(void *dummyarg) ...@@ -931,7 +931,6 @@ static int cifs_oplock_thread(void *dummyarg)
} else { } else {
oplock_item = list_entry(GlobalOplock_Q.next, oplock_item = list_entry(GlobalOplock_Q.next,
struct oplock_q_entry, qhead); struct oplock_q_entry, qhead);
if (oplock_item) {
cFYI(1, ("found oplock item to write out")); cFYI(1, ("found oplock item to write out"));
pTcon = oplock_item->tcon; pTcon = oplock_item->tcon;
inode = oplock_item->pinode; inode = oplock_item->pinode;
...@@ -944,11 +943,10 @@ static int cifs_oplock_thread(void *dummyarg) ...@@ -944,11 +943,10 @@ static int cifs_oplock_thread(void *dummyarg)
the call */ the call */
/* mutex_lock(&inode->i_mutex);*/ /* mutex_lock(&inode->i_mutex);*/
if (S_ISREG(inode->i_mode)) { if (S_ISREG(inode->i_mode)) {
rc = rc = filemap_fdatawrite(inode->i_mapping);
filemap_fdatawrite(inode->i_mapping); if (CIFS_I(inode)->clientCanCacheRead == 0) {
if (CIFS_I(inode)->clientCanCacheRead waitrc = filemap_fdatawait(
== 0) { inode->i_mapping);
waitrc = filemap_fdatawait(inode->i_mapping);
invalidate_remote_inode(inode); invalidate_remote_inode(inode);
} }
if (rc == 0) if (rc == 0)
...@@ -974,8 +972,6 @@ static int cifs_oplock_thread(void *dummyarg) ...@@ -974,8 +972,6 @@ static int cifs_oplock_thread(void *dummyarg)
false /* wait flag */); false /* wait flag */);
cFYI(1, ("Oplock release rc = %d", rc)); cFYI(1, ("Oplock release rc = %d", rc));
} }
} else
spin_unlock(&GlobalMid_Lock);
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(1); /* yield in case q were corrupt */ schedule_timeout(1); /* yield in case q were corrupt */
} }
...@@ -1001,8 +997,7 @@ static int cifs_dnotify_thread(void *dummyarg) ...@@ -1001,8 +997,7 @@ static int cifs_dnotify_thread(void *dummyarg)
list_for_each(tmp, &GlobalSMBSessionList) { list_for_each(tmp, &GlobalSMBSessionList) {
ses = list_entry(tmp, struct cifsSesInfo, ses = list_entry(tmp, struct cifsSesInfo,
cifsSessionList); cifsSessionList);
if (ses && ses->server && if (ses->server && atomic_read(&ses->server->inFlight))
atomic_read(&ses->server->inFlight))
wake_up_all(&ses->server->response_q); wake_up_all(&ses->server->response_q);
} }
read_unlock(&GlobalSMBSeslock); read_unlock(&GlobalSMBSeslock);
......
...@@ -128,7 +128,6 @@ static void mark_open_files_invalid(struct cifsTconInfo *pTcon) ...@@ -128,7 +128,6 @@ static void mark_open_files_invalid(struct cifsTconInfo *pTcon)
write_lock(&GlobalSMBSeslock); write_lock(&GlobalSMBSeslock);
list_for_each_safe(tmp, tmp1, &pTcon->openFileList) { list_for_each_safe(tmp, tmp1, &pTcon->openFileList) {
open_file = list_entry(tmp, struct cifsFileInfo, tlist); open_file = list_entry(tmp, struct cifsFileInfo, tlist);
if (open_file)
open_file->invalidHandle = true; open_file->invalidHandle = true;
} }
write_unlock(&GlobalSMBSeslock); write_unlock(&GlobalSMBSeslock);
......
...@@ -151,7 +151,7 @@ cifs_reconnect(struct TCP_Server_Info *server) ...@@ -151,7 +151,7 @@ cifs_reconnect(struct TCP_Server_Info *server)
} }
list_for_each(tmp, &GlobalTreeConnectionList) { list_for_each(tmp, &GlobalTreeConnectionList) {
tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList); tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList);
if ((tcon) && (tcon->ses) && (tcon->ses->server == server)) if ((tcon->ses) && (tcon->ses->server == server))
tcon->tidStatus = CifsNeedReconnect; tcon->tidStatus = CifsNeedReconnect;
} }
read_unlock(&GlobalSMBSeslock); read_unlock(&GlobalSMBSeslock);
...@@ -173,7 +173,6 @@ cifs_reconnect(struct TCP_Server_Info *server) ...@@ -173,7 +173,6 @@ cifs_reconnect(struct TCP_Server_Info *server)
mid_entry = list_entry(tmp, struct mid_entry = list_entry(tmp, struct
mid_q_entry, mid_q_entry,
qhead); qhead);
if (mid_entry) {
if (mid_entry->midState == MID_REQUEST_SUBMITTED) { if (mid_entry->midState == MID_REQUEST_SUBMITTED) {
/* Mark other intransit requests as needing /* Mark other intransit requests as needing
retry so we do not immediately mark the retry so we do not immediately mark the
...@@ -182,7 +181,6 @@ cifs_reconnect(struct TCP_Server_Info *server) ...@@ -182,7 +181,6 @@ cifs_reconnect(struct TCP_Server_Info *server)
mid_entry->midState = MID_RETRY_NEEDED; mid_entry->midState = MID_RETRY_NEEDED;
} }
} }
}
spin_unlock(&GlobalMid_Lock); spin_unlock(&GlobalMid_Lock);
up(&server->tcpSem); up(&server->tcpSem);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment