Lines Matching refs:mres

53 static void dlm_init_migratable_lockres(struct dlm_migratable_lockres *mres,
58 struct dlm_migratable_lockres *mres,
64 struct dlm_migratable_lockres *mres);
874 struct dlm_migratable_lockres *mres;
885 mres = (struct dlm_migratable_lockres *)data;
922 ret = dlm_send_one_lockres(dlm, res, mres, reco_master,
1105 struct dlm_migratable_lockres *mres,
1110 u64 mig_cookie = be64_to_cpu(mres->mig_cookie);
1111 int mres_total_locks = be32_to_cpu(mres->total_locks);
1113 u8 orig_flags = mres->flags,
1114 orig_master = mres->master;
1116 BUG_ON(mres->num_locks > DLM_MAX_MIGRATABLE_LOCKS);
1117 if (!mres->num_locks)
1121 orig_flags = mres->flags;
1124 mres->flags |= DLM_MRES_ALL_DONE;
1132 ret = o2net_send_message(DLM_MIG_LOCKRES_MSG, dlm->key, mres,
1133 struct_size(mres, ml, mres->num_locks),
1139 "node %u (%s)\n", dlm->name, mres->lockname_len,
1140 mres->lockname, ret, send_to,
1158 dlm_init_migratable_lockres(mres, res->lockname.name,
1164 static void dlm_init_migratable_lockres(struct dlm_migratable_lockres *mres,
1169 /* mres here is one full page */
1170 clear_page(mres);
1171 mres->lockname_len = namelen;
1172 memcpy(mres->lockname, lockname, namelen);
1173 mres->num_locks = 0;
1174 mres->total_locks = cpu_to_be32(total_locks);
1175 mres->mig_cookie = cpu_to_be64(cookie);
1176 mres->flags = flags;
1177 mres->master = master;
1181 struct dlm_migratable_lockres *mres,
1195 if (dlm_lvb_is_empty(mres->lvb)) {
1196 memcpy(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN);
1201 if (!memcmp(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN))
1217 struct dlm_migratable_lockres *mres, int queue)
1220 int lock_num = mres->num_locks;
1222 ml = &(mres->ml[lock_num]);
1230 dlm_prepare_lvb_for_migration(lock, mres, queue);
1233 mres->num_locks++;
1235 if (mres->num_locks == DLM_MAX_MIGRATABLE_LOCKS)
1241 struct dlm_migratable_lockres *mres)
1251 dlm_add_lock_to_array(&dummy, mres, DLM_BLOCKED_LIST);
1270 struct dlm_migratable_lockres *mres,
1292 dlm_init_migratable_lockres(mres, res->lockname.name,
1302 if (!dlm_add_lock_to_array(lock, mres, i))
1307 ret = dlm_send_mig_lockres_msg(dlm, mres, send_to,
1319 dlm_add_dummy_lock(dlm, mres);
1322 ret = dlm_send_mig_lockres_msg(dlm, mres, send_to, res, total_locks);
1358 struct dlm_migratable_lockres *mres =
1374 dlm->name, mres->lockname_len,
1375 mres->lockname, mres->master);
1380 BUG_ON(!(mres->flags & (DLM_MRES_RECOVERY|DLM_MRES_MIGRATION)));
1382 real_master = mres->master;
1385 BUG_ON(!(mres->flags & DLM_MRES_RECOVERY));
1389 (mres->flags & DLM_MRES_RECOVERY) ?
1390 "recovery" : "migration", mres->master);
1391 if (mres->flags & DLM_MRES_ALL_DONE)
1403 hash = dlm_lockid_hash(mres->lockname, mres->lockname_len);
1405 res = __dlm_lookup_lockres_full(dlm, mres->lockname, mres->lockname_len,
1415 mres->lockname_len, mres->lockname);
1423 if (mres->flags & DLM_MRES_RECOVERY) {
1430 mres->lockname_len,
1431 mres->lockname);
1436 mres->lockname_len, mres->lockname);
1451 res = dlm_new_lockres(dlm, mres->lockname, mres->lockname_len);
1460 if (mres->flags & DLM_MRES_RECOVERY)
1501 if (mres->master == DLM_LOCK_RES_OWNER_UNKNOWN) {
1503 BUG_ON(!(mres->flags & DLM_MRES_RECOVERY));
1506 "%.*s\n", mres->lockname_len, mres->lockname);
1545 struct dlm_migratable_lockres *mres;
1552 mres = (struct dlm_migratable_lockres *)data;
1585 ret = dlm_process_recovery_data(dlm, res, mres);
1591 if ((mres->flags & (DLM_MRES_MIGRATION|DLM_MRES_ALL_DONE)) ==
1593 ret = dlm_finish_migration(dlm, res, mres->master);
1798 struct dlm_migratable_lockres *mres)
1811 mlog(0, "running %d locks for this lockres\n", mres->num_locks);
1812 for (i=0; i<mres->num_locks; i++) {
1813 ml = &(mres->ml[i]);
1817 BUG_ON(mres->num_locks != 1);
1819 dlm->name, mres->lockname_len, mres->lockname,
1838 BUG_ON(!(mres->flags & DLM_MRES_MIGRATION));
1943 if (!dlm_lvb_is_empty(mres->lvb)) {
1948 memcpy(lksb->lvb, mres->lvb, DLM_LVB_LEN);
1953 memcpy(res->lvb, mres->lvb, DLM_LVB_LEN);
1961 memcmp(res->lvb, mres->lvb, DLM_LVB_LEN))) {
1972 printk("%02x", mres->lvb[i]);
1977 memcpy(res->lvb, mres->lvb, DLM_LVB_LEN);
2023 if (mres->flags & DLM_MRES_RECOVERY &&