Motr
M0
|
#include <rm.h>
Data Fields | |
struct m0_rm_resource_type * | r_type |
const struct m0_rm_resource_ops * | r_ops |
struct m0_tlink | r_linkage |
struct m0_tl | r_remotes |
struct m0_mutex | r_mutex |
struct m0_tl | r_local |
uint32_t | r_ref |
uint64_t | r_magix |
Represents a resource identity (i.e., a name). Multiple copies of the same name may exist in different resource management domains, but no more than a single copy per domain.
m0_rm_resource is allocated and destroyed by the appropriate resource type. An instance of m0_rm_resource would be typically embedded into a larger resource type specific structure containing details of resource identification.
Generic code uses m0_rm_resource to efficiently compare resource identities.
struct m0_tlink r_linkage |
Linkage to a list of all resources of this type, hanging off m0_rm_resource_type::rt_resources.
struct m0_tl r_local |
List of local owners (linked through m0_rm_owner::ro_owner_linkage)
struct m0_mutex r_mutex |
const struct m0_rm_resource_ops* r_ops |
uint32_t r_ref |
Active references to this resource from resource owners (m0_rm_resource::r_type) and from remote resource owners (m0_rm_remote::rem_resource) Protected by m0_rm_resource_type::rt_lock.
struct m0_tl r_remotes |
List of remote owners (linked through m0_rm_remote::rem_res_linkage) with which local owners of credits to this resource communicates.
struct m0_rm_resource_type* r_type |