Retire spl_module_init()/spl_module_fini()

In the original implementation of the SPL wrappers were provided
for module initialization and cleanup.  This was done to abstract
away any compatibility code which might be needed for the SPL.

As it turned out the only significant compatibility issue was that
the default pwd during module load differed under Illumos and Linux.
Since this is such as minor thing and the wrappers complicate the
code they are being retired.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2985
This commit is contained in:
Brian Behlendorf 2015-02-18 15:39:05 -08:00
parent 1efdc45ea8
commit b4f3666a16
6 changed files with 58 additions and 34 deletions

View File

@ -1030,13 +1030,19 @@ done:
}
#if defined(_KERNEL) && defined(HAVE_SPL)
#include <linux/module_compat.h>
static int __init
avl_init(void)
{
return (0);
}
static int avl_init(void) { return 0; }
static int avl_fini(void) { return 0; }
static void __exit
avl_fini(void)
{
}
spl_module_init(avl_init);
spl_module_exit(avl_fini);
module_init(avl_init);
module_exit(avl_fini);
MODULE_DESCRIPTION("Generic AVL tree implementation");
MODULE_AUTHOR(ZFS_META_AUTHOR);

View File

@ -3293,13 +3293,19 @@ nvs_xdr(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen)
}
#if defined(_KERNEL) && defined(HAVE_SPL)
#include <linux/module_compat.h>
static int __init
nvpair_init(void)
{
return (0);
}
static int nvpair_init(void) { return 0; }
static int nvpair_fini(void) { return 0; }
static void __exit
nvpair_fini(void)
{
}
spl_module_init(nvpair_init);
spl_module_exit(nvpair_fini);
module_init(nvpair_init);
module_exit(nvpair_fini);
MODULE_DESCRIPTION("Generic name/value pair implementation");
MODULE_AUTHOR(ZFS_META_AUTHOR);

View File

@ -2133,13 +2133,18 @@ u8_textprep_str(char *inarray, size_t *inlen, char *outarray, size_t *outlen,
}
#if defined(_KERNEL) && defined(HAVE_SPL)
#include <linux/module_compat.h>
static int __init
unicode_init(void) {
return (0);
}
static int unicode_init(void) { return 0; }
static int unicode_fini(void) { return 0; }
static void __exit
unicode_fini(void)
{
}
spl_module_init(unicode_init);
spl_module_exit(unicode_fini);
module_init(unicode_init);
module_exit(unicode_fini);
MODULE_DESCRIPTION("Unicode implementation");
MODULE_AUTHOR(ZFS_META_AUTHOR);

View File

@ -678,13 +678,19 @@ zfs_prop_align_right(zfs_prop_t prop)
#endif
#if defined(_KERNEL) && defined(HAVE_SPL)
#include <linux/module_compat.h>
static int __init
zcommon_init(void)
{
return (0);
}
static int zcommon_init(void) { return 0; }
static int zcommon_fini(void) { return 0; }
static void __exit
zcommon_fini(void)
{
}
spl_module_init(zcommon_init);
spl_module_exit(zcommon_fini);
module_init(zcommon_init);
module_exit(zcommon_fini);
MODULE_DESCRIPTION("Generic ZFS support");
MODULE_AUTHOR(ZFS_META_AUTHOR);

View File

@ -186,7 +186,6 @@
#include <sys/zfeature.h>
#include <linux/miscdevice.h>
#include <linux/module_compat.h>
#include "zfs_namecheck.h"
#include "zfs_prop.h"
@ -5954,11 +5953,18 @@ zfs_allow_log_destroy(void *arg)
#define ZFS_DEBUG_STR ""
#endif
int
static int __init
_init(void)
{
int error;
error = vn_set_pwd("/");
if (error) {
printk(KERN_NOTICE
"ZFS: Warning unable to set pwd to '/': %d\n", error);
return (error);
}
spa_init(FREAD | FWRITE);
zfs_init();
@ -5996,7 +6002,7 @@ out1:
return (error);
}
int
static void __exit
_fini(void)
{
zfs_detach();
@ -6010,13 +6016,11 @@ _fini(void)
printk(KERN_NOTICE "ZFS: Unloaded module v%s-%s%s\n",
ZFS_META_VERSION, ZFS_META_RELEASE, ZFS_DEBUG_STR);
return (0);
}
#ifdef HAVE_SPL
spl_module_init(_init);
spl_module_exit(_fini);
module_init(_init);
module_exit(_fini);
MODULE_DESCRIPTION("ZFS");
MODULE_AUTHOR(ZFS_META_AUTHOR);

View File

@ -36,7 +36,6 @@
#include <sys/txg.h>
#include <sys/dsl_destroy.h>
#include <linux/miscdevice.h>
#include <linux/module_compat.h>
#include "zpios-internal.h"
@ -1292,7 +1291,7 @@ static struct miscdevice zpios_misc = {
#define ZFS_DEBUG_STR ""
#endif
static int
static int __init
zpios_init(void)
{
int error;
@ -1308,7 +1307,7 @@ zpios_init(void)
return (error);
}
static int
static void __exit
zpios_fini(void)
{
int error;
@ -1319,12 +1318,10 @@ zpios_fini(void)
printk(KERN_INFO "ZPIOS: Unloaded module v%s-%s%s\n",
ZFS_META_VERSION, ZFS_META_RELEASE, ZFS_DEBUG_STR);
return (0);
}
spl_module_init(zpios_init);
spl_module_exit(zpios_fini);
module_init(zpios_init);
module_exit(zpios_fini);
MODULE_AUTHOR("LLNL / Sun");
MODULE_DESCRIPTION("Kernel PIOS implementation");