Need a code review of the fix for CR 6788618.

Description:
If you have an IB HCA with its two ports connected
on two different subnets, nfs mounts hang if you
try to mount from an nfs server reachable only on the second
port/subnet.

The problem here is during the mount, rib_reachable() uses
rib_ping_srv() which goes through all the IP addr to check if a
server is reachable, while rib_chk_srv_ibaddr() called later
when making the connection tries only the first port's IP address.
Hence although rib_reachable() flagged that the server is reachable
over IB, the mount later hangs when later trying to make a connection.

The fix is to use a common interface for both the cases.. getting
rid of rib_chk_srv_ibaddr(), along with some cleanup.

webrev at:
http://cr.opensolaris.org/~maheshvs/6788618-webrev/

Thanks,
Mahesh

Reply via email to