Whamcloud - gitweb
LU-12815 socklnd: add conns_per_peer parameter
[fs/lustre-release.git] / lnet / klnds / socklnd / socklnd_cb.c
index 1da3fe5..cae7aec 100644 (file)
@@ -1973,14 +1973,15 @@ ksocknal_connect(struct ksock_route *route)
                 if (retry_later) /* needs reschedule */
                         break;
 
-                if ((wanted & (1 << SOCKLND_CONN_ANY)) != 0) {
+                if ((wanted & BIT(SOCKLND_CONN_ANY)) != 0) {
                         type = SOCKLND_CONN_ANY;
-                } else if ((wanted & (1 << SOCKLND_CONN_CONTROL)) != 0) {
+                } else if ((wanted & BIT(SOCKLND_CONN_CONTROL)) != 0) {
                         type = SOCKLND_CONN_CONTROL;
-                } else if ((wanted & (1 << SOCKLND_CONN_BULK_IN)) != 0) {
+               } else if ((wanted & BIT(SOCKLND_CONN_BULK_IN)) != 0 &&
+                          route->ksnr_blki_conn_count <= route->ksnr_blko_conn_count) {
                         type = SOCKLND_CONN_BULK_IN;
                 } else {
-                        LASSERT ((wanted & (1 << SOCKLND_CONN_BULK_OUT)) != 0);
+                        LASSERT ((wanted & BIT(SOCKLND_CONN_BULK_OUT)) != 0);
                         type = SOCKLND_CONN_BULK_OUT;
                 }