Whamcloud - gitweb
LU-6155 osd-zfs: dbuf_hold_impl() called without the lock
[fs/lustre-release.git] / libcfs / libcfs / module.c
index 767bc07..6170124 100644 (file)
@@ -39,9 +39,6 @@
 #include <libcfs/libcfs.h>
 #include <libcfs/libcfs_crypto.h>
 #include <lnet/lib-lnet.h>
-#include <lnet/lib-dlc.h>
-#include <lnet/lnet.h>
-#include <lnet/nidstr.h>
 
 static void
 kportal_memhog_free (struct libcfs_device_userstate *ldu)
@@ -118,7 +115,7 @@ kportal_memhog_alloc(struct libcfs_device_userstate *ldu, int npages,
        while (ldu->ldu_memhog_pages < npages &&
               count1 < PAGE_CACHE_SIZE/sizeof(struct page *)) {
 
-               if (cfs_signal_pending())
+               if (signal_pending(current))
                        return -EINTR;
 
                *level1p = alloc_page(flags);
@@ -133,7 +130,7 @@ kportal_memhog_alloc(struct libcfs_device_userstate *ldu, int npages,
                while (ldu->ldu_memhog_pages < npages &&
                       count2 < PAGE_CACHE_SIZE/sizeof(struct page *)) {
 
-                       if (cfs_signal_pending())
+                       if (signal_pending(current))
                                return -EINTR;
 
                        *level2p = alloc_page(flags);
@@ -288,15 +285,17 @@ static int libcfs_ioctl(struct cfs_psdev_file *pfile,
                        if (err == -EINVAL)
                                continue;
 
-                       if (err == 0)
-                               err = libcfs_ioctl_popdata(hdr, uparam);
+                       if (err == 0) {
+                               if (copy_to_user(uparam, hdr, hdr->ioc_len))
+                                       err = -EFAULT;
+                       }
                        break;
                }
                up_read(&ioctl_list_sem);
                break; }
        }
 out:
-       libcfs_ioctl_freedata(hdr);
+       LIBCFS_FREE(hdr, hdr->ioc_len);
        RETURN(err);
 }
 
@@ -308,16 +307,10 @@ struct cfs_psdev_ops libcfs_psdev_ops = {
         libcfs_ioctl
 };
 
-MODULE_AUTHOR("Peter J. Braam <braam@clusterfs.com>");
-MODULE_DESCRIPTION("Portals v3.1");
-MODULE_LICENSE("GPL");
-
 static int init_libcfs_module(void)
 {
        int rc;
 
-       libcfs_arch_init();
-
        rc = libcfs_debug_init(5 * 1024 * 1024);
        if (rc < 0) {
                printk(KERN_ERR "LustreError: libcfs_debug_init: %d\n", rc);
@@ -394,9 +387,7 @@ static void exit_libcfs_module(void)
        cfs_crypto_unregister();
        cfs_wi_shutdown();
 
-       rc = misc_deregister(&libcfs_dev);
-       if (rc)
-               CERROR("misc_deregister error %d\n", rc);
+       misc_deregister(&libcfs_dev);
 
        cfs_cpu_fini();
 
@@ -408,8 +399,12 @@ static void exit_libcfs_module(void)
        if (rc)
                printk(KERN_ERR "LustreError: libcfs_debug_cleanup: %d\n",
                       rc);
-
-       libcfs_arch_cleanup();
 }
 
-cfs_module(libcfs, "1.0.0", init_libcfs_module, exit_libcfs_module);
+MODULE_AUTHOR("OpenSFS, Inc. <http://www.lustre.org/>");
+MODULE_DESCRIPTION("Libcfs v3.1");
+MODULE_VERSION("1.0.0");
+MODULE_LICENSE("GPL");
+
+module_init(init_libcfs_module);
+module_exit(exit_libcfs_module);