diff options
author | David Teigland <teigland@redhat.com> | 2012-01-09 17:18:05 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2012-01-11 04:23:05 -0500 |
commit | e0c2a9aa1e68455dc3439e95d85cabcaff073666 (patch) | |
tree | 22e0dea3972d74defb0219fbbcd5c9d395c0bdb3 /fs/gfs2/glock.h | |
parent | e343a895a9f342f239c5e3c5ffc6c0b1707e6244 (diff) |
GFS2: dlm based recovery coordination
This new method of managing recovery is an alternative to
the previous approach of using the userland gfs_controld.
- use dlm slot numbers to assign journal id's
- use dlm recovery callbacks to initiate journal recovery
- use a dlm lock to determine the first node to mount fs
- use a dlm lock to track journals that need recovery
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/glock.h')
-rw-r--r-- | fs/gfs2/glock.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h index 2553b858a72e..307ac31df781 100644 --- a/fs/gfs2/glock.h +++ b/fs/gfs2/glock.h | |||
@@ -121,8 +121,11 @@ enum { | |||
121 | 121 | ||
122 | struct lm_lockops { | 122 | struct lm_lockops { |
123 | const char *lm_proto_name; | 123 | const char *lm_proto_name; |
124 | int (*lm_mount) (struct gfs2_sbd *sdp, const char *fsname); | 124 | int (*lm_mount) (struct gfs2_sbd *sdp, const char *table); |
125 | void (*lm_unmount) (struct gfs2_sbd *sdp); | 125 | void (*lm_first_done) (struct gfs2_sbd *sdp); |
126 | void (*lm_recovery_result) (struct gfs2_sbd *sdp, unsigned int jid, | ||
127 | unsigned int result); | ||
128 | void (*lm_unmount) (struct gfs2_sbd *sdp); | ||
126 | void (*lm_withdraw) (struct gfs2_sbd *sdp); | 129 | void (*lm_withdraw) (struct gfs2_sbd *sdp); |
127 | void (*lm_put_lock) (struct gfs2_glock *gl); | 130 | void (*lm_put_lock) (struct gfs2_glock *gl); |
128 | int (*lm_lock) (struct gfs2_glock *gl, unsigned int req_state, | 131 | int (*lm_lock) (struct gfs2_glock *gl, unsigned int req_state, |