History log of /net/rds/transport.c
Revision Date Author Comments
5adb5bc65f93e52341c3fc9d03d4030dd375e256 23-Jul-2010 Zach Brown <zach.brown@oracle.com> RDS: have sockets get transport module references

Right now there's nothing to stop the various paths that use
rs->rs_transport from racing with rmmod and executing freed transport
code. The simple fix is to have binding to a transport also hold a
reference to the transport's module, removing this class of races.

We already had an unused t_owner field which was set for the modular
transports and which wasn't set for the built-in loop transport.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
335776bd696a6bf95134baf8ad95847371e4d5f6 21-Aug-2009 Andy Grover <andy.grover@oracle.com> RDS: Track transports via an array, not a list

Now that transports can be loaded in arbitrary order,
it is important for rds_trans_get_preferred() to look
for them in a particular order, instead of walking the list
until it finds a transport that works for a given address.
Now, each transport registers for a specific transport slot,
and these are ordered so that preferred transports come first,
and then if they are not loaded, other transports are queried.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
616b757ae18fb8ec2dfe7ff9d3f589f82cb0eb9d 21-Aug-2009 Andy Grover <andy.grover@oracle.com> RDS: Export symbols from core RDS

Now that rdma and tcp transports will be modularized,
we need to export a number of functions so they can call them.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
0fbc78cbf51f3edee17c2ede42c7b3c13736158a 24-Feb-2009 Andy Grover <andy.grover@oracle.com> RDS: Transport code

RDS supports multiple transports. While this initial submission
only supports Infiniband transport, this abstraction allows others
to be added. We're working on an iWARP transport, and also see
UDP over DCB as another possibility.

This code handles transport registration.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>