|
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 |