2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 10:44:14 +08:00
linux-next/fs/nfs
Weston Andros Adamson 7e574f0d39 NFS: pnfs: loop over multipath addrs on connect
Don't just use the first addr in the multipath list - instead, loop
over addresses when calling nfs4_set_ds_client() (which calls connect)
until it is successful.

Although this is not real multipath support, it's a quick fix to handle when
an MDS sends a list of addresses for a DS and some of the addr families are
unsupported or misconfigured (like no routable ipv6 addr assigned).
This will attempt all paths to the DS before giving up, instead of immediately
falling back to the MDS.

As before, an error encountered after a successful connect() will cause all
i/o to fall back to the MDS.

Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2011-07-12 13:40:27 -04:00
..
objlayout NFSv4.1: Fix some issues with pnfs_generic_pg_test 2011-06-21 11:54:05 -04:00
cache_lib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cache_lib.h NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
callback_proc.c pnfs: Use byte-range for cb_layoutrecall 2011-05-29 20:52:34 +03:00
callback_xdr.c pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
callback.c NFS do not find client in NFSv4 pg_authenticate 2011-01-25 15:26:51 -05:00
callback.h pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
client.c NFSv4.1: purge deviceid cache on nfs_free_client 2011-05-29 20:50:42 +03:00
delegation.c nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu() 2011-05-27 17:42:46 -04:00
delegation.h NFS: Move cl_delegations to the nfs_server struct 2011-01-06 14:57:46 -05:00
dir.c Merge branch 'pnfs-submit' of git://git.open-osd.org/linux-open-osd 2011-05-29 14:10:13 -07:00
direct.c NFS: account direct-io into task io accounting 2011-03-11 15:39:27 -05:00
dns_resolve.c sunrpc: use seconds since boot in expiry cache 2010-09-07 19:21:20 -04:00
dns_resolve.h NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
file.c Fix common misspellings 2011-03-31 11:26:23 -03:00
fscache-index.c NFS: Add read context retention for FS-Cache to call back with 2009-04-03 16:42:44 +01:00
fscache.c NFS: Squelch compiler warning 2010-05-14 15:09:31 -04:00
fscache.h NFS: Propagate 'fsc' mount option through automounts 2009-09-23 14:36:39 -04:00
getroot.c Merge branch 'nfs-for-2.6.39' into nfs-for-next 2011-03-24 17:03:14 -04:00
idmap.c NFSv4: Send unmapped uid/gids to the server when using auth_sys 2011-03-11 15:39:27 -05:00
inode.c NFSv4.1: allow nfs_fhget to succeed with mounted on fileid 2011-06-15 11:24:29 -04:00
internal.h NFSv4.1: allow nfs_fhget to succeed with mounted on fileid 2011-06-15 11:24:29 -04:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig pnfs-obj: objlayoutdriver module skeleton 2011-05-29 20:52:35 +03:00
Makefile pnfs-obj: objlayoutdriver module skeleton 2011-05-29 20:52:35 +03:00
mount_clnt.c NFS: Remove redundant unlikely() 2010-12-21 11:51:23 -05:00
namespace.c NFS: Remove unused argument from nfs_find_best_sec() 2011-04-12 19:34:23 -04:00
nfs2xdr.c Merge branch 'bugfixes' into nfs-for-2.6.38 2011-01-10 14:48:02 -05:00
nfs3acl.c NFS: Prevent memory allocation failure in nfsacl_encode() 2011-01-25 15:24:47 -05:00
nfs3proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
nfs3xdr.c NFS: Fix "kernel BUG at fs/nfs/nfs3xdr.c:1338!" 2011-01-25 15:24:47 -05:00
nfs4_fs.h NFSv4.1: Don't loop forever in nfs4_proc_create_session 2011-04-24 14:28:18 -04:00
nfs4filelayout.c NFS: pnfs IPv6 support 2011-07-12 13:40:26 -04:00
nfs4filelayout.h NFS: Parse and store all multipath DS addresses 2011-07-12 13:40:27 -04:00
nfs4filelayoutdev.c NFS: pnfs: loop over multipath addrs on connect 2011-07-12 13:40:27 -04:00
nfs4namespace.c nfs: nfs_do_{ref,sub}mount() superblock argument is redundant 2011-03-16 16:48:06 -04:00
nfs4proc.c nfs4.1: fix several problems with _pnfs_return_layout 2011-06-15 11:24:30 -04:00
nfs4renewd.c NFSv4.1: new flag for state renewal check 2011-03-11 15:38:41 -05:00
nfs4state.c NFSv4.1: Fix the handling of NFS4ERR_SEQ_MISORDERED errors 2011-05-27 17:42:01 -04:00
nfs4xdr.c NFSv4.1: update nfs4_fattr_bitmap_maxsz 2011-07-11 19:14:38 -04:00
nfsroot.c NFS: Revert NFSROOT default mount options 2011-05-27 17:42:47 -04:00
pagelist.c NFSv4.1: file layout must consider pg_bsize for coalescing 2011-06-20 16:12:26 -04:00
pnfs_dev.c NFSv4.1: Fix a refcounting issue in the pNFS device id cache 2011-06-15 11:24:29 -04:00
pnfs.c NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test 2011-06-21 11:54:06 -04:00
pnfs.h NFS: fix umount of pnfs filesystems 2011-06-15 11:23:02 -04:00
proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
read.c NFSv4.1: unify pnfs_pageio_init functions 2011-05-29 20:56:43 +03:00
super.c pnfs: client stats 2011-05-29 20:52:34 +03:00
symlink.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysctl.c NFS: new idmapper 2010-10-07 18:48:49 -04:00
unlink.c nfs: store devname at disconnected NFS roots 2011-03-16 16:44:24 -04:00
write.c pnfs: write: Set mds_offset in the generic layer - it is needed by all LDs 2011-06-28 14:12:11 -04:00