All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: Dai Ngo <dai.ngo@oracle.com>
Cc: Bruce Fields <bfields@fieldses.org>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v2] NFSv4_2: SSC helper should use its own config.
Date: Thu, 28 Jan 2021 14:31:56 +0000	[thread overview]
Message-ID: <AA89E90C-36BF-4302-B782-765B2CF389CB@oracle.com> (raw)
In-Reply-To: <20210128064226.85025-1-dai.ngo@oracle.com>

Hello Dai-

> On Jan 28, 2021, at 1:42 AM, Dai Ngo <dai.ngo@oracle.com> wrote:
> 
> Currently NFSv4_2 SSC helper, nfs_ssc, incorrectly uses GRACE_PERIOD
> as its config. Fix by adding new config NFS_V4_2_SSC_HELPER which
> depends on NFS_V4_2 and is automatically selected when NFSD_V4 is
> enabled. Also removed the file name from a comment in nfs_ssc.c.
> 
> Signed-off-by: Dai Ngo <dai.ngo@oracle.com>

v2 of your patch has replaced the original version in the for-next
branch at

git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git


> ---
> fs/Kconfig              |  4 ++++
> fs/nfs/nfs4file.c       |  4 ++++
> fs/nfs/super.c          | 12 ++++++++++++
> fs/nfs_common/Makefile  |  2 +-
> fs/nfs_common/nfs_ssc.c |  2 --
> fs/nfsd/Kconfig         |  1 +
> 6 files changed, 22 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/Kconfig b/fs/Kconfig
> index aa4c12282301..a55bda4233bb 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -333,6 +333,10 @@ config NFS_COMMON
> 	depends on NFSD || NFS_FS || LOCKD
> 	default y
> 
> +config NFS_V4_2_SSC_HELPER
> +	tristate
> +	default y if NFS_V4=y || NFS_FS=y
> +
> source "net/sunrpc/Kconfig"
> source "fs/ceph/Kconfig"
> source "fs/cifs/Kconfig"
> diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c
> index 57b3821d975a..441a2fa073c8 100644
> --- a/fs/nfs/nfs4file.c
> +++ b/fs/nfs/nfs4file.c
> @@ -420,7 +420,9 @@ static const struct nfs4_ssc_client_ops nfs4_ssc_clnt_ops_tbl = {
>  */
> void nfs42_ssc_register_ops(void)
> {
> +#ifdef CONFIG_NFSD_V4
> 	nfs42_ssc_register(&nfs4_ssc_clnt_ops_tbl);
> +#endif
> }
> 
> /**
> @@ -431,7 +433,9 @@ void nfs42_ssc_register_ops(void)
>  */
> void nfs42_ssc_unregister_ops(void)
> {
> +#ifdef CONFIG_NFSD_V4
> 	nfs42_ssc_unregister(&nfs4_ssc_clnt_ops_tbl);
> +#endif
> }
> #endif /* CONFIG_NFS_V4_2 */
> 
> diff --git a/fs/nfs/super.c b/fs/nfs/super.c
> index 4034102010f0..c7a924580eec 100644
> --- a/fs/nfs/super.c
> +++ b/fs/nfs/super.c
> @@ -86,9 +86,11 @@ const struct super_operations nfs_sops = {
> };
> EXPORT_SYMBOL_GPL(nfs_sops);
> 
> +#ifdef CONFIG_NFS_V4_2
> static const struct nfs_ssc_client_ops nfs_ssc_clnt_ops_tbl = {
> 	.sco_sb_deactive = nfs_sb_deactive,
> };
> +#endif
> 
> #if IS_ENABLED(CONFIG_NFS_V4)
> static int __init register_nfs4_fs(void)
> @@ -111,15 +113,21 @@ static void unregister_nfs4_fs(void)
> }
> #endif
> 
> +#ifdef CONFIG_NFS_V4_2
> static void nfs_ssc_register_ops(void)
> {
> +#ifdef CONFIG_NFSD_V4
> 	nfs_ssc_register(&nfs_ssc_clnt_ops_tbl);
> +#endif
> }
> 
> static void nfs_ssc_unregister_ops(void)
> {
> +#ifdef CONFIG_NFSD_V4
> 	nfs_ssc_unregister(&nfs_ssc_clnt_ops_tbl);
> +#endif
> }
> +#endif /* CONFIG_NFS_V4_2 */
> 
> static struct shrinker acl_shrinker = {
> 	.count_objects	= nfs_access_cache_count,
> @@ -148,7 +156,9 @@ int __init register_nfs_fs(void)
> 	ret = register_shrinker(&acl_shrinker);
> 	if (ret < 0)
> 		goto error_3;
> +#ifdef CONFIG_NFS_V4_2
> 	nfs_ssc_register_ops();
> +#endif
> 	return 0;
> error_3:
> 	nfs_unregister_sysctl();
> @@ -168,7 +178,9 @@ void __exit unregister_nfs_fs(void)
> 	unregister_shrinker(&acl_shrinker);
> 	nfs_unregister_sysctl();
> 	unregister_nfs4_fs();
> +#ifdef CONFIG_NFS_V4_2
> 	nfs_ssc_unregister_ops();
> +#endif
> 	unregister_filesystem(&nfs_fs_type);
> }
> 
> diff --git a/fs/nfs_common/Makefile b/fs/nfs_common/Makefile
> index fa82f5aaa6d9..119c75ab9fd0 100644
> --- a/fs/nfs_common/Makefile
> +++ b/fs/nfs_common/Makefile
> @@ -7,4 +7,4 @@ obj-$(CONFIG_NFS_ACL_SUPPORT) += nfs_acl.o
> nfs_acl-objs := nfsacl.o
> 
> obj-$(CONFIG_GRACE_PERIOD) += grace.o
> -obj-$(CONFIG_GRACE_PERIOD) += nfs_ssc.o
> +obj-$(CONFIG_NFS_V4_2_SSC_HELPER) += nfs_ssc.o
> diff --git a/fs/nfs_common/nfs_ssc.c b/fs/nfs_common/nfs_ssc.c
> index f43bbb373913..7c1509e968c8 100644
> --- a/fs/nfs_common/nfs_ssc.c
> +++ b/fs/nfs_common/nfs_ssc.c
> @@ -1,7 +1,5 @@
> // SPDX-License-Identifier: GPL-2.0-only
> /*
> - * fs/nfs_common/nfs_ssc_comm.c
> - *
>  * Helper for knfsd's SSC to access ops in NFS client modules
>  *
>  * Author: Dai Ngo <dai.ngo@oracle.com>
> diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig
> index dbbc583d6273..821e5913faee 100644
> --- a/fs/nfsd/Kconfig
> +++ b/fs/nfsd/Kconfig
> @@ -76,6 +76,7 @@ config NFSD_V4
> 	select CRYPTO_MD5
> 	select CRYPTO_SHA256
> 	select GRACE_PERIOD
> +	select NFS_V4_2_SSC_HELPER if NFS_V4_2
> 	help
> 	  This option enables support in your system's NFS server for
> 	  version 4 of the NFS protocol (RFC 3530).
> -- 
> 2.9.5
> 

--
Chuck Lever




      reply	other threads:[~2021-01-28 14:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28  6:42 [PATCH v2] NFSv4_2: SSC helper should use its own config Dai Ngo
2021-01-28 14:31 ` Chuck Lever [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AA89E90C-36BF-4302-B782-765B2CF389CB@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=bfields@fieldses.org \
    --cc=dai.ngo@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.