Skip to content

Commit

Permalink
pstore: Centralize init/exit routines
Browse files Browse the repository at this point in the history
In preparation for having additional actions during init/exit, this moves
the init/exit into platform.c, centralizing the logic to make call outs
to the fs init/exit.

Signed-off-by: Kees Cook <[email protected]>
Tested-by: Guenter Roeck <[email protected]>
  • Loading branch information
kees committed Oct 22, 2018
1 parent 5736184 commit cb095af
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 11 deletions.
11 changes: 2 additions & 9 deletions fs/pstore/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -482,12 +482,10 @@ static struct file_system_type pstore_fs_type = {
.kill_sb = pstore_kill_sb,
};

static int __init init_pstore_fs(void)
int __init pstore_init_fs(void)
{
int err;

pstore_choose_compression();

/* Create a convenient mount point for people to access pstore */
err = sysfs_create_mount_point(fs_kobj, "pstore");
if (err)
Expand All @@ -500,14 +498,9 @@ static int __init init_pstore_fs(void)
out:
return err;
}
module_init(init_pstore_fs)

static void __exit exit_pstore_fs(void)
void __exit pstore_exit_fs(void)
{
unregister_filesystem(&pstore_fs_type);
sysfs_remove_mount_point(fs_kobj, "pstore");
}
module_exit(exit_pstore_fs)

MODULE_AUTHOR("Tony Luck <[email protected]>");
MODULE_LICENSE("GPL");
5 changes: 3 additions & 2 deletions fs/pstore/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ extern bool pstore_is_mounted(void);
extern void pstore_record_init(struct pstore_record *record,
struct pstore_info *psi);

/* Called during module_init() */
extern void __init pstore_choose_compression(void);
/* Called during pstore init/exit. */
int __init pstore_init_fs(void);
void __exit pstore_exit_fs(void);

#endif
23 changes: 23 additions & 0 deletions fs/pstore/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -780,8 +780,31 @@ void __init pstore_choose_compression(void)
}
}

static int __init pstore_init(void)
{
int ret;

pstore_choose_compression();

ret = pstore_init_fs();
if (ret)
return ret;

return 0;
}
module_init(pstore_init)

static void __exit pstore_exit(void)
{
pstore_exit_fs();
}
module_exit(pstore_exit)

module_param(compress, charp, 0444);
MODULE_PARM_DESC(compress, "Pstore compression to use");

module_param(backend, charp, 0444);
MODULE_PARM_DESC(backend, "Pstore backend to use");

MODULE_AUTHOR("Tony Luck <[email protected]>");
MODULE_LICENSE("GPL");

0 comments on commit cb095af

Please sign in to comment.