summaryrefslogtreecommitdiffstats
path: root/fs/dlm/member.h
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2011-10-20 13:26:28 -0500
committerDavid Teigland <teigland@redhat.com>2012-01-04 08:55:57 -0600
commit757a42719635495779462514458bbfbf12a37dac (patch)
treebe6ea155fc54c397cb57eb193b81824b37989e56 /fs/dlm/member.h
parentf95a34c66554235b70a681fcd9feebc195f7ec0e (diff)
downloadop-kernel-dev-757a42719635495779462514458bbfbf12a37dac.zip
op-kernel-dev-757a42719635495779462514458bbfbf12a37dac.tar.gz
dlm: add node slots and generation
Slot numbers are assigned to nodes when they join the lockspace. The slot number chosen is the minimum unused value starting at 1. Once a node is assigned a slot, that slot number will not change while the node remains a lockspace member. If the node leaves and rejoins it can be assigned a new slot number. A new generation number is also added to a lockspace. It is set and incremented during each recovery along with the slot collection/assignment. The slot numbers will be passed to gfs2 which will use them as journal id's. Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/member.h')
-rw-r--r--fs/dlm/member.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/dlm/member.h b/fs/dlm/member.h
index 7a26fca..7e87e8a 100644
--- a/fs/dlm/member.h
+++ b/fs/dlm/member.h
@@ -20,6 +20,13 @@ void dlm_clear_members_gone(struct dlm_ls *ls);
int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv,int *neg_out);
int dlm_is_removed(struct dlm_ls *ls, int nodeid);
int dlm_is_member(struct dlm_ls *ls, int nodeid);
+int dlm_slots_version(struct dlm_header *h);
+void dlm_slot_save(struct dlm_ls *ls, struct dlm_rcom *rc,
+ struct dlm_member *memb);
+void dlm_slots_copy_out(struct dlm_ls *ls, struct dlm_rcom *rc);
+int dlm_slots_copy_in(struct dlm_ls *ls);
+int dlm_slots_assign(struct dlm_ls *ls, int *num_slots, int *slots_size,
+ struct dlm_slot **slots_out, uint32_t *gen_out);
#endif /* __MEMBER_DOT_H__ */
OpenPOWER on IntegriCloud