]> granicus.if.org Git - zfs/commitdiff
Retire spl_module_init()/spl_module_fini()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 18 Feb 2015 23:39:05 +0000 (15:39 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 24 Feb 2015 19:37:44 +0000 (11:37 -0800)
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

module/avl/avl.c
module/nvpair/nvpair.c
module/unicode/u8_textprep.c
module/zcommon/zfs_prop.c
module/zfs/zfs_ioctl.c
module/zpios/pios.c

index 5c2b722e669eb3ef7fc6ba590d0fcf5a42d3fd62..f9971da20a0fb50e1fdf98c513aa5ed91c187fd0 100644 (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);
index 9fd486bca75ec88a8e12492667a7d175ea232141..1eca0feea7691c0ef7a5c309a7c8441d2fe0655f 100644 (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);
index f5ab7795169d980574d383c2707654e6d528a576..26cc39f3bcd225a000c5265b97b1ca7f5c92485f 100644 (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);
index 18b5f951ee825043102b68f15b6483af298afa00..192f8f2210becccd90769d2fbbb036fd5a880f66 100644 (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);
index 171e08c7aa2c721681494ec5258c4a4d6a8be34e..998ee15962fd97abc7a5daf5ff0e7a92698cb2ff 100644 (file)
 #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);
index fb15046bee4be81e34b857dfb44d7a2e8efae94c..8e5077da51c9c5cb4aa869d72f098592d510d945 100644 (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");