diff options
author | Stan Cox <scox@redhat.com> | 2009-06-19 14:06:52 -0400 |
---|---|---|
committer | Stan Cox <scox@redhat.com> | 2009-06-19 14:06:52 -0400 |
commit | d138d3d71a1685c53cc5c2b72ed8ae64d3e012d2 (patch) | |
tree | 966ff2622c07fb84513b487482a1a1f46bae5dfc /runtime/transport/debugfs.c | |
parent | 45148f5b5e371ff852dbbb08d83c5e87932b372e (diff) | |
parent | eba61c56888482553551a16ec651444a583522e0 (diff) | |
download | systemtap-steved-d138d3d71a1685c53cc5c2b72ed8ae64d3e012d2.tar.gz systemtap-steved-d138d3d71a1685c53cc5c2b72ed8ae64d3e012d2.tar.xz systemtap-steved-d138d3d71a1685c53cc5c2b72ed8ae64d3e012d2.zip |
Merge branch 'master' of ssh://sourceware.org/git/systemtap
Diffstat (limited to 'runtime/transport/debugfs.c')
-rw-r--r-- | runtime/transport/debugfs.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/runtime/transport/debugfs.c b/runtime/transport/debugfs.c index 85ee604d..6bbef53b 100644 --- a/runtime/transport/debugfs.c +++ b/runtime/transport/debugfs.c @@ -10,6 +10,7 @@ */ #include <linux/debugfs.h> +#include "transport.h" #define STP_DEFAULT_BUFFERS 50 @@ -22,18 +23,26 @@ static struct dentry *_stp_cmd_file = NULL; static int _stp_register_ctl_channel_fs(void) { - if (_stp_utt == NULL) { - errk("_expected _stp_utt to be set.\n"); + struct dentry *module_dir = _stp_get_module_dir(); + if (module_dir == NULL) { + errk("no module directory found.\n"); return -1; } /* create [debugfs]/systemtap/module_name/.cmd */ - _stp_cmd_file = debugfs_create_file(".cmd", 0600, _stp_utt->dir, + _stp_cmd_file = debugfs_create_file(".cmd", 0600, module_dir, NULL, &_stp_ctl_fops_cmd); if (_stp_cmd_file == NULL) { errk("Error creating systemtap debugfs entries.\n"); return -1; } + else if (IS_ERR(_stp_cmd_file)) { + _stp_cmd_file = NULL; + errk("Error creating systemtap debugfs entries: %ld\n", + -PTR_ERR(_stp_cmd_file)); + return -1; + } + _stp_cmd_file->d_inode->i_uid = _stp_uid; _stp_cmd_file->d_inode->i_gid = _stp_gid; |