down_read(&active_config->nmc_range_tree_lock);
nm_member_reclassify_nodemap(nodemap);
up_read(&active_config->nmc_range_tree_lock);
- mutex_unlock(&active_config_lock);
-
- if (!list_empty(&nodemap->nm_member_list))
- CWARN("nodemap_destroy failed to reclassify all members\n");
write_lock(&nodemap->nm_idmap_lock);
idmap_delete_tree(nodemap);
write_unlock(&nodemap->nm_idmap_lock);
+ mutex_unlock(&active_config_lock);
+
+ if (!list_empty(&nodemap->nm_member_list))
+ CWARN("nodemap_destroy failed to reclassify all members\n");
+
nm_member_delete_list(nodemap);
OBD_FREE_PTR(nodemap);
else
nodemap = active_config->nmc_default_nodemap;
+ LASSERT(nodemap != NULL);
nodemap_getref(nodemap);
return nodemap;
{
struct lu_nodemap *nodemap;
int rc;
+ ENTRY;
mutex_lock(&active_config_lock);
down_read(&active_config->nmc_range_tree_lock);
nodemap_putref(nodemap);
- return rc;
+ RETURN(rc);
}
EXPORT_SYMBOL(nodemap_add_member);
ENTRY;
LASSERT(active_config != config);
+ LASSERT(config->nmc_default_nodemap);
mutex_lock(&active_config_lock);
EXIT;
}
-EXPORT_SYMBOL(nodemap_config_set_active);
/**
* Cleanup nodemap module on exit