]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
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 |