linux/fs/nfs
Sachin Bhamare 18d98f6c04 pnfs-obj: autologin: Add support for protocol autologin
The pnfs-objects protocol mandates that we autologin into devices not
present in the system, according to information specified in the
get_device_info returned from the server.

The Protocol specifies two login hints.
1. An IP address:port combination
2. A string URI which is constructed as a URL with a protocol prefix
   followed by :// and a string as address. For each  protocol prefix
   the string-address format might be different.

We only support the second option. The first option is just redundant
to the second one.
NOTE: The Kernel part of autologin does not parse the URI string. It
just channels it to a user-mode script. So any new login protocols should
only update the user-mode script which is a part of the nfs-utils package,
but the Kernel need not change.

We implement the autologin by using the call_usermodehelper() API.
(Thanks to Steve Dickson <steved@redhat.com> for pointing it out)
So there is no running daemon needed, and/or special setup.

We Add the osd_login_prog Kernel module parameters which defaults to:
	/sbin/osd_login

Kernel try's to upcall the program specified in osd_login_prog. If the file is
not found or the execution fails Kernel will disable any farther upcalls, by
zeroing out  osd_login_prog, Until Admin re-enables it by setting the
osd_login_prog parameter to a proper program.

Also add text about the osd_login program command line API to:
	Documentation/filesystems/nfs/pnfs.txt
and documentation of the new  osd_login_prog  module parameter to:
	Documentation/kernel-parameters.txt

TODO: Add timeout option in the case osd_login program gets
              stuck

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-03-21 09:31:47 -04:00
..
blocklayout NFS: Fix more NFS debug related build warnings 2012-03-21 09:31:44 -04:00
objlayout pnfs-obj: autologin: Add support for protocol autologin 2012-03-21 09:31:47 -04:00
cache_lib.c NFS: remove RPC PipeFS mount point references from NFS cache routines 2012-01-31 18:20:26 -05:00
cache_lib.h NFS: DNS resolver PipeFS notifier introduced 2012-01-31 18:20:26 -05:00
callback_proc.c NFSv4: Further clean-ups of delegation stateid validation 2012-03-06 10:32:44 -05:00
callback_xdr.c NFSv4: Rate limit the state manager warning messages 2012-03-12 18:15:22 -04:00
callback.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
callback.h NFSv4.1: Convert slotid from u8 to u32 2012-02-15 00:19:43 -05:00
client.c NFS: Only define some function when v4.1 is enabled 2012-03-12 12:51:40 -04:00
delegation.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
delegation.h NFSv4.0: Re-establish the callback channel on NFS4ERR_CB_PATHDOWN 2012-03-10 11:54:36 -05:00
dir.c NFS: Make nfs_cache_array.size a signed integer 2012-03-02 15:36:13 -05:00
direct.c NFS: Remove nfs4_setup_sequence from generic read code 2012-03-21 09:31:45 -04:00
dns_resolve.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
dns_resolve.h NFS: DNS resolver cache per network namespace context introduced 2012-01-31 18:20:26 -05:00
file.c NFS: Ensure that mmapped pages remain stable during writeback 2012-01-31 19:28:08 -05:00
fscache-index.c NFS: Use the inode->i_version to cache NFSv4 change attribute information 2011-10-18 09:14:34 -07:00
fscache.c NFS: Fix more NFS debug related build warnings 2012-03-21 09:31:44 -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 NFS: Check return value from rpc_queue_upcall() 2012-03-12 12:51:42 -04:00
inode.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
internal.h NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code 2012-03-17 11:09:33 -04:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
Makefile pnfsblock: add blocklayout Kconfig option, Makefile, and stubs 2011-07-31 12:18:15 -04:00
mount_clnt.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
namespace.c nfs: Clean up debugging in nfs_follow_mountpoint() 2012-02-16 15:05:16 -05:00
netns.h NFS: replace global bl_wq with per-net one 2012-03-11 10:57:35 -04:00
nfs2xdr.c SUNRPC: constify the rpc_program 2012-01-31 19:28:20 -05:00
nfs3acl.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
nfs3proc.c NFS: Remove nfs4_setup_sequence from generic rename code 2012-03-21 09:31:46 -04:00
nfs3xdr.c SUNRPC: constify the rpc_program 2012-01-31 19:28:20 -05:00
nfs4_fs.h NFSv4: It is not safe to dereference lsp->ls_state in release_lockowner 2012-03-20 13:08:25 -04:00
nfs4filelayout.c NFS: Use cond_resched_lock() to reduce latencies in the commit scans 2012-03-20 13:08:26 -04:00
nfs4filelayout.h NFS: remove nfs_inode radix tree 2012-03-10 17:14:10 -05:00
nfs4filelayoutdev.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
nfs4namespace.c SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field 2012-03-02 15:36:38 -05:00
nfs4proc.c NFS: Remove nfs4_setup_sequence from generic rename code 2012-03-21 09:31:46 -04:00
nfs4renewd.c NFSv4: The NFSv4.0 client must send RENEW calls if it holds a delegation 2011-08-24 15:07:37 -04:00
nfs4state.c NFSv4: It is not safe to dereference lsp->ls_state in release_lockowner 2012-03-20 13:08:25 -04:00
nfs4xdr.c NFS: Fix a compile error when !defined NFS_DEBUG 2012-03-14 21:55:01 -04:00
nfsroot.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
pagelist.c NFS: remove nfs_inode radix tree 2012-03-10 17:14:10 -05:00
pnfs_dev.c NFS: Fix more NFS debug related build warnings 2012-03-21 09:31:44 -04:00
pnfs.c NFSv4.1: Clean ups and bugfixes for the pNFS read/writeback/commit code 2012-03-17 11:09:33 -04:00
pnfs.h NFS: Fix more NFS debug related build warnings 2012-03-21 09:31:44 -04:00
proc.c NFS: Remove nfs4_setup_sequence from generic rename code 2012-03-21 09:31:46 -04:00
read.c NFS: Remove nfs4_setup_sequence from generic read code 2012-03-21 09:31:45 -04:00
super.c NFS: Fix a compile issue when !CONFIG_NFS_V4_1 2012-03-05 15:27:01 -05: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: Fall back on old idmapper if request_key() fails 2012-02-06 18:48:01 -05:00
unlink.c NFS: Remove nfs4_setup_sequence from generic rename code 2012-03-21 09:31:46 -04:00
write.c NFS: Remove nfs4_setup_sequence from generic write code 2012-03-21 09:31:45 -04:00