Commit 146f9f65 authored by Jeff Layton's avatar Jeff Layton Committed by Steve French

cifs: refactor mid finding loop in cifs_demultiplex_thread

...to reduce the extreme indentation. This should introduce no
behavioral changes.

Cc: stable@kernel.org
Acked-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 2a2047bc
...@@ -617,9 +617,13 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) ...@@ -617,9 +617,13 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
list_for_each_safe(tmp, tmp2, &server->pending_mid_q) { list_for_each_safe(tmp, tmp2, &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->mid == smb_buffer->Mid) && if (mid_entry->mid != smb_buffer->Mid ||
(mid_entry->midState == MID_REQUEST_SUBMITTED) && mid_entry->midState != MID_REQUEST_SUBMITTED ||
(mid_entry->command == smb_buffer->Command)) { mid_entry->command != smb_buffer->Command) {
mid_entry = NULL;
continue;
}
if (length == 0 && if (length == 0 &&
check2ndT2(smb_buffer, server->maxBuf) > 0) { check2ndT2(smb_buffer, server->maxBuf) > 0) {
/* We have a multipart transact2 resp */ /* We have a multipart transact2 resp */
...@@ -628,26 +632,26 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) ...@@ -628,26 +632,26 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
/* merge response - fix up 1st*/ /* merge response - fix up 1st*/
if (coalesce_t2(smb_buffer, if (coalesce_t2(smb_buffer,
mid_entry->resp_buf)) { mid_entry->resp_buf)) {
mid_entry->multiRsp = mid_entry->multiRsp = true;
true;
break; break;
} else { } else {
/* all parts received */ /* all parts received */
mid_entry->multiEnd = mid_entry->multiEnd = true;
true;
goto multi_t2_fnd; goto multi_t2_fnd;
} }
} else { } else {
if (!isLargeBuf) { if (!isLargeBuf) {
cERROR(1, "1st trans2 resp needs bigbuf"); /*
/* BB maybe we can fix this up, switch * FIXME: switch to already
to already allocated large buffer? */ * allocated largebuf?
*/
cERROR(1, "1st trans2 resp "
"needs bigbuf");
} else { } else {
/* Have first buffer */ /* Have first buffer */
mid_entry->resp_buf = mid_entry->resp_buf =
smb_buffer; smb_buffer;
mid_entry->largeBuf = mid_entry->largeBuf = true;
true;
bigbuf = NULL; bigbuf = NULL;
} }
} }
...@@ -657,11 +661,9 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) ...@@ -657,11 +661,9 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
mid_entry->largeBuf = isLargeBuf; mid_entry->largeBuf = isLargeBuf;
multi_t2_fnd: multi_t2_fnd:
if (length == 0) if (length == 0)
mid_entry->midState = mid_entry->midState = MID_RESPONSE_RECEIVED;
MID_RESPONSE_RECEIVED;
else else
mid_entry->midState = mid_entry->midState = MID_RESPONSE_MALFORMED;
MID_RESPONSE_MALFORMED;
#ifdef CONFIG_CIFS_STATS2 #ifdef CONFIG_CIFS_STATS2
mid_entry->when_received = jiffies; mid_entry->when_received = jiffies;
#endif #endif
...@@ -669,8 +671,6 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) ...@@ -669,8 +671,6 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
mid_entry->callback(mid_entry); mid_entry->callback(mid_entry);
break; break;
} }
mid_entry = NULL;
}
spin_unlock(&GlobalMid_Lock); spin_unlock(&GlobalMid_Lock);
if (mid_entry != NULL) { if (mid_entry != NULL) {
......
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