Revision tags: v3.6-rc5, v3.6-rc4, v3.6-rc3, v3.6-rc2 |
|
#
2a369153 |
| 13-Aug-2012 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFS: Clean up helper function nfs4_select_rw_stateid()
We want to be able to pass on the information that the page was not dirtied under a lock. Instead of adding a flag parameter, do this by passin
NFS: Clean up helper function nfs4_select_rw_stateid()
We want to be able to pass on the information that the page was not dirtied under a lock. Instead of adding a flag parameter, do this by passing a pointer to a 'struct nfs_lock_owner' that may be NULL.
Also reuse this structure in struct nfs_lock_context to carry the fl_owner_t and pid_t.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
1ae811ee |
| 08-Aug-2012 |
bjschuma@gmail.com <bjschuma@gmail.com> |
NFS: Fix a regression when loading the NFS v4 module
Some systems have a modprobe.d/nfs.conf file that sets an nfs4 alias pointing to nfs.ko, rather than nfs4.ko. This can prevent the v4 module fro
NFS: Fix a regression when loading the NFS v4 module
Some systems have a modprobe.d/nfs.conf file that sets an nfs4 alias pointing to nfs.ko, rather than nfs4.ko. This can prevent the v4 module from loading on mount, since the kernel sees that something named "nfs4" has already been loaded. To work around this, I've renamed the modules to "nfsv2.ko" "nfsv3.ko" and "nfsv4.ko".
I also had to move the nfs4_fs_type back to nfs.ko to ensure that `mount -t nfs4` still works.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v3.6-rc1 |
|
#
89d77c8f |
| 30-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Convert v4 into a module
This patch exports symbols needed by the v4 module. In addition, I also switch over to using IS_ENABLED() to check if CONFIG_NFS_V4 or CONFIG_NFS_V4_MODULE are set.
T
NFS: Convert v4 into a module
This patch exports symbols needed by the v4 module. In addition, I also switch over to using IS_ENABLED() to check if CONFIG_NFS_V4 or CONFIG_NFS_V4_MODULE are set.
The module (nfs4.ko) will be created in the same directory as nfs.ko and will be automatically loaded the first time you try to mount over NFS v4.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
fac1e8e4 |
| 30-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Keep module parameters in the generic NFS client
Otherwise we break backwards compatibility when v4 becomes a modules. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
19d87ca3 |
| 30-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Split out remaining NFS v4 inode functions
Somehow I missed this in my previous patch series, but these functions are only needed by the v4 code and should be moved to a v4-only file. I wasn't
NFS: Split out remaining NFS v4 inode functions
Somehow I missed this in my previous patch series, but these functions are only needed by the v4 code and should be moved to a v4-only file. I wasn't exactly sure where I should put these functions, so I moved them into nfs4super.c where I could make them static.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
ff9099f2 |
| 30-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Create a try_mount rpc op
I'm already looking up the nfs subversion in nfs_fs_mount(), so I have easy access to rpc_ops that used to be difficult to reach. This allows me to set up a different
NFS: Create a try_mount rpc op
I'm already looking up the nfs subversion in nfs_fs_mount(), so I have easy access to rpc_ops that used to be difficult to reach. This allows me to set up a different mount path for NFS v2/3 and NFS v4.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
ab7017a3 |
| 30-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Add version registering framework
This patch adds in the code to track multiple versions of the NFS protocol. I created default structures for v2, v3 and v4 so that each version can continue t
NFS: Add version registering framework
This patch adds in the code to track multiple versions of the NFS protocol. I created default structures for v2, v3 and v4 so that each version can continue to work while I convert them into kernel modules. I also removed the const parameter from the rpc_version array so that I can change it at runtime.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
0add3e85 |
| 27-Jul-2012 |
Randy Dunlap <rdunlap@xenotime.net> |
nfs: fix stub return type warnings
Fix numerous repeated warnings by making the stub function void instead of non-void:
fs/nfs/nfs4_fs.h: In function 'nfs4_unregister_sysctl': fs/nfs/nfs4_fs.h:385:
nfs: fix stub return type warnings
Fix numerous repeated warnings by making the stub function void instead of non-void:
fs/nfs/nfs4_fs.h: In function 'nfs4_unregister_sysctl': fs/nfs/nfs4_fs.h:385:1: warning: no return statement in function returning non-void
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v3.5 |
|
#
fbdefd64 |
| 16-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Split out the NFS v4 filesystem types
This allows me to move the v4 mounting and unmounting functions out of the generic client and into a file that is only compiled when CONFIG_NFS_V4 is enabl
NFS: Split out the NFS v4 filesystem types
This allows me to move the v4 mounting and unmounting functions out of the generic client and into a file that is only compiled when CONFIG_NFS_V4 is enabled.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
466bfe7f |
| 16-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Initialize v4 sysctls from nfs_init_v4()
And split them out of the generic client into their own file.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Tron
NFS: Initialize v4 sysctls from nfs_init_v4()
And split them out of the generic client into their own file.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
129d1977 |
| 16-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Create an init_nfs_v4() function
I want to initialize all of NFS v4 in a single function that will eventually be used as the v4 module init function.
Signed-off-by: Bryan Schumaker <bjschuma@n
NFS: Create an init_nfs_v4() function
I want to initialize all of NFS v4 in a single function that will eventually be used as the v4 module init function.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
73a79706 |
| 16-Jul-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Split out NFS v4 inode operations
The NFS v4 file inode operations are already already in nfs4proc.c, so this patch just needs to move the directory operations to the same file.
Signed-off-by:
NFS: Split out NFS v4 inode operations
The NFS v4 file inode operations are already already in nfs4proc.c, so this patch just needs to move the directory operations to the same file.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v3.5-rc7, v3.5-rc6, v3.5-rc5, v3.5-rc4 |
|
#
a8d8f02c |
| 20-Jun-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Create custom NFS v4 write_inode() function
This gives pnfs a chance to do a layout commit inside the v4 code.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebu
NFS: Create custom NFS v4 write_inode() function
This gives pnfs a chance to do a layout commit inside the v4 code.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
6663ee7f |
| 20-Jun-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Create an alloc_client rpc_op
This gives NFS v4 a way to set up callbacks and sessions without v2 or v3 having to do them as well.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-o
NFS: Create an alloc_client rpc_op
This gives NFS v4 a way to set up callbacks and sessions without v2 or v3 having to do them as well.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
cdb7eced |
| 20-Jun-2012 |
Bryan Schumaker <bjschuma@netapp.com> |
NFS: Create a free_client rpc_op
NFS v4 needs a way to shut down callbacks and sessions, but v2 and v3 don't.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Tr
NFS: Create a free_client rpc_op
NFS v4 needs a way to shut down callbacks and sessions, but v2 and v3 don't.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
Revision tags: v3.5-rc3, v3.5-rc2 |
|
#
1549210f |
| 05-Jun-2012 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4: Fix an Oops in the open recovery code
The open recovery code does not need to request a new value for the mdsthreshold, and so does not allocate a struct nfs4_threshold. The problem is that e
NFSv4: Fix an Oops in the open recovery code
The open recovery code does not need to request a new value for the mdsthreshold, and so does not allocate a struct nfs4_threshold. The problem is that encode_getfattr_open() will still request an mdsthreshold, and so we end up Oopsing in decode_attr_mdsthreshold.
This patch fixes encode_getfattr_open so that it doesn't request an mdsthreshold when the caller isn't asking for one. It also fixes decode_attr_mdsthreshold so that it errors if the server returns an mdsthreshold that we didn't ask for (instead of Oopsing).
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Andy Adamson <andros@netapp.com>
show more ...
|
Revision tags: v3.5-rc1 |
|
#
9f594791 |
| 27-May-2012 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4.1: Handle other occurrences of NFS4ERR_CONN_NOT_BOUND_TO_SESSION
Let nfs4_schedule_session_recovery() handle the details of choosing between resetting the session, and other session related re
NFSv4.1: Handle other occurrences of NFS4ERR_CONN_NOT_BOUND_TO_SESSION
Let nfs4_schedule_session_recovery() handle the details of choosing between resetting the session, and other session related recovery.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
66245539 |
| 25-May-2012 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4.1: Add DESTROY_CLIENTID
Ensure that we destroy our lease on last unmount
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
2cf047c9 |
| 25-May-2012 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4.1: Ensure we use the correct credentials for bind_conn_to_session
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Weston Andros Adamson <dros@netapp.com>
|
#
848f5bda |
| 25-May-2012 |
Trond Myklebust <Trond.Myklebust@netapp.com> |
NFSv4.1: Ensure we use the correct credentials for session create/destroy
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
a9e64442 |
| 24-May-2012 |
Weston Andros Adamson <dros@netapp.com> |
nfs41: Use BIND_CONN_TO_SESSION for CB_PATH_DOWN*
The state manager can handle SEQ4_STATUS_CB_PATH_DOWN* flags with a BIND_CONN_TO_SESSION instead of destroying the session and creating a new one.
nfs41: Use BIND_CONN_TO_SESSION for CB_PATH_DOWN*
The state manager can handle SEQ4_STATUS_CB_PATH_DOWN* flags with a BIND_CONN_TO_SESSION instead of destroying the session and creating a new one.
Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
7c44f1ae |
| 24-May-2012 |
Weston Andros Adamson <dros@netapp.com> |
nfs4.1: add BIND_CONN_TO_SESSION operation
This patch adds the BIND_CONN_TO_SESSION operation which is needed for upcoming SP4_MACH_CRED work and useful for recovering from broken connections withou
nfs4.1: add BIND_CONN_TO_SESSION operation
This patch adds the BIND_CONN_TO_SESSION operation which is needed for upcoming SP4_MACH_CRED work and useful for recovering from broken connections without destroying the session.
Signed-off-by: Weston Andros Adamson <dros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
2c820d9a |
| 21-May-2012 |
Chuck Lever <chuck.lever@oracle.com> |
NFS: Force server to drop NFSv4 state
nfs4_reset_all_state() refreshes the boot verifier a server sees to trigger that server to wipe this client's state. This function is invoked when an NFSv4.1 s
NFS: Force server to drop NFSv4 state
nfs4_reset_all_state() refreshes the boot verifier a server sees to trigger that server to wipe this client's state. This function is invoked when an NFSv4.1 server reports that it has revoked some or all of a client's NFSv4 state.
To facilitate server trunking discovery, we will eventually want to move the cl_boot_time field to a more global structure. The Uniform Client String model (and specifically, server trunking detection) requires that all servers see the same boot verifier until the client actually does reboot, and not a fresh verifier every time the client unmounts and remounts the server.
Without the cl_boot_time field, however, nfs4_reset_all_state() will have to find some other way to force the server to purge the client's NFSv4 state.
Because these verifiers are opaque (ie, the server doesn't know or care that they happen to be timestamps), we can force the server to wipe NFSv4 state by updating the boot verifier as we do now, then immediately afterwards establish a fresh client ID using the old boot verifier again.
Hopefully there are no extra paranoid server implementations that keep track of the client's boot verifiers and prevent clients from reusing a previous one.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|
#
ce1c8fc1 |
| 21-May-2012 |
Chuck Lever <chuck.lever@oracle.com> |
NFS: Remove nfs_unique_id
Clean up: this structure is unused.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
#
79d4e1f0 |
| 21-May-2012 |
Chuck Lever <chuck.lever@oracle.com> |
NFS: Use proper naming conventions for NFSv4.1 server scope fields
Clean up: When naming fields and data types, follow established conventions to facilitate accurate grep/cscope searches.
Addition
NFS: Use proper naming conventions for NFSv4.1 server scope fields
Clean up: When naming fields and data types, follow established conventions to facilitate accurate grep/cscope searches.
Additionally, for consistency, move the scope field into the NFSv4- specific part of the nfs_client, and free that memory in the logic that shuts down NFSv4 nfs_clients.
Introduced by commit 99fe60d0 "nfs41: exchange_id operation", April 1 2009.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
show more ...
|