Lines Matching refs:mres

51 static void dlm_init_migratable_lockres(struct dlm_migratable_lockres *mres,
56 struct dlm_migratable_lockres *mres,
62 struct dlm_migratable_lockres *mres);
865 struct dlm_migratable_lockres *mres;
876 mres = (struct dlm_migratable_lockres *)data;
913 ret = dlm_send_one_lockres(dlm, res, mres, reco_master,
1096 struct dlm_migratable_lockres *mres,
1101 u64 mig_cookie = be64_to_cpu(mres->mig_cookie);
1102 int mres_total_locks = be32_to_cpu(mres->total_locks);
1104 u8 orig_flags = mres->flags,
1105 orig_master = mres->master;
1107 BUG_ON(mres->num_locks > DLM_MAX_MIGRATABLE_LOCKS);
1108 if (!mres->num_locks)
1112 orig_flags = mres->flags;
1115 mres->flags |= DLM_MRES_ALL_DONE;
1123 ret = o2net_send_message(DLM_MIG_LOCKRES_MSG, dlm->key, mres,
1124 struct_size(mres, ml, mres->num_locks),
1130 "node %u (%s)\n", dlm->name, mres->lockname_len,
1131 mres->lockname, ret, send_to,
1149 dlm_init_migratable_lockres(mres, res->lockname.name,
1155 static void dlm_init_migratable_lockres(struct dlm_migratable_lockres *mres,
1160 /* mres here is one full page */
1161 clear_page(mres);
1162 mres->lockname_len = namelen;
1163 memcpy(mres->lockname, lockname, namelen);
1164 mres->num_locks = 0;
1165 mres->total_locks = cpu_to_be32(total_locks);
1166 mres->mig_cookie = cpu_to_be64(cookie);
1167 mres->flags = flags;
1168 mres->master = master;
1172 struct dlm_migratable_lockres *mres,
1186 if (dlm_lvb_is_empty(mres->lvb)) {
1187 memcpy(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN);
1192 if (!memcmp(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN))
1208 struct dlm_migratable_lockres *mres, int queue)
1211 int lock_num = mres->num_locks;
1213 ml = &(mres->ml[lock_num]);
1221 dlm_prepare_lvb_for_migration(lock, mres, queue);
1224 mres->num_locks++;
1226 if (mres->num_locks == DLM_MAX_MIGRATABLE_LOCKS)
1232 struct dlm_migratable_lockres *mres)
1242 dlm_add_lock_to_array(&dummy, mres, DLM_BLOCKED_LIST);
1261 struct dlm_migratable_lockres *mres,
1283 dlm_init_migratable_lockres(mres, res->lockname.name,
1293 if (!dlm_add_lock_to_array(lock, mres, i))
1298 ret = dlm_send_mig_lockres_msg(dlm, mres, send_to,
1310 dlm_add_dummy_lock(dlm, mres);
1313 ret = dlm_send_mig_lockres_msg(dlm, mres, send_to, res, total_locks);
1349 struct dlm_migratable_lockres *mres =
1365 dlm->name, mres->lockname_len,
1366 mres->lockname, mres->master);
1371 BUG_ON(!(mres->flags & (DLM_MRES_RECOVERY|DLM_MRES_MIGRATION)));
1373 real_master = mres->master;
1376 BUG_ON(!(mres->flags & DLM_MRES_RECOVERY));
1380 (mres->flags & DLM_MRES_RECOVERY) ?
1381 "recovery" : "migration", mres->master);
1382 if (mres->flags & DLM_MRES_ALL_DONE)
1394 hash = dlm_lockid_hash(mres->lockname, mres->lockname_len);
1396 res = __dlm_lookup_lockres_full(dlm, mres->lockname, mres->lockname_len,
1406 mres->lockname_len, mres->lockname);
1414 if (mres->flags & DLM_MRES_RECOVERY) {
1421 mres->lockname_len,
1422 mres->lockname);
1427 mres->lockname_len, mres->lockname);
1442 res = dlm_new_lockres(dlm, mres->lockname, mres->lockname_len);
1451 if (mres->flags & DLM_MRES_RECOVERY)
1492 if (mres->master == DLM_LOCK_RES_OWNER_UNKNOWN) {
1494 BUG_ON(!(mres->flags & DLM_MRES_RECOVERY));
1497 "%.*s\n", mres->lockname_len, mres->lockname);
1536 struct dlm_migratable_lockres *mres;
1543 mres = (struct dlm_migratable_lockres *)data;
1576 ret = dlm_process_recovery_data(dlm, res, mres);
1582 if ((mres->flags & (DLM_MRES_MIGRATION|DLM_MRES_ALL_DONE)) ==
1584 ret = dlm_finish_migration(dlm, res, mres->master);
1789 struct dlm_migratable_lockres *mres)
1802 mlog(0, "running %d locks for this lockres\n", mres->num_locks);
1803 for (i=0; i<mres->num_locks; i++) {
1804 ml = &(mres->ml[i]);
1808 BUG_ON(mres->num_locks != 1);
1810 dlm->name, mres->lockname_len, mres->lockname,
1829 BUG_ON(!(mres->flags & DLM_MRES_MIGRATION));
1934 if (!dlm_lvb_is_empty(mres->lvb)) {
1939 memcpy(lksb->lvb, mres->lvb, DLM_LVB_LEN);
1944 memcpy(res->lvb, mres->lvb, DLM_LVB_LEN);
1952 memcmp(res->lvb, mres->lvb, DLM_LVB_LEN))) {
1963 printk("%02x", mres->lvb[i]);
1968 memcpy(res->lvb, mres->lvb, DLM_LVB_LEN);
2014 if (mres->flags & DLM_MRES_RECOVERY &&