Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/samples/tracepoints/tracepoint-probe-sample2.c
10818 views
1
/*
2
* tracepoint-probe-sample2.c
3
*
4
* 2nd sample tracepoint probes.
5
*/
6
7
#include <linux/module.h>
8
#include <linux/fs.h>
9
#include "tp-samples-trace.h"
10
11
/*
12
* Here the caller only guarantees locking for struct file and struct inode.
13
* Locking must therefore be done in the probe to use the dentry.
14
*/
15
static void probe_subsys_event(void *ignore,
16
struct inode *inode, struct file *file)
17
{
18
printk(KERN_INFO "Event is encountered with inode number %lu\n",
19
inode->i_ino);
20
}
21
22
static int __init tp_sample_trace_init(void)
23
{
24
int ret;
25
26
ret = register_trace_subsys_event(probe_subsys_event, NULL);
27
WARN_ON(ret);
28
29
return 0;
30
}
31
32
module_init(tp_sample_trace_init);
33
34
static void __exit tp_sample_trace_exit(void)
35
{
36
unregister_trace_subsys_event(probe_subsys_event, NULL);
37
tracepoint_synchronize_unregister();
38
}
39
40
module_exit(tp_sample_trace_exit);
41
42
MODULE_LICENSE("GPL");
43
MODULE_AUTHOR("Mathieu Desnoyers");
44
MODULE_DESCRIPTION("Tracepoint Probes Samples");
45
46