diff options
author | David Teigland <teigland@redhat.com> | 2008-12-09 15:47:29 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2008-12-23 11:18:34 -0500 |
commit | e3a84ad495d1fddb542e0922160f0194a1361950 (patch) | |
tree | acc2d0c23440b68b1a9b9b048c2d0fae4735303b /fs | |
parent | eeda418d8c2646f33f24e9ad33d86c239adc6de7 (diff) |
dlm: add time stamp of blocking callback
Record the time the latest blocking callback was queued for
a lock. This will be used for debugging in combination with
lock queue timestamp changes in the previous patch.
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/dlm/dlm_internal.h | 1 | ||||
-rw-r--r-- | fs/dlm/lock.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h index e69135c83d5d..0c4882951923 100644 --- a/fs/dlm/dlm_internal.h +++ b/fs/dlm/dlm_internal.h | |||
@@ -245,6 +245,7 @@ struct dlm_lkb { | |||
245 | struct list_head lkb_astqueue; /* need ast to be sent */ | 245 | struct list_head lkb_astqueue; /* need ast to be sent */ |
246 | struct list_head lkb_ownqueue; /* list of locks for a process */ | 246 | struct list_head lkb_ownqueue; /* list of locks for a process */ |
247 | struct list_head lkb_time_list; | 247 | struct list_head lkb_time_list; |
248 | ktime_t lkb_time_bast; /* for debugging */ | ||
248 | ktime_t lkb_timestamp; | 249 | ktime_t lkb_timestamp; |
249 | unsigned long lkb_timeout_cs; | 250 | unsigned long lkb_timeout_cs; |
250 | 251 | ||
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index dfc57ae27045..6cfe65bbf4a2 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
@@ -318,6 +318,8 @@ static inline void queue_cast_overlap(struct dlm_rsb *r, struct dlm_lkb *lkb) | |||
318 | 318 | ||
319 | static void queue_bast(struct dlm_rsb *r, struct dlm_lkb *lkb, int rqmode) | 319 | static void queue_bast(struct dlm_rsb *r, struct dlm_lkb *lkb, int rqmode) |
320 | { | 320 | { |
321 | lkb->lkb_time_bast = ktime_get(); | ||
322 | |||
321 | if (is_master_copy(lkb)) | 323 | if (is_master_copy(lkb)) |
322 | send_bast(r, lkb, rqmode); | 324 | send_bast(r, lkb, rqmode); |
323 | else | 325 | else |