[CIFS] list entry can not return null
Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
@@ -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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
} 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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
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)
|
|||||||
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)
|
|||||||
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);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user