]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.31/patches.suse/dlm-add-time-stamp-of-blocking-callback.patch
Merge branch 'master' of git://git.ipfire.org/ipfire-2.x
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.suse / dlm-add-time-stamp-of-blocking-callback.patch
1 From: David Teigland <teigland@redhat.com>
2 commit e3a84ad495d1fddb542e0922160f0194a1361950
3 Author: David Teigland <teigland@redhat.com>
4 Date: Tue Dec 9 14:47:29 2008 -0600
5 Subject: dlm: add time stamp of blocking callback
6
7 Record the time the latest blocking callback was queued for
8 a lock. This will be used for debugging in combination with
9 lock queue timestamp changes in the previous patch.
10
11 Signed-off-by: David Teigland <teigland@redhat.com>
12 Signed-off-by: Coly Li <coly.li@suse.de>
13
14 diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h
15 index e69135c..0c48829 100644
16 --- a/fs/dlm/dlm_internal.h
17 +++ b/fs/dlm/dlm_internal.h
18 @@ -245,6 +245,7 @@ struct dlm_lkb {
19 struct list_head lkb_astqueue; /* need ast to be sent */
20 struct list_head lkb_ownqueue; /* list of locks for a process */
21 struct list_head lkb_time_list;
22 + ktime_t lkb_time_bast; /* for debugging */
23 ktime_t lkb_timestamp;
24 unsigned long lkb_timeout_cs;
25
26 diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
27 index dfc57ae..6cfe65b 100644
28 --- a/fs/dlm/lock.c
29 +++ b/fs/dlm/lock.c
30 @@ -318,6 +318,8 @@ static inline void queue_cast_overlap(struct dlm_rsb *r, struct dlm_lkb *lkb)
31
32 static void queue_bast(struct dlm_rsb *r, struct dlm_lkb *lkb, int rqmode)
33 {
34 + lkb->lkb_time_bast = ktime_get();
35 +
36 if (is_master_copy(lkb))
37 send_bast(r, lkb, rqmode);
38 else