[Ocfs2-commits] khackel commits r1952 - trunk/fs/ocfs2/dlm
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Mon Mar 7 13:12:32 CST 2005
Author: khackel
Signed-off-by: zab
Date: 2005-03-07 13:12:30 -0600 (Mon, 07 Mar 2005)
New Revision: 1952
Modified:
trunk/fs/ocfs2/dlm/dlmmaster.c
trunk/fs/ocfs2/dlm/dlmmod.h
Log:
* Merged 1928 from dlm-reco-mig branch
- [1928] changed calling of dlm_do_assert_master
Signed-off-by: zab
Modified: trunk/fs/ocfs2/dlm/dlmmaster.c
===================================================================
--- trunk/fs/ocfs2/dlm/dlmmaster.c 2005-03-07 19:02:10 UTC (rev 1951)
+++ trunk/fs/ocfs2/dlm/dlmmaster.c 2005-03-07 19:12:30 UTC (rev 1952)
@@ -62,7 +62,6 @@
char *name, unsigned int namelen);
static int dlm_do_master_request(dlm_master_list_entry *mle, int to);
-static int dlm_do_assert_master(dlm_master_list_entry *mle);
static dlm_lock_resource *dlm_new_lockres(dlm_ctxt *dlm,
const char *name,
@@ -626,7 +625,8 @@
ret = 0; /* done */
if (assert) {
m = dlm->group_index;
- ret = dlm_do_assert_master(mle);
+ ret = dlm_do_assert_master(dlm, res->lockname.name,
+ res->lockname.len, mle->vote_map);
if (ret) {
dlmprintk("dlm_do_assert_master returned %d!\n",
ret);
@@ -895,27 +895,22 @@
* can periodically run all locks owned by this node
* and re-assert across the cluster...
*/
-static int dlm_do_assert_master(dlm_master_list_entry *mle)
+int dlm_do_assert_master(dlm_ctxt *dlm, const char *lockname,
+ unsigned int namelen, void *nodemap)
{
struct inode *inode = NULL;
- dlm_ctxt *dlm = mle->dlm;
dlm_assert_master assert;
- int to, ret = 0, tmpret;
+ int to, tmpret;
dlm_node_iter iter;
+ int ret = 0;
- dlm_node_iter_init(mle->vote_map, &iter);
+ dlm_node_iter_init(nodemap, &iter);
while ((to = dlm_node_iter_next(&iter)) >= 0) {
// dlmprintk("sending assert master to %d\n", to);
memset(&assert, 0, sizeof(assert));
assert.node_idx = dlm->group_index;
- if (mle->type == DLM_MLE_BLOCK) {
- assert.namelen = mle->u.name.len;
- strncpy(assert.name, mle->u.name.name, assert.namelen);
- } else {
- assert.namelen = mle->u.res->lockname.len;
- strncpy(assert.name, mle->u.res->lockname.name,
- assert.namelen);
- }
+ assert.namelen = namelen;
+ strncpy(assert.name, lockname, namelen);
inode = nm_get_group_node_by_index(dlm->group, to);
if (!inode) {
Modified: trunk/fs/ocfs2/dlm/dlmmod.h
===================================================================
--- trunk/fs/ocfs2/dlm/dlmmod.h 2005-03-07 19:02:10 UTC (rev 1951)
+++ trunk/fs/ocfs2/dlm/dlmmod.h 2005-03-07 19:12:30 UTC (rev 1952)
@@ -676,6 +676,8 @@
struct inode *group, struct inode *node, int idx);
void dlm_mle_node_up(dlm_ctxt *dlm, dlm_master_list_entry *mle,
struct inode *group, struct inode *node, int idx);
+int dlm_do_assert_master(dlm_ctxt *dlm, const char *lockname,
+ unsigned int namelen, void *nodemap);
static inline const char * dlm_lock_mode_name(int mode)
More information about the Ocfs2-commits
mailing list