linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / fs / ocfs2 / dlm / dlmconvert.c
index c764dc8..f66e2d8 100644 (file)
@@ -214,9 +214,6 @@ grant:
        if (lock->ml.node == dlm->node_num)
                mlog(0, "doing in-place convert for nonlocal lock\n");
        lock->ml.type = type;
-       if (lock->lksb->flags & DLM_LKSB_PUT_LVB)
-               memcpy(res->lvb, lock->lksb->lvb, DLM_LVB_LEN);
-
        status = DLM_NORMAL;
        *call_ast = 1;
        goto unlock_exit;
@@ -234,7 +231,8 @@ switch_queues:
 
        lock->ml.convert_type = type;
        /* do not alter lock refcount.  switching lists. */
-       list_move_tail(&lock->list, &res->converting);
+       list_del_init(&lock->list);
+       list_add_tail(&lock->list, &res->converting);
 
 unlock_exit:
        spin_unlock(&lock->spinlock);
@@ -250,7 +248,8 @@ void dlm_revert_pending_convert(struct dlm_lock_resource *res,
                                struct dlm_lock *lock)
 {
        /* do not alter lock refcount.  switching lists. */
-       list_move_tail(&lock->list, &res->granted);
+       list_del_init(&lock->list);
+       list_add_tail(&lock->list, &res->granted);
        lock->ml.convert_type = LKM_IVMODE;
        lock->lksb->flags &= ~(DLM_LKSB_GET_LVB|DLM_LKSB_PUT_LVB);
 }
@@ -285,17 +284,16 @@ enum dlm_status dlmconvert_remote(struct dlm_ctxt *dlm,
        if (lock->ml.convert_type != LKM_IVMODE) {
                __dlm_print_one_lock_resource(res);
                mlog(ML_ERROR, "converting a remote lock that is already "
-                    "converting! (cookie=%u:%llu, conv=%d)\n",
-                    dlm_get_lock_cookie_node(lock->ml.cookie),
-                    dlm_get_lock_cookie_seq(lock->ml.cookie),
-                    lock->ml.convert_type);
+                    "converting! (cookie=%"MLFu64", conv=%d)\n",
+                    lock->ml.cookie, lock->ml.convert_type);
                status = DLM_DENIED;
                goto bail;
        }
        res->state |= DLM_LOCK_RES_IN_PROGRESS;
        /* move lock to local convert queue */
        /* do not alter lock refcount.  switching lists. */
-       list_move_tail(&lock->list, &res->converting);
+       list_del_init(&lock->list);
+       list_add_tail(&lock->list, &res->converting);
        lock->convert_pending = 1;
        lock->ml.convert_type = type;
 
@@ -464,12 +462,6 @@ int dlm_convert_lock_handler(struct o2net_msg *msg, u32 len, void *data)
        }
 
        spin_lock(&res->spinlock);
-       status = __dlm_lockres_state_to_status(res);
-       if (status != DLM_NORMAL) {
-               spin_unlock(&res->spinlock);
-               dlm_error(status);
-               goto leave;
-       }
        list_for_each(iter, &res->granted) {
                lock = list_entry(iter, struct dlm_lock, list);
                if (lock->ml.cookie == cnv->cookie &&
@@ -479,21 +471,6 @@ int dlm_convert_lock_handler(struct o2net_msg *msg, u32 len, void *data)
                }
                lock = NULL;
        }
-       if (!lock) {
-               __dlm_print_one_lock_resource(res);
-               list_for_each(iter, &res->granted) {
-                       lock = list_entry(iter, struct dlm_lock, list);
-                       if (lock->ml.node == cnv->node_idx) {
-                               mlog(ML_ERROR, "There is something here "
-                                    "for node %u, lock->ml.cookie=%llu, "
-                                    "cnv->cookie=%llu\n", cnv->node_idx,
-                                    (unsigned long long)lock->ml.cookie,
-                                    (unsigned long long)cnv->cookie);
-                               break;
-                       }
-               }
-               lock = NULL;
-       }
        spin_unlock(&res->spinlock);
        if (!lock) {
                status = DLM_IVLOCKID;
@@ -536,9 +513,8 @@ int dlm_convert_lock_handler(struct o2net_msg *msg, u32 len, void *data)
 leave:
        if (!lock)
                mlog(ML_ERROR, "did not find lock to convert on grant queue! "
-                              "cookie=%u:%llu\n",
-                              dlm_get_lock_cookie_node(cnv->cookie),
-                              dlm_get_lock_cookie_seq(cnv->cookie));
+                              "cookie=%"MLFu64"\n",
+                    cnv->cookie);
        else
                dlm_lock_put(lock);