to have two identical connections in imp_conn_list. We must
compare not conn's pointers but NIDs, otherwise we can defeat
connection throttling.
b=14774
i=adilger
i=johann
status of conflictness, since we are guaranteed there are no
conflicting locks in the rest of the list.
+Severity : normal
+Bugzilla : 14774
+Description: Time out and refuse to reconnect
+Details : When the failover node is the primary node, it is possible
+ to have two identical connections in imp_conn_list. We must
+ compare not conn's pointers but NIDs, otherwise we can defeat
+ connection throttling.
+
--------------------------------------------------------------------------------
2007-08-10 Cluster File Systems, Inc. <info@clusterfs.com>
struct obd_import_conn,
oic_item);
- if (imp->imp_conn_current != imp_conn) {
+ /* XXX: When the failover node is the primary node, it is possible
+ * to have two identical connections in imp_conn_list. We must
+ * compare not conn's pointers but NIDs, otherwise we can defeat
+ * connection throttling. (See bug 14774.) */
+ if (imp->imp_conn_current->oic_conn->c_self !=
+ imp_conn->oic_conn->c_self) {
ptlrpc_ping_import_soon(imp);
wake_pinger = 1;
}