Fix unknown syscall support
[lttng-modules.git] / ltt-debugfs-abi.c
index 81afdbdbae28f13459fc84f9e3ed7dbe97137945..86a1720068c49eb96d306f86711f6bb54bd22b65 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <linux/module.h>
 #include <linux/debugfs.h>
+#include <linux/proc_fs.h>
 #include <linux/anon_inodes.h>
 #include <linux/file.h>
 #include <linux/uaccess.h>
@@ -43,6 +44,7 @@
  */
 
 static struct dentry *lttng_dentry;
+static struct proc_dir_entry *lttng_proc_dentry;
 static const struct file_operations lttng_fops;
 static const struct file_operations lttng_session_fops;
 static const struct file_operations lttng_channel_fops;
@@ -266,7 +268,7 @@ void lttng_metadata_create_events(struct file *channel_file)
         * We tolerate no failure path after event creation. It will stay
         * invariant for the rest of the session.
         */
-       event = ltt_event_create(channel, &metadata_params, NULL);
+       event = ltt_event_create(channel, &metadata_params, NULL, NULL);
        if (!event) {
                goto create_error;
        }
@@ -532,7 +534,7 @@ int lttng_abi_create_event(struct file *channel_file,
                 * We tolerate no failure path after event creation. It
                 * will stay invariant for the rest of the session.
                 */
-               event = ltt_event_create(channel, &event_param, NULL);
+               event = ltt_event_create(channel, &event_param, NULL, NULL);
                if (!event) {
                        ret = -EINVAL;
                        goto event_error;
@@ -745,8 +747,14 @@ int __init ltt_debugfs_abi_init(void)
 
        wrapper_vmalloc_sync_all();
        lttng_dentry = debugfs_create_file("lttng", S_IWUSR, NULL, NULL,
-                                          &lttng_fops);
-       if (IS_ERR(lttng_dentry) || !lttng_dentry) {
+                                       &lttng_fops);
+       if (IS_ERR(lttng_dentry))
+               lttng_dentry = NULL;
+
+       lttng_proc_dentry = proc_create_data("lttng", S_IWUSR, NULL,
+                                       &lttng_fops, NULL);
+       
+       if (!lttng_dentry && !lttng_proc_dentry) {
                printk(KERN_ERR "Error creating LTTng control file\n");
                ret = -ENOMEM;
                goto error;
@@ -757,5 +765,8 @@ error:
 
 void __exit ltt_debugfs_abi_exit(void)
 {
-       debugfs_remove(lttng_dentry);
+       if (lttng_dentry)
+               debugfs_remove(lttng_dentry);
+       if (lttng_proc_dentry)
+               remove_proc_entry("lttng", NULL);
 }
This page took 0.025022 seconds and 4 git commands to generate.