diff options
author | David Howells <dhowells@redhat.com> | 2018-05-18 11:46:14 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2018-05-18 11:46:14 +0100 |
commit | 10495a0071516df40953574925df74be2a00cd89 (patch) | |
tree | 2f81c0c3d688485dc4730c6de50a9db55b8fbd35 /fs/afs/proc.c | |
parent | 96362fb474bad694812c18cbc9943fe0f7e2ce31 (diff) | |
download | linux-stable-10495a0071516df40953574925df74be2a00cd89.tar.gz linux-stable-10495a0071516df40953574925df74be2a00cd89.tar.bz2 linux-stable-10495a0071516df40953574925df74be2a00cd89.zip |
afs: Move /proc management functions to the end of the file
In fs/afs/proc.c, move functions that create and remove /proc files to the
end of the source file as a first stage in getting rid of all the forward
declarations.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/proc.c')
-rw-r--r-- | fs/afs/proc.c | 160 |
1 files changed, 79 insertions, 81 deletions
diff --git a/fs/afs/proc.c b/fs/afs/proc.c index 3aad32762989..4bb612b04f3c 100644 --- a/fs/afs/proc.c +++ b/fs/afs/proc.c @@ -127,45 +127,6 @@ static const struct file_operations afs_proc_sysname_fops = { .write = afs_proc_sysname_write, }; -static int afs_proc_stats_show(struct seq_file *m, void *v); - -/* - * initialise the /proc/fs/afs/ directory - */ -int afs_proc_init(struct afs_net *net) -{ - _enter(""); - - net->proc_afs = proc_mkdir("fs/afs", NULL); - if (!net->proc_afs) - goto error_dir; - - if (!proc_create("cells", 0644, net->proc_afs, &afs_proc_cells_fops) || - !proc_create("rootcell", 0644, net->proc_afs, &afs_proc_rootcell_fops) || - !proc_create_seq("servers", 0644, net->proc_afs, &afs_proc_servers_ops) || - !proc_create_single("stats", 0644, net->proc_afs, afs_proc_stats_show) || - !proc_create("sysname", 0644, net->proc_afs, &afs_proc_sysname_fops)) - goto error_tree; - - _leave(" = 0"); - return 0; - -error_tree: - proc_remove(net->proc_afs); -error_dir: - _leave(" = -ENOMEM"); - return -ENOMEM; -} - -/* - * clean up the /proc/fs/afs/ directory - */ -void afs_proc_cleanup(struct afs_net *net) -{ - proc_remove(net->proc_afs); - net->proc_afs = NULL; -} - /* * open "/proc/fs/afs/cells" which provides a summary of extant cells */ @@ -384,48 +345,6 @@ out: } /* - * initialise /proc/fs/afs/<cell>/ - */ -int afs_proc_cell_setup(struct afs_net *net, struct afs_cell *cell) -{ - struct proc_dir_entry *dir; - - _enter("%p{%s},%p", cell, cell->name, net->proc_afs); - - dir = proc_mkdir(cell->name, net->proc_afs); - if (!dir) - goto error_dir; - - if (!proc_create_seq_data("vlservers", 0, dir, - &afs_proc_cell_vlservers_ops, cell)) - goto error_tree; - if (!proc_create_seq_data("volumes", 0, dir, &afs_proc_cell_volumes_ops, - cell)) - goto error_tree; - - _leave(" = 0"); - return 0; - -error_tree: - remove_proc_subtree(cell->name, net->proc_afs); -error_dir: - _leave(" = -ENOMEM"); - return -ENOMEM; -} - -/* - * remove /proc/fs/afs/<cell>/ - */ -void afs_proc_cell_remove(struct afs_net *net, struct afs_cell *cell) -{ - _enter(""); - - remove_proc_subtree(cell->name, net->proc_afs); - - _leave(""); -} - -/* * set up the iterator to start reading from the cells list and return the * first item */ @@ -842,3 +761,82 @@ static int afs_proc_stats_show(struct seq_file *m, void *v) atomic_long_read(&net->n_store_bytes)); return 0; } + +/* + * initialise /proc/fs/afs/<cell>/ + */ +int afs_proc_cell_setup(struct afs_net *net, struct afs_cell *cell) +{ + struct proc_dir_entry *dir; + + _enter("%p{%s},%p", cell, cell->name, net->proc_afs); + + dir = proc_mkdir(cell->name, net->proc_afs); + if (!dir) + goto error_dir; + + if (!proc_create_seq_data("vlservers", 0, dir, + &afs_proc_cell_vlservers_ops, cell)) + goto error_tree; + if (!proc_create_seq_data("volumes", 0, dir, + &afs_proc_cell_volumes_ops, cell)) + goto error_tree; + + _leave(" = 0"); + return 0; + +error_tree: + remove_proc_subtree(cell->name, net->proc_afs); +error_dir: + _leave(" = -ENOMEM"); + return -ENOMEM; +} + +/* + * remove /proc/fs/afs/<cell>/ + */ +void afs_proc_cell_remove(struct afs_net *net, struct afs_cell *cell) +{ + _enter(""); + + remove_proc_subtree(cell->name, net->proc_afs); + + _leave(""); +} + +/* + * initialise the /proc/fs/afs/ directory + */ +int afs_proc_init(struct afs_net *net) +{ + _enter(""); + + net->proc_afs = proc_mkdir("fs/afs", NULL); + if (!net->proc_afs) + goto error_dir; + + if (!proc_create("cells", 0644, net->proc_afs, &afs_proc_cells_fops) || + !proc_create("rootcell", 0644, net->proc_afs, &afs_proc_rootcell_fops) || + !proc_create_seq("servers", 0644, net->proc_afs, &afs_proc_servers_ops) || + !proc_create_single("stats", 0644, net->proc_afs, afs_proc_stats_show) || + !proc_create("sysname", 0644, net->proc_afs, &afs_proc_sysname_fops)) + goto error_tree; + + _leave(" = 0"); + return 0; + +error_tree: + proc_remove(net->proc_afs); +error_dir: + _leave(" = -ENOMEM"); + return -ENOMEM; +} + +/* + * clean up the /proc/fs/afs/ directory + */ +void afs_proc_cleanup(struct afs_net *net) +{ + proc_remove(net->proc_afs); + net->proc_afs = NULL; +} |