Hi Roland,

SRP High Availability needs an initiator to connect to the same target 
several times, e.g., once from each IB port of the target (this way we can use
device mapper multipath for failover). Note that both connections are actually
active, e.g. multipath is issuing commands to to get the remote scsi id.

Since multiple channel operation is currently disabled in connection request,
each new connection request will cause the target to disconnect
the existing connection which forces us to bounce a lot between the two 
channels.

This patch enables multiple channel operation in connection requests, to avoid 
getting
disconnects when multiple connections are active. There does not seem to be any 
harm
in doing this even when multipath is not used.

Signed-off-by: Ishai Rabinovitz <[EMAIL PROTECTED]>

---

Index: last_stable/drivers/infiniband/ulp/srp/ib_srp.c
===================================================================
--- last_stable.orig/drivers/infiniband/ulp/srp/ib_srp.c        2006-09-26 
09:22:13.000000000 +0300
+++ last_stable/drivers/infiniband/ulp/srp/ib_srp.c     2006-09-26 
14:54:35.000000000 +0300
@@ -329,6 +329,7 @@ static int srp_send_req(struct srp_targe
        req->priv.req_it_iu_len = cpu_to_be32(srp_max_iu_len);
        req->priv.req_buf_fmt   = cpu_to_be16(SRP_BUF_FORMAT_DIRECT |
                                              SRP_BUF_FORMAT_INDIRECT);
+       req->priv.req_flags     = SRP_MULTICHAN_MULTI;
        /*
         * In the published SRP specification (draft rev. 16a), the 
         * port identifier format is 8 bytes of ID extension followed
-- 
Ishai Rabinovitz

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to