Re: [PATCH 3/4 RESEND] nfs4: Move nfs4_setup_state_renewal

Schumaker, Anna
2019-06-28T18:29:52Z

Hi Donald,

On Fri, 2019-06-28 at 14:36 +0200, Donald Buczek wrote:
> The function nfs4_setup_state_renewal is to be used by
> nfs4_init_clientid. Move it further to the top of the source file to
> include it regardles of CONFIG_NFS_V4_1 and to save a forward
> declaration. No code changed.
>
> Signed-off-by: Donald Buczek <buczek@molgen.mpg.de>
> ---
> fs/nfs/nfs4state.c | 42 +++++++++++++++++++++---------------------
> 1 file changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
> index 778ebfb00d13..c2df257f426f 100644
> --- a/fs/nfs/nfs4state.c
> +++ b/fs/nfs/nfs4state.c
> @@ -87,6 +87,27 @@ const nfs4_stateid current_stateid = {
>
> static DEFINE_MUTEX(nfs_clid_init_mutex);
>
> +static int nfs4_setup_state_renewal(struct nfs_client *clp)
> +{
> + int status;
> + struct nfs_fsinfo fsinfo;
> + unsigned long now;
> +
> + if (!test_bit(NFS_CS_CHECK_LEASE_TIME, &clp->cl_res_state)) {
> + nfs4_schedule_state_renewal(clp);
> + return 0;
> + }
> +
> + now = jiffies;
> + status = nfs4_proc_get_lease_time(clp, &fsinfo);

nfs4_proc_get_lease_time() is defined under a CONFIG_NFS_V4_1 block, so
this still won't compile. As far as I can tell, there isn't anything
v4.1 specific to nfs4_proc_get_lease_time() and the corresponding xdr
code so it's probably safe to move all this out too.

Anna

> + if (status == 0) {
> + nfs4_set_lease_period(clp, fsinfo.lease_time * HZ,
> now);
> + nfs4_schedule_state_renewal(clp);
> + }
> +
> + return status;
> +}
> +
> int nfs4_init_clientid(struct nfs_client *clp, const struct cred
> *cred)
> {
> struct nfs4_setclientid_res clid = {
> @@ -286,27 +307,6 @@ static int nfs4_begin_drain_session(struct
> nfs_client *clp)
>
> #if defined(CONFIG_NFS_V4_1)
>
> -static int nfs4_setup_state_renewal(struct nfs_client *clp)
> -{
> - int status;
> - struct nfs_fsinfo fsinfo;
> - unsigned long now;
> -
> - if (!test_bit(NFS_CS_CHECK_LEASE_TIME, &clp->cl_res_state)) {
> - nfs4_schedule_state_renewal(clp);
> - return 0;
> - }
> -
> - now = jiffies;
> - status = nfs4_proc_get_lease_time(clp, &fsinfo);
> - if (status == 0) {
> - nfs4_set_lease_period(clp, fsinfo.lease_time * HZ,
> now);
> - nfs4_schedule_state_renewal(clp);
> - }
> -
> - return status;
> -}
> -
> static void nfs41_finish_session_reset(struct nfs_client *clp)
> {
> clear_bit(NFS4CLNT_LEASE_CONFIRM, &clp->cl_state);