[CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch
authorVolker Lendecke <vl@samba.org>
Mon, 8 Dec 2008 20:59:39 +0000 (20:59 +0000)
committerSteve French <sfrench@us.ibm.com>
Fri, 26 Dec 2008 02:29:12 +0000 (02:29 +0000)
This is no functional change, because in the "if" branch we do an early
"return 0;".

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/transport.c

index c98f929315f24b1811bc4f928bb1ccbd9f6dee48..5f224e999585e1221a672495742fffc302a9ba00 100644 (file)
@@ -344,37 +344,38 @@ static int wait_for_free_request(struct cifsSesInfo *ses, const int long_op)
        if (long_op == CIFS_ASYNC_OP) {
                /* oplock breaks must not be held up */
                atomic_inc(&ses->server->inFlight);
-       } else {
-               spin_lock(&GlobalMid_Lock);
-               while (1) {
-                       if (atomic_read(&ses->server->inFlight) >=
-                                       cifs_max_pending){
-                               spin_unlock(&GlobalMid_Lock);
+               return 0;
+       }
+
+       spin_lock(&GlobalMid_Lock);
+       while (1) {
+               if (atomic_read(&ses->server->inFlight) >=
+                               cifs_max_pending){
+                       spin_unlock(&GlobalMid_Lock);
 #ifdef CONFIG_CIFS_STATS2
-                               atomic_inc(&ses->server->num_waiters);
+                       atomic_inc(&ses->server->num_waiters);
 #endif
-                               wait_event(ses->server->request_q,
-                                       atomic_read(&ses->server->inFlight)
-                                        < cifs_max_pending);
+                       wait_event(ses->server->request_q,
+                                  atomic_read(&ses->server->inFlight)
+                                    < cifs_max_pending);
 #ifdef CONFIG_CIFS_STATS2
-                               atomic_dec(&ses->server->num_waiters);
+                       atomic_dec(&ses->server->num_waiters);
 #endif
-                               spin_lock(&GlobalMid_Lock);
-                       } else {
-                               if (ses->server->tcpStatus == CifsExiting) {
-                                       spin_unlock(&GlobalMid_Lock);
-                                       return -ENOENT;
-                               }
-
-                               /* can not count locking commands against total
-                                  as they are allowed to block on server */
-
-                               /* update # of requests on the wire to server */
-                               if (long_op != CIFS_BLOCKING_OP)
-                                       atomic_inc(&ses->server->inFlight);
+                       spin_lock(&GlobalMid_Lock);
+               } else {
+                       if (ses->server->tcpStatus == CifsExiting) {
                                spin_unlock(&GlobalMid_Lock);
-                               break;
+                               return -ENOENT;
                        }
+
+                       /* can not count locking commands against total
+                          as they are allowed to block on server */
+
+                       /* update # of requests on the wire to server */
+                       if (long_op != CIFS_BLOCKING_OP)
+                               atomic_inc(&ses->server->inFlight);
+                       spin_unlock(&GlobalMid_Lock);
+                       break;
                }
        }
        return 0;