mle 1019 fs/ocfs2/dlm/dlmcommon.h void __dlm_unlink_mle(struct dlm_ctxt *dlm, struct dlm_master_list_entry *mle); mle 1020 fs/ocfs2/dlm/dlmcommon.h void __dlm_insert_mle(struct dlm_ctxt *dlm, struct dlm_master_list_entry *mle); mle 268 fs/ocfs2/dlm/dlmdebug.c static int dump_mle(struct dlm_master_list_entry *mle, char *buf, int len) mle 273 fs/ocfs2/dlm/dlmdebug.c if (mle->type == DLM_MLE_BLOCK) mle 275 fs/ocfs2/dlm/dlmdebug.c else if (mle->type == DLM_MLE_MASTER) mle 280 fs/ocfs2/dlm/dlmdebug.c out += stringify_lockname(mle->mname, mle->mnamelen, buf + out, len - out); mle 283 fs/ocfs2/dlm/dlmdebug.c mle_type, mle->master, mle->new_master, mle 284 fs/ocfs2/dlm/dlmdebug.c !list_empty(&mle->hb_events), mle 285 fs/ocfs2/dlm/dlmdebug.c !!mle->inuse, mle 286 fs/ocfs2/dlm/dlmdebug.c kref_read(&mle->mle_refs)); mle 289 fs/ocfs2/dlm/dlmdebug.c out += stringify_nodemap(mle->maybe_map, O2NM_MAX_NODES, mle 294 fs/ocfs2/dlm/dlmdebug.c out += stringify_nodemap(mle->vote_map, O2NM_MAX_NODES, mle 299 fs/ocfs2/dlm/dlmdebug.c out += stringify_nodemap(mle->response_map, O2NM_MAX_NODES, mle 304 fs/ocfs2/dlm/dlmdebug.c out += stringify_nodemap(mle->node_map, O2NM_MAX_NODES, mle 313 fs/ocfs2/dlm/dlmdebug.c void dlm_print_one_mle(struct dlm_master_list_entry *mle) mle 319 fs/ocfs2/dlm/dlmdebug.c dump_mle(mle, buf, PAGE_SIZE - 1); mle 408 fs/ocfs2/dlm/dlmdebug.c struct dlm_master_list_entry *mle; mle 419 fs/ocfs2/dlm/dlmdebug.c hlist_for_each_entry(mle, bucket, master_hash_node) { mle 424 fs/ocfs2/dlm/dlmdebug.c out += dump_mle(mle, buf + out, len - out); mle 13 fs/ocfs2/dlm/dlmdebug.h void dlm_print_one_mle(struct dlm_master_list_entry *mle); mle 41 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 45 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 56 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 60 fs/ocfs2/dlm/dlmmaster.c if (dlm != mle->dlm) mle 63 fs/ocfs2/dlm/dlmmaster.c if (namelen != mle->mnamelen || mle 64 fs/ocfs2/dlm/dlmmaster.c memcmp(name, mle->mname, namelen) != 0) mle 75 fs/ocfs2/dlm/dlmmaster.c static void dlm_init_mle(struct dlm_master_list_entry *mle, mle 81 fs/ocfs2/dlm/dlmmaster.c static void dlm_put_mle(struct dlm_master_list_entry *mle); mle 82 fs/ocfs2/dlm/dlmmaster.c static void __dlm_put_mle(struct dlm_master_list_entry *mle); mle 84 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry **mle, mle 88 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, int to); mle 93 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 97 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 101 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 164 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle) mle 168 fs/ocfs2/dlm/dlmmaster.c list_add_tail(&mle->hb_events, &dlm->mle_hb_events); mle 173 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle) mle 175 fs/ocfs2/dlm/dlmmaster.c if (!list_empty(&mle->hb_events)) mle 176 fs/ocfs2/dlm/dlmmaster.c list_del_init(&mle->hb_events); mle 181 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle) mle 184 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 188 fs/ocfs2/dlm/dlmmaster.c static void dlm_get_mle_inuse(struct dlm_master_list_entry *mle) mle 191 fs/ocfs2/dlm/dlmmaster.c dlm = mle->dlm; mle 195 fs/ocfs2/dlm/dlmmaster.c mle->inuse++; mle 196 fs/ocfs2/dlm/dlmmaster.c kref_get(&mle->mle_refs); mle 199 fs/ocfs2/dlm/dlmmaster.c static void dlm_put_mle_inuse(struct dlm_master_list_entry *mle) mle 202 fs/ocfs2/dlm/dlmmaster.c dlm = mle->dlm; mle 206 fs/ocfs2/dlm/dlmmaster.c mle->inuse--; mle 207 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 214 fs/ocfs2/dlm/dlmmaster.c static void __dlm_put_mle(struct dlm_master_list_entry *mle) mle 217 fs/ocfs2/dlm/dlmmaster.c dlm = mle->dlm; mle 221 fs/ocfs2/dlm/dlmmaster.c if (!kref_read(&mle->mle_refs)) { mle 224 fs/ocfs2/dlm/dlmmaster.c mlog(ML_ERROR, "bad mle: %p\n", mle); mle 225 fs/ocfs2/dlm/dlmmaster.c dlm_print_one_mle(mle); mle 228 fs/ocfs2/dlm/dlmmaster.c kref_put(&mle->mle_refs, dlm_mle_release); mle 233 fs/ocfs2/dlm/dlmmaster.c static void dlm_put_mle(struct dlm_master_list_entry *mle) mle 236 fs/ocfs2/dlm/dlmmaster.c dlm = mle->dlm; mle 240 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 245 fs/ocfs2/dlm/dlmmaster.c static inline void dlm_get_mle(struct dlm_master_list_entry *mle) mle 247 fs/ocfs2/dlm/dlmmaster.c kref_get(&mle->mle_refs); mle 250 fs/ocfs2/dlm/dlmmaster.c static void dlm_init_mle(struct dlm_master_list_entry *mle, mle 259 fs/ocfs2/dlm/dlmmaster.c mle->dlm = dlm; mle 260 fs/ocfs2/dlm/dlmmaster.c mle->type = type; mle 261 fs/ocfs2/dlm/dlmmaster.c INIT_HLIST_NODE(&mle->master_hash_node); mle 262 fs/ocfs2/dlm/dlmmaster.c INIT_LIST_HEAD(&mle->hb_events); mle 263 fs/ocfs2/dlm/dlmmaster.c memset(mle->maybe_map, 0, sizeof(mle->maybe_map)); mle 264 fs/ocfs2/dlm/dlmmaster.c spin_lock_init(&mle->spinlock); mle 265 fs/ocfs2/dlm/dlmmaster.c init_waitqueue_head(&mle->wq); mle 266 fs/ocfs2/dlm/dlmmaster.c atomic_set(&mle->woken, 0); mle 267 fs/ocfs2/dlm/dlmmaster.c kref_init(&mle->mle_refs); mle 268 fs/ocfs2/dlm/dlmmaster.c memset(mle->response_map, 0, sizeof(mle->response_map)); mle 269 fs/ocfs2/dlm/dlmmaster.c mle->master = O2NM_MAX_NODES; mle 270 fs/ocfs2/dlm/dlmmaster.c mle->new_master = O2NM_MAX_NODES; mle 271 fs/ocfs2/dlm/dlmmaster.c mle->inuse = 0; mle 273 fs/ocfs2/dlm/dlmmaster.c BUG_ON(mle->type != DLM_MLE_BLOCK && mle 274 fs/ocfs2/dlm/dlmmaster.c mle->type != DLM_MLE_MASTER && mle 275 fs/ocfs2/dlm/dlmmaster.c mle->type != DLM_MLE_MIGRATION); mle 277 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_MASTER) { mle 279 fs/ocfs2/dlm/dlmmaster.c mle->mleres = res; mle 280 fs/ocfs2/dlm/dlmmaster.c memcpy(mle->mname, res->lockname.name, res->lockname.len); mle 281 fs/ocfs2/dlm/dlmmaster.c mle->mnamelen = res->lockname.len; mle 282 fs/ocfs2/dlm/dlmmaster.c mle->mnamehash = res->lockname.hash; mle 285 fs/ocfs2/dlm/dlmmaster.c mle->mleres = NULL; mle 286 fs/ocfs2/dlm/dlmmaster.c memcpy(mle->mname, name, namelen); mle 287 fs/ocfs2/dlm/dlmmaster.c mle->mnamelen = namelen; mle 288 fs/ocfs2/dlm/dlmmaster.c mle->mnamehash = dlm_lockid_hash(name, namelen); mle 291 fs/ocfs2/dlm/dlmmaster.c atomic_inc(&dlm->mle_tot_count[mle->type]); mle 292 fs/ocfs2/dlm/dlmmaster.c atomic_inc(&dlm->mle_cur_count[mle->type]); mle 295 fs/ocfs2/dlm/dlmmaster.c memcpy(mle->node_map, dlm->domain_map, sizeof(mle->node_map)); mle 296 fs/ocfs2/dlm/dlmmaster.c memcpy(mle->vote_map, dlm->domain_map, sizeof(mle->vote_map)); mle 297 fs/ocfs2/dlm/dlmmaster.c clear_bit(dlm->node_num, mle->vote_map); mle 298 fs/ocfs2/dlm/dlmmaster.c clear_bit(dlm->node_num, mle->node_map); mle 301 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_attach_hb_events(dlm, mle); mle 304 fs/ocfs2/dlm/dlmmaster.c void __dlm_unlink_mle(struct dlm_ctxt *dlm, struct dlm_master_list_entry *mle) mle 309 fs/ocfs2/dlm/dlmmaster.c if (!hlist_unhashed(&mle->master_hash_node)) mle 310 fs/ocfs2/dlm/dlmmaster.c hlist_del_init(&mle->master_hash_node); mle 313 fs/ocfs2/dlm/dlmmaster.c void __dlm_insert_mle(struct dlm_ctxt *dlm, struct dlm_master_list_entry *mle) mle 319 fs/ocfs2/dlm/dlmmaster.c bucket = dlm_master_hash(dlm, mle->mnamehash); mle 320 fs/ocfs2/dlm/dlmmaster.c hlist_add_head(&mle->master_hash_node, bucket); mle 325 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry **mle, mle 340 fs/ocfs2/dlm/dlmmaster.c *mle = tmpmle; mle 348 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle; mle 352 fs/ocfs2/dlm/dlmmaster.c list_for_each_entry(mle, &dlm->mle_hb_events, hb_events) { mle 354 fs/ocfs2/dlm/dlmmaster.c dlm_mle_node_up(dlm, mle, NULL, idx); mle 356 fs/ocfs2/dlm/dlmmaster.c dlm_mle_node_down(dlm, mle, NULL, idx); mle 361 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 364 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 366 fs/ocfs2/dlm/dlmmaster.c if (!test_bit(idx, mle->node_map)) mle 369 fs/ocfs2/dlm/dlmmaster.c clear_bit(idx, mle->node_map); mle 371 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 375 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 378 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 380 fs/ocfs2/dlm/dlmmaster.c if (test_bit(idx, mle->node_map)) mle 383 fs/ocfs2/dlm/dlmmaster.c set_bit(idx, mle->node_map); mle 385 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 407 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle; mle 410 fs/ocfs2/dlm/dlmmaster.c mle = container_of(kref, struct dlm_master_list_entry, mle_refs); mle 411 fs/ocfs2/dlm/dlmmaster.c dlm = mle->dlm; mle 416 fs/ocfs2/dlm/dlmmaster.c mlog(0, "Releasing mle for %.*s, type %d\n", mle->mnamelen, mle->mname, mle 417 fs/ocfs2/dlm/dlmmaster.c mle->type); mle 420 fs/ocfs2/dlm/dlmmaster.c __dlm_unlink_mle(dlm, mle); mle 423 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 425 fs/ocfs2/dlm/dlmmaster.c atomic_dec(&dlm->mle_cur_count[mle->type]); mle 429 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 709 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle = NULL; mle 816 fs/ocfs2/dlm/dlmmaster.c blocked = dlm_find_mle(dlm, &mle, (char *)lockid, namelen); mle 819 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_MASTER) { mle 823 fs/ocfs2/dlm/dlmmaster.c mig = (mle->type == DLM_MLE_MIGRATION); mle 832 fs/ocfs2/dlm/dlmmaster.c if (mig || mle->master != O2NM_MAX_NODES) { mle 833 fs/ocfs2/dlm/dlmmaster.c BUG_ON(mig && mle->master == dlm->node_num); mle 844 fs/ocfs2/dlm/dlmmaster.c dlm_mle_detach_hb_events(dlm, mle); mle 845 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle(mle); mle 846 fs/ocfs2/dlm/dlmmaster.c mle = NULL; mle 855 fs/ocfs2/dlm/dlmmaster.c mle = alloc_mle; mle 858 fs/ocfs2/dlm/dlmmaster.c dlm_init_mle(mle, DLM_MLE_MASTER, dlm, res, NULL, 0); mle 859 fs/ocfs2/dlm/dlmmaster.c set_bit(dlm->node_num, mle->maybe_map); mle 860 fs/ocfs2/dlm/dlmmaster.c __dlm_insert_mle(dlm, mle); mle 890 fs/ocfs2/dlm/dlmmaster.c dlm_get_mle_inuse(mle); mle 936 fs/ocfs2/dlm/dlmmaster.c dlm_node_iter_init(mle->vote_map, &iter); mle 938 fs/ocfs2/dlm/dlmmaster.c ret = dlm_do_master_request(res, mle, nodenum); mle 941 fs/ocfs2/dlm/dlmmaster.c if (mle->master != O2NM_MAX_NODES) { mle 943 fs/ocfs2/dlm/dlmmaster.c if (mle->master <= nodenum) mle 951 fs/ocfs2/dlm/dlmmaster.c lockid, nodenum, mle->master); mle 957 fs/ocfs2/dlm/dlmmaster.c ret = dlm_wait_for_lock_mastery(dlm, res, mle, &blocked); mle 969 fs/ocfs2/dlm/dlmmaster.c dlm_print_one_mle(mle); mle 981 fs/ocfs2/dlm/dlmmaster.c dlm_mle_detach_hb_events(dlm, mle); mle 982 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle(mle); mle 984 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle_inuse(mle); mle 1005 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 1026 fs/ocfs2/dlm/dlmmaster.c ret = dlm_do_master_request(res, mle, res->owner); mle 1039 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 1040 fs/ocfs2/dlm/dlmmaster.c m = mle->master; mle 1041 fs/ocfs2/dlm/dlmmaster.c map_changed = (memcmp(mle->vote_map, mle->node_map, mle 1042 fs/ocfs2/dlm/dlmmaster.c sizeof(mle->vote_map)) != 0); mle 1043 fs/ocfs2/dlm/dlmmaster.c voting_done = (memcmp(mle->vote_map, mle->response_map, mle 1044 fs/ocfs2/dlm/dlmmaster.c sizeof(mle->vote_map)) == 0); mle 1051 fs/ocfs2/dlm/dlmmaster.c ret = dlm_restart_lock_mastery(dlm, res, mle, *blocked); mle 1052 fs/ocfs2/dlm/dlmmaster.c b = (mle->type == DLM_MLE_BLOCK); mle 1059 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 1084 fs/ocfs2/dlm/dlmmaster.c bit = find_next_bit(mle->maybe_map, O2NM_MAX_NODES, 0); mle 1089 fs/ocfs2/dlm/dlmmaster.c mle->master = dlm->node_num; mle 1100 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 1105 fs/ocfs2/dlm/dlmmaster.c atomic_set(&mle->woken, 0); mle 1106 fs/ocfs2/dlm/dlmmaster.c (void)wait_event_timeout(mle->wq, mle 1107 fs/ocfs2/dlm/dlmmaster.c (atomic_read(&mle->woken) == 1), mle 1124 fs/ocfs2/dlm/dlmmaster.c ret = dlm_do_assert_master(dlm, res, mle->vote_map, 0); mle 1210 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 1221 fs/ocfs2/dlm/dlmmaster.c assert_spin_locked(&mle->spinlock); mle 1223 fs/ocfs2/dlm/dlmmaster.c dlm_bitmap_diff_iter_init(&bdi, mle->vote_map, mle->node_map); mle 1234 fs/ocfs2/dlm/dlmmaster.c clear_bit(node, mle->response_map); mle 1235 fs/ocfs2/dlm/dlmmaster.c set_bit(node, mle->vote_map); mle 1239 fs/ocfs2/dlm/dlmmaster.c int lowest = find_next_bit(mle->maybe_map, mle 1243 fs/ocfs2/dlm/dlmmaster.c clear_bit(node, mle->maybe_map); mle 1249 fs/ocfs2/dlm/dlmmaster.c lowest = find_next_bit(mle->maybe_map, mle 1274 fs/ocfs2/dlm/dlmmaster.c mle->type = DLM_MLE_MASTER; mle 1275 fs/ocfs2/dlm/dlmmaster.c mle->mleres = res; mle 1282 fs/ocfs2/dlm/dlmmaster.c memset(mle->maybe_map, 0, sizeof(mle->maybe_map)); mle 1283 fs/ocfs2/dlm/dlmmaster.c memset(mle->response_map, 0, sizeof(mle->response_map)); mle 1285 fs/ocfs2/dlm/dlmmaster.c memcpy(mle->vote_map, mle->node_map, mle 1286 fs/ocfs2/dlm/dlmmaster.c sizeof(mle->node_map)); mle 1288 fs/ocfs2/dlm/dlmmaster.c if (mle->type != DLM_MLE_BLOCK) mle 1289 fs/ocfs2/dlm/dlmmaster.c set_bit(dlm->node_num, mle->maybe_map); mle 1309 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, int to) mle 1311 fs/ocfs2/dlm/dlmmaster.c struct dlm_ctxt *dlm = mle->dlm; mle 1318 fs/ocfs2/dlm/dlmmaster.c BUG_ON(mle->type == DLM_MLE_MIGRATION); mle 1320 fs/ocfs2/dlm/dlmmaster.c request.namelen = (u8)mle->mnamelen; mle 1321 fs/ocfs2/dlm/dlmmaster.c memcpy(request.name, mle->mname, request.namelen); mle 1354 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 1357 fs/ocfs2/dlm/dlmmaster.c set_bit(to, mle->response_map); mle 1362 fs/ocfs2/dlm/dlmmaster.c mle->master = to; mle 1366 fs/ocfs2/dlm/dlmmaster.c set_bit(to, mle->response_map); mle 1370 fs/ocfs2/dlm/dlmmaster.c set_bit(to, mle->response_map); mle 1371 fs/ocfs2/dlm/dlmmaster.c set_bit(to, mle->maybe_map); mle 1382 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 1409 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle = NULL, *tmpmle = NULL; mle 1460 fs/ocfs2/dlm/dlmmaster.c if (mle) mle 1461 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 1469 fs/ocfs2/dlm/dlmmaster.c if (mle) mle 1470 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 1484 fs/ocfs2/dlm/dlmmaster.c if (mle) mle 1485 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 1549 fs/ocfs2/dlm/dlmmaster.c if (mle) mle 1550 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 1565 fs/ocfs2/dlm/dlmmaster.c if (!mle) { mle 1569 fs/ocfs2/dlm/dlmmaster.c mle = kmem_cache_alloc(dlm_mle_cache, GFP_NOFS); mle 1570 fs/ocfs2/dlm/dlmmaster.c if (!mle) { mle 1580 fs/ocfs2/dlm/dlmmaster.c dlm_init_mle(mle, DLM_MLE_BLOCK, dlm, NULL, name, namelen); mle 1581 fs/ocfs2/dlm/dlmmaster.c set_bit(request->node_idx, mle->maybe_map); mle 1582 fs/ocfs2/dlm/dlmmaster.c __dlm_insert_mle(dlm, mle); mle 1677 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle = NULL; mle 1708 fs/ocfs2/dlm/dlmmaster.c if (dlm_find_mle(dlm, &mle, (char *)lockname, mle 1710 fs/ocfs2/dlm/dlmmaster.c dlm_print_one_mle(mle); mle 1711 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 1765 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle = NULL; mle 1794 fs/ocfs2/dlm/dlmmaster.c if (!dlm_find_mle(dlm, &mle, name, namelen)) { mle 1800 fs/ocfs2/dlm/dlmmaster.c int bit = find_next_bit (mle->maybe_map, O2NM_MAX_NODES, 0); mle 1823 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_MIGRATION) { mle 1834 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 1853 fs/ocfs2/dlm/dlmmaster.c if (!mle) { mle 1863 fs/ocfs2/dlm/dlmmaster.c } else if (mle->type != DLM_MLE_MIGRATION) { mle 1888 fs/ocfs2/dlm/dlmmaster.c if (assert->node_idx != mle->new_master) { mle 1892 fs/ocfs2/dlm/dlmmaster.c assert->node_idx, mle->new_master, mle 1893 fs/ocfs2/dlm/dlmmaster.c mle->master, namelen, name); mle 1904 fs/ocfs2/dlm/dlmmaster.c if (mle) { mle 1909 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 1910 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_BLOCK || mle->type == DLM_MLE_MIGRATION) mle 1916 fs/ocfs2/dlm/dlmmaster.c while ((nn = find_next_bit (mle->response_map, O2NM_MAX_NODES, mle 1924 fs/ocfs2/dlm/dlmmaster.c mle->master = assert->node_idx; mle 1925 fs/ocfs2/dlm/dlmmaster.c atomic_set(&mle->woken, 1); mle 1926 fs/ocfs2/dlm/dlmmaster.c wake_up(&mle->wq); mle 1927 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 1932 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_MIGRATION) { mle 1936 fs/ocfs2/dlm/dlmmaster.c dlm->node_num, mle->new_master); mle 1939 fs/ocfs2/dlm/dlmmaster.c dlm_change_lockres_owner(dlm, res, mle->new_master); mle 1942 fs/ocfs2/dlm/dlmmaster.c dlm_change_lockres_owner(dlm, res, mle->master); mle 1955 fs/ocfs2/dlm/dlmmaster.c rr = kref_read(&mle->mle_refs); mle 1956 fs/ocfs2/dlm/dlmmaster.c if (mle->inuse > 0) { mle 1971 fs/ocfs2/dlm/dlmmaster.c assert->node_idx, rr, extra_ref, mle->inuse); mle 1972 fs/ocfs2/dlm/dlmmaster.c dlm_print_one_mle(mle); mle 1974 fs/ocfs2/dlm/dlmmaster.c __dlm_unlink_mle(dlm, mle); mle 1975 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 1976 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 1982 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 2028 fs/ocfs2/dlm/dlmmaster.c if (mle) mle 2029 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 2545 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle = NULL; mle 2573 fs/ocfs2/dlm/dlmmaster.c mle = kmem_cache_alloc(dlm_mle_cache, GFP_NOFS); mle 2574 fs/ocfs2/dlm/dlmmaster.c if (!mle) { mle 2586 fs/ocfs2/dlm/dlmmaster.c ret = dlm_add_migration_mle(dlm, res, mle, &oldmle, name, mle 2593 fs/ocfs2/dlm/dlmmaster.c dlm_get_mle_inuse(mle); mle 2628 fs/ocfs2/dlm/dlmmaster.c dlm_mle_detach_hb_events(dlm, mle); mle 2629 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle(mle); mle 2630 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle_inuse(mle); mle 2631 fs/ocfs2/dlm/dlmmaster.c } else if (mle) { mle 2632 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 2633 fs/ocfs2/dlm/dlmmaster.c mle = NULL; mle 2659 fs/ocfs2/dlm/dlmmaster.c dlm_mle_detach_hb_events(dlm, mle); mle 2660 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle(mle); mle 2661 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle_inuse(mle); mle 2685 fs/ocfs2/dlm/dlmmaster.c ret = wait_event_interruptible_timeout(mle->wq, mle 2686 fs/ocfs2/dlm/dlmmaster.c (atomic_read(&mle->woken) == 1), mle 2690 fs/ocfs2/dlm/dlmmaster.c if (atomic_read(&mle->woken) == 1 || mle 2705 fs/ocfs2/dlm/dlmmaster.c dlm_mle_detach_hb_events(dlm, mle); mle 2706 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle(mle); mle 2707 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle_inuse(mle); mle 2728 fs/ocfs2/dlm/dlmmaster.c dlm_mle_detach_hb_events(dlm, mle); mle 2729 fs/ocfs2/dlm/dlmmaster.c dlm_put_mle_inuse(mle); mle 3110 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle = NULL, *oldmle = NULL; mle 3123 fs/ocfs2/dlm/dlmmaster.c mle = kmem_cache_alloc(dlm_mle_cache, GFP_NOFS); mle 3125 fs/ocfs2/dlm/dlmmaster.c if (!mle) { mle 3142 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 3152 fs/ocfs2/dlm/dlmmaster.c ret = dlm_add_migration_mle(dlm, res, mle, &oldmle, mle 3158 fs/ocfs2/dlm/dlmmaster.c kmem_cache_free(dlm_mle_cache, mle); mle 3186 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, mle 3245 fs/ocfs2/dlm/dlmmaster.c dlm_init_mle(mle, DLM_MLE_MIGRATION, dlm, res, name, namelen); mle 3246 fs/ocfs2/dlm/dlmmaster.c mle->new_master = new_master; mle 3249 fs/ocfs2/dlm/dlmmaster.c mle->master = master; mle 3251 fs/ocfs2/dlm/dlmmaster.c set_bit(new_master, mle->maybe_map); mle 3252 fs/ocfs2/dlm/dlmmaster.c __dlm_insert_mle(dlm, mle); mle 3261 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle) mle 3266 fs/ocfs2/dlm/dlmmaster.c res = __dlm_lookup_lockres(dlm, mle->mname, mle->mnamelen, mle 3267 fs/ocfs2/dlm/dlmmaster.c mle->mnamehash); mle 3279 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 3283 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 3291 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle) mle 3293 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 3295 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 3296 fs/ocfs2/dlm/dlmmaster.c __dlm_unlink_mle(dlm, mle); mle 3297 fs/ocfs2/dlm/dlmmaster.c atomic_set(&mle->woken, 1); mle 3298 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 3300 fs/ocfs2/dlm/dlmmaster.c wake_up(&mle->wq); mle 3304 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle, u8 dead_node) mle 3308 fs/ocfs2/dlm/dlmmaster.c BUG_ON(mle->type != DLM_MLE_BLOCK); mle 3310 fs/ocfs2/dlm/dlmmaster.c spin_lock(&mle->spinlock); mle 3311 fs/ocfs2/dlm/dlmmaster.c bit = find_next_bit(mle->maybe_map, O2NM_MAX_NODES, 0); mle 3315 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 3322 fs/ocfs2/dlm/dlmmaster.c atomic_set(&mle->woken, 1); mle 3323 fs/ocfs2/dlm/dlmmaster.c spin_unlock(&mle->spinlock); mle 3324 fs/ocfs2/dlm/dlmmaster.c wake_up(&mle->wq); mle 3327 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 3328 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 3334 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle; mle 3348 fs/ocfs2/dlm/dlmmaster.c hlist_for_each_entry_safe(mle, tmp, bucket, master_hash_node) { mle 3349 fs/ocfs2/dlm/dlmmaster.c BUG_ON(mle->type != DLM_MLE_BLOCK && mle 3350 fs/ocfs2/dlm/dlmmaster.c mle->type != DLM_MLE_MASTER && mle 3351 fs/ocfs2/dlm/dlmmaster.c mle->type != DLM_MLE_MIGRATION); mle 3356 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_MASTER) mle 3362 fs/ocfs2/dlm/dlmmaster.c if (mle->type == DLM_MLE_BLOCK) { mle 3363 fs/ocfs2/dlm/dlmmaster.c dlm_clean_block_mle(dlm, mle, dead_node); mle 3378 fs/ocfs2/dlm/dlmmaster.c if (mle->master != dead_node && mle 3379 fs/ocfs2/dlm/dlmmaster.c mle->new_master != dead_node) mle 3382 fs/ocfs2/dlm/dlmmaster.c if (mle->new_master == dead_node && mle->inuse) { mle 3387 fs/ocfs2/dlm/dlmmaster.c mle->master); mle 3393 fs/ocfs2/dlm/dlmmaster.c dlm_clean_migration_mle(dlm, mle); mle 3396 fs/ocfs2/dlm/dlmmaster.c "%u to %u!\n", dlm->name, dead_node, mle->master, mle 3397 fs/ocfs2/dlm/dlmmaster.c mle->new_master); mle 3404 fs/ocfs2/dlm/dlmmaster.c res = dlm_reset_mleres_owner(dlm, mle); mle 3410 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle); mle 3537 fs/ocfs2/dlm/dlmmaster.c struct dlm_master_list_entry *mle; mle 3554 fs/ocfs2/dlm/dlmmaster.c hlist_for_each_entry_safe(mle, tmp, bucket, master_hash_node) { mle 3555 fs/ocfs2/dlm/dlmmaster.c if (mle->type != DLM_MLE_BLOCK) { mle 3556 fs/ocfs2/dlm/dlmmaster.c mlog(ML_ERROR, "bad mle: %p\n", mle); mle 3557 fs/ocfs2/dlm/dlmmaster.c dlm_print_one_mle(mle); mle 3559 fs/ocfs2/dlm/dlmmaster.c atomic_set(&mle->woken, 1); mle 3560 fs/ocfs2/dlm/dlmmaster.c wake_up(&mle->wq); mle 3562 fs/ocfs2/dlm/dlmmaster.c __dlm_unlink_mle(dlm, mle); mle 3563 fs/ocfs2/dlm/dlmmaster.c __dlm_mle_detach_hb_events(dlm, mle); mle 3564 fs/ocfs2/dlm/dlmmaster.c __dlm_put_mle(mle);