From: hejianet <hejianet@gmail.com>
To: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
Andrew Morton <akpm@linux-foundation.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Serge Hallyn <serge@hallyn.com>,
"David S. Miller" <davem@davemloft.net>,
Alexey Dobriyan <adobriyan@gmail.com>,
Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Al Viro <viro@zeniv.linux.org.uk>,
Mel Gorman <mgorman@techsingularity.net>,
Kees Cook <keescook@chromium.org>,
Hugh Dickins <hughd@google.com>,
Daniel Bristot de Oliveira <bristot@redhat.com>,
Daniel Cashman <dcashman@google.com>,
Arnd Bergmann <arnd@arndb.de>,
"J. Bruce Fields" <bfields@fieldses.org>,
Jeff Layton <jlayton@poochiereds.net>,
Trond Myklebust <trond.myklebust@primarydata.com>,
Anna Schumaker <anna.schumaker@netapp.com>
Subject: Re: [PATCH v5 0/2] change the proc handler for nsm_use_hostnames
Date: Wed, 4 Jan 2017 14:35:02 +0800 [thread overview]
Message-ID: <a13bbd2b-545e-284f-bb63-269309082c3e@gmail.com> (raw)
In-Reply-To: <1481786661-973-1-git-send-email-hejianet@gmail.com>
Ping, any comments are welcome. Thanks
B.R.
Jia
On 15/12/2016 3:24 PM, Jia He wrote:
> nsm_use_hostnames is a module parameter and it will be exported to sysctl
> procfs. This is to let user sometimes change it from userspace. But the
> minimal unit for sysctl procfs read/write it sizeof(int).
> In big endian system, the converting from/to bool to/from int will cause
> error for proc items.
>
> This patch introduces a new proc handler proc_dobool for nsm_use_hostnames.
>
> Changes:
> v5: Fix compilation error when CONFIG_PROC_SYSCTL is not set
> v4: Change (u8 *) to (bool *)
> v3: Introduce a new proc handler proc_dou8vec(suggested by Xinhui Pan)
> v2: Change extern type in lockd.h
>
> The test case I used:
> /***************************************************************/
> #include <linux/kernel.h>
> #include <linux/module.h>
> #include <linux/sysctl.h>
>
> bool __read_mostly nsm_use_hostnames;
> module_param(nsm_use_hostnames, bool, 0644);
>
> static struct ctl_table my_sysctl[] = {
> {
> .procname = "nsm_use_hostnames",
> .data = &nsm_use_hostnames,
> .maxlen = sizeof(int),
> .mode = 0644,
> .proc_handler = &proc_dointvec,
> },
> {}
> };
>
> static struct ctl_table my_root[] = {
> {
> .procname = "mysysctl",
> .mode = 0555,
> .child = my_sysctl,
> },
> {}
> };
>
> static struct ctl_table_header * my_ctl_header;
>
> static int __init sysctl_exam_init(void)
> {
> my_ctl_header = register_sysctl_table(&my_root);
> if (my_ctl_header == NULL)
> printk("error regiester sysctl");
>
> return 0;
> }
>
> static void __exit sysctl_exam_exit(void)
> {
> unregister_sysctl_table(my_ctl_header);
> }
>
> module_init(sysctl_exam_init);
> module_exit(sysctl_exam_exit);
> MODULE_LICENSE("GPL");
> /****************************************************************/
>
> [root@bigendian my]# insmod -f /root/my/hello.ko nsm_use_hostnames=1
> [root@bigendian my]# cat /proc/sys/mysysctl/nsm_use_hostnames
> 16777216
>
> After I change the proc_dointvec to new handler proc_dou8vec with the
> patch:
> [root@bigendian my]# insmod -f /root/my/hello.ko nsm_use_hostnames=1
> [root@bigendian my]# cat /proc/sys/mysysctl/nsm_use_hostnames
> 1
>
> In little endian system, there is no such issue.
> Already tested in both of big and little endian(ppc64 and ppc64le)
>
> Jia He (2):
> sysctl: introduce new proc handler proc_dobool
> lockd: change the proc_handler for nsm_use_hostnames
>
> fs/lockd/svc.c | 2 +-
> include/linux/sysctl.h | 2 ++
> kernel/sysctl.c | 41 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 44 insertions(+), 1 deletion(-)
prev parent reply other threads:[~2017-01-04 6:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-15 7:24 [PATCH v5 0/2] change the proc handler for nsm_use_hostnames Jia He
2016-12-15 7:24 ` [PATCH v5 1/2] sysctl: introduce new proc handler proc_dobool Jia He
2016-12-15 8:13 ` Pan Xinhui
2017-01-04 21:09 ` J. Bruce Fields
2017-01-05 2:45 ` hejianet
2016-12-15 7:24 ` [PATCH v5 2/2] lockd: change the proc_handler for nsm_use_hostnames Jia He
2016-12-15 8:11 ` Pan Xinhui
2017-01-04 6:35 ` hejianet [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=a13bbd2b-545e-284f-bb63-269309082c3e@gmail.com \
--to=hejianet@gmail.com \
--cc=acme@redhat.com \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=anna.schumaker@netapp.com \
--cc=arnd@arndb.de \
--cc=bfields@fieldses.org \
--cc=bristot@redhat.com \
--cc=davem@davemloft.net \
--cc=dcashman@google.com \
--cc=dmitry.torokhov@gmail.com \
--cc=ebiederm@xmission.com \
--cc=hughd@google.com \
--cc=jlayton@poochiereds.net \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=mgorman@techsingularity.net \
--cc=serge@hallyn.com \
--cc=subashab@codeaurora.org \
--cc=trond.myklebust@primarydata.com \
--cc=viro@zeniv.linux.org.uk \
/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.