remarkable-linux/fs/nfs
Jeff Layton ee671b016f NFS: convert proto= option to use netids rather than a protoname
Solaris uses netids as values for the proto= option, so that when
someone specifies "tcp6" they get traffic over TCP + IPv6. Until
recently, this has never really been an issue for Linux since it didn't
support NFS over IPv6. The netid and the protocol name were generally
always the same (modulo any strange configuration in /etc/netconfig).

The solaris manpage documents their proto= option as:

    proto= _netid_ | rdma

This patch is intended to bring Linux closer to how the Solaris proto=
option works, by declaring a static netid mapping in the kernel and
converting the proto= and mountproto= options to follow it and display
the proper values in /proc/mounts.

Much of this functionality will need to be provided by a userspace
mount.nfs patch. Chuck Lever has a patch to change mount.nfs in
the same way. In principle, we could do *all* of this in userspace but
that would mean that the options in /proc/mounts may not match the
options used by userspace.

The alternative to the static mapping here is to add a mechanism to
upcall to userspace for netid's. I'm not opposed to that option, but
it'll probably mean more overhead (and quite a bit more code). Rather
than shoot for that at first, I figured it was probably better to
start simply.

Comments welcome.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2009-12-03 15:58:56 -05:00
..
cache_lib.c NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04: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.c The rpc server does not require that service threads take the BKL. 2009-12-03 15:58:33 -05:00
callback.h nfs41: Backchannel: update cb_sequence args and results 2009-06-17 14:11:40 -07:00
callback_proc.c nfs41: Backchannel: CB_SEQUENCE validation 2009-06-17 14:11:43 -07:00
callback_xdr.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
client.c nfs: Avoid overrun when copying client IP address string 2009-10-06 15:42:18 -04:00
delegation.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
delegation.h NFSv4: Convert delegation->type field to fmode_t 2008-12-23 15:21:53 -05:00
dir.c NFSv4: The link() operation should return any delegation on the file 2009-10-26 08:09:46 -04:00
direct.c nfs: Panic when commit fails 2009-10-23 14:16:30 -04:00
dns_resolve.c NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
dns_resolve.h NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
file.c const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07: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 FS-Cache: Handle pages pending storage that get evicted under OOM conditions 2009-11-19 18:11:35 +00:00
fscache.h NFS: Propagate 'fsc' mount option through automounts 2009-09-23 14:36:39 -04:00
getroot.c headers: mnt_namespace.h redux 2009-07-08 09:31:56 -07:00
idmap.c SUNRPC: Replace rpc_client->cl_dentry and cl_mnt, with a cl_path 2009-08-09 15:14:24 -04:00
inode.c truncate: use new helpers 2009-09-24 08:41:47 -04:00
internal.h NFS: Allow the "nfs" file system type to support NFSv4 2009-09-08 19:50:03 -04:00
iostat.h remove put_cpu_no_resched() 2009-06-16 19:47:48 -07:00
Kconfig Merge branch 'for-2.6.31' of git://fieldses.org/git/linux-nfsd 2009-06-22 12:55:50 -07:00
Makefile NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
mount_clnt.c Merge branch 'patches_cel-for-2.6.32' into nfs-for-2.6.32 2009-08-10 17:45:50 -04:00
namespace.c NFS: Fix nfs_path() to always return a '/' at the beginning of the path 2009-06-22 21:28:25 -07:00
nfs2xdr.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
nfs3acl.c nfs: remove unnecessary NFS_INO_INVALID_ACL checks 2009-06-17 18:02:14 -07:00
nfs3proc.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
nfs3xdr.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
nfs4_fs.h NFSv4: Fix an NFSv4 mount regression 2009-07-21 16:48:07 -04:00
nfs4namespace.c NFSv4: Fix the referral mount code 2009-10-06 15:42:20 -04:00
nfs4proc.c NFSv4: Fix a cache validation bug which causes getcwd() to return ENOENT 2009-11-11 16:15:42 +09:00
nfs4renewd.c NFSv4: Kill nfs4_renewd_prepare_shutdown() 2009-10-08 11:50:55 -04:00
nfs4state.c const: make file_lock_operations const 2009-09-22 07:17:25 -07:00
nfs4xdr.c NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE 2009-10-23 14:46:42 -04:00
nfsroot.c NFS: Update MNT and MNT3 reply decoding functions 2009-06-17 18:02:13 -07:00
pagelist.c NFS: Throttle page dirtying while we're flushing to disk 2009-03-11 14:10:30 -04:00
proc.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
read.c NFS: Fix an O_DIRECT Oops... 2009-08-12 08:21:39 -07:00
super.c NFS: convert proto= option to use netids rather than a protoname 2009-12-03 15:58:56 -05:00
symlink.c nfs: remove unnecessary NFS_NEED_* defines 2008-04-23 16:13:37 -04:00
sysctl.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
unlink.c nfs41: use rpc prepare call state for session reset 2009-06-17 12:25:07 -07:00
write.c writeback: get rid of wbc->for_writepages 2009-09-16 15:16:18 +02:00