Motr  M0
m0_rm_resource Struct Reference

#include <rm.h>

Collaboration diagram for m0_rm_resource:
Collaboration graph

Data Fields

struct m0_rm_resource_typer_type
 
const struct m0_rm_resource_opsr_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
 

Detailed Description

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.

Definition at line 303 of file rm.h.

Field Documentation

◆ r_linkage

struct m0_tlink r_linkage

Linkage to a list of all resources of this type, hanging off m0_rm_resource_type::rt_resources.

Definition at line 310 of file rm.h.

◆ r_local

struct m0_tl r_local

List of local owners (linked through m0_rm_owner::ro_owner_linkage)

Definition at line 323 of file rm.h.

◆ r_magix

uint64_t r_magix

Definition at line 331 of file rm.h.

◆ r_mutex

struct m0_mutex r_mutex

Used to protect r_remotes list from concurrent remote destruction.

Definition at line 319 of file rm.h.

◆ r_ops

const struct m0_rm_resource_ops* r_ops

Definition at line 305 of file rm.h.

◆ r_ref

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.

Definition at line 330 of file rm.h.

◆ r_remotes

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.

Definition at line 315 of file rm.h.

◆ r_type

struct m0_rm_resource_type* r_type

Definition at line 304 of file rm.h.


The documentation for this struct was generated from the following file: