ocfs2: fix subdirectory registration with register_sysctl()
The kernel test robot reports that commitc42ff46f97
("ocfs2: simplify subdirectory registration with register_sysctl()") is broken, and results in kernel warning messages like sysctl table check failed: fs/ocfs2/nm Not a file sysctl table check failed: fs/ocfs2/nm No proc_handler sysctl table check failed: fs/ocfs2/nm bogus .mode 0555 and in fact this was already reported back in linux-next, but nobody seems to have reacted to that report. Possibly that original report only ever made it to the lkp list. The problem seems to be that the simplification didn't actually go far enough, and should have converted the whole directory path to the final sysctl file, rather than just the two first components. So take that last step. Fixes:c42ff46f97
("ocfs2: simplify subdirectory registration with register_sysctl()") Reported-by: kernel test robot <oliver.sang@intel.com> Link: https://lore.kernel.org/all/20220128065310.GF8421@xsang-OptiPlex-9020/ Link: https://lists.01.org/hyperkitty/list/lkp@lists.01.org/thread/KQ2F6TPJWMDVEXJM4WTUC4DU3EH3YJVT/ Tested-by: Jan Kara <jack@suse.cz> Reviewed-by: Jan Kara <jack@suse.cz> Cc: Luis Chamberlain <mcgrof@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4897e722b5
commit
f6a26318e3
|
@ -661,17 +661,6 @@ static struct ctl_table ocfs2_nm_table[] = {
|
|||
{ }
|
||||
};
|
||||
|
||||
static struct ctl_table ocfs2_mod_table[] = {
|
||||
{
|
||||
.procname = "nm",
|
||||
.data = NULL,
|
||||
.maxlen = 0,
|
||||
.mode = 0555,
|
||||
.child = ocfs2_nm_table
|
||||
},
|
||||
{ }
|
||||
};
|
||||
|
||||
static struct ctl_table_header *ocfs2_table_header;
|
||||
|
||||
/*
|
||||
|
@ -682,7 +671,7 @@ static int __init ocfs2_stack_glue_init(void)
|
|||
{
|
||||
strcpy(cluster_stack_name, OCFS2_STACK_PLUGIN_O2CB);
|
||||
|
||||
ocfs2_table_header = register_sysctl("fs/ocfs2", ocfs2_mod_table);
|
||||
ocfs2_table_header = register_sysctl("fs/ocfs2/nm", ocfs2_nm_table);
|
||||
if (!ocfs2_table_header) {
|
||||
printk(KERN_ERR
|
||||
"ocfs2 stack glue: unable to register sysctl\n");
|
||||
|
|
Loading…
Reference in New Issue