[RFC PATCH 09/10] fs/locks: Add tracepoint for SIGBUS on LONGTERM expiration

From: ira . weiny
Date: Mon Apr 29 2019 - 00:54:35 EST


From: Ira Weiny <ira.weiny@xxxxxxxxx>

---
fs/locks.c | 1 +
include/trace/events/filelock.h | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/locks.c b/fs/locks.c
index c77eee081d11..42b96bfc71fa 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1592,6 +1592,7 @@ static void time_out_leases(struct inode *inode, struct list_head *dispose)
if (fl->fl_flags & FL_LONGTERM) {
tsk = find_task_by_vpid(fl->fl_pid);
fl->fl_break_time = 1 + jiffies + lease_break_time * HZ;
+ trace_longterm_sigbus(fl);
lease_modify_longterm(fl, F_UNLCK, dispose);
kill_pid(tsk->thread_pid, SIGBUS, 0);
} else {
diff --git a/include/trace/events/filelock.h b/include/trace/events/filelock.h
index c6f39f03cb8b..626386dbe599 100644
--- a/include/trace/events/filelock.h
+++ b/include/trace/events/filelock.h
@@ -271,7 +271,9 @@ DEFINE_EVENT(longterm_lease, take_longterm_lease,
DEFINE_EVENT(longterm_lease, release_longterm_lease,
TP_PROTO(struct file_lock *fl),
TP_ARGS(fl));
-
+DEFINE_EVENT(longterm_lease, longterm_sigbus,
+ TP_PROTO(struct file_lock *fl),
+ TP_ARGS(fl));

#endif /* _TRACE_FILELOCK_H */

--
2.20.1