Add automatic reconnect after TCP session failure for the sync interface.
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Sun, 31 Jul 2011 00:46:34 +0000 (10:46 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Sun, 31 Jul 2011 00:49:47 +0000 (10:49 +1000)
commitb077fdeb65aca9d9bc15fcd311372816d87dc213
tree624770f0b885a1b7db90a927afb8a8ea4fa00945
parent48593f566ff9e0fee6544ba03478cb996380eaf7
Add automatic reconnect after TCP session failure for the sync interface.

Once a NFS TCP connection has been idle for a very long time, say
10-15 minutes, it is common that NFS servers will tear down the TCP connection.
So add code to re-connect to the NFS server and re-issue any i/o that might have been in flight (unlikely unless the server has hung)

While it is sufficient to just reconnect to tcp port 2049, it was much simplet to just utilize the nfs_mount() function.
This means that instead of just reconnecting TCP port 2049, we do a full blown
nfs mount via portmapper and mountd protocols.
include/libnfs-private.h
lib/libnfs-sync.c
lib/libnfs.c
lib/socket.c