Implement the new swapfile a_ops for NFS and hook up ->direct_IO. This
will set the NFS socket to SOCK_MEMALLOC and run socket reconnect
under PF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the
protocol ->connect() method.
PF_MEMALLOC should allow the allocation of struct socket and related
objects and the early (re)setting of SOCK_MEMALLOC should allow us
to receive the packets required for the TCP connection buildup.
[dfeng@xxxxxxxxxx: Fix handling of multiple swap files]
[a.p.zijlstra@xxxxxxxxx: Original patch]
Signed-off-by: Mel Gorman<mgorman@xxxxxxx>