Motr  M0
Collaboration diagram for RWLock:

Data Structures

struct  m0_rw_lockable
 

Enumerations

enum  m0_rm_rwlock_req_type { RM_RWLOCK_READ, RM_RWLOCK_WRITE }
 

Functions

M0_INTERNAL void m0_rw_lockable_init (struct m0_rw_lockable *lockable, const struct m0_fid *fid, struct m0_rm_domain *dom)
 
M0_INTERNAL void m0_rw_lockable_fini (struct m0_rw_lockable *lockable)
 
M0_INTERNAL void m0_rm_rwlock_owner_init (struct m0_rm_owner *owner, struct m0_fid *fid, struct m0_rw_lockable *lockable, struct m0_rm_remote *creditor)
 
M0_INTERNAL void m0_rm_rwlock_owner_fini (struct m0_rm_owner *owner)
 
M0_INTERNAL void m0_rm_rwlock_req_init (struct m0_rm_incoming *req, struct m0_rm_owner *owner, const struct m0_rm_incoming_ops *ops, enum m0_rm_incoming_flags flags, enum m0_rm_rwlock_req_type type)
 
M0_INTERNAL void m0_rm_rwlock_req_fini (struct m0_rm_incoming *req)
 
M0_INTERNAL int m0_rw_lockable_type_register (struct m0_rm_domain *dom, struct m0_rm_resource_type *rtype)
 
M0_INTERNAL void m0_rw_lockable_type_deregister (struct m0_rm_resource_type *rtype)
 
M0_INTERNAL int m0_rwlockable_domain_type_init (struct m0_rm_domain *rwl_dom, struct m0_rm_resource_type *rwl_rt)
 
M0_INTERNAL void m0_rwlockable_domain_type_fini (struct m0_rm_domain *rwl_dom, struct m0_rm_resource_type *rwl_rt)
 

Variables

const struct m0_fid M0_RWLOCK_FID
 

Detailed Description

See also
Resource management Functional Specification

Enumeration Type Documentation

◆ m0_rm_rwlock_req_type

Enumerator
RM_RWLOCK_READ 
RM_RWLOCK_WRITE 

Definition at line 104 of file rm_rwlock.h.

Function Documentation

◆ m0_rm_rwlock_owner_fini()

M0_INTERNAL void m0_rm_rwlock_owner_fini ( struct m0_rm_owner owner)

Definition at line 542 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rm_rwlock_owner_init()

M0_INTERNAL void m0_rm_rwlock_owner_init ( struct m0_rm_owner owner,
struct m0_fid fid,
struct m0_rw_lockable lockable,
struct m0_rm_remote creditor 
)

Definition at line 532 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rm_rwlock_req_fini()

M0_INTERNAL void m0_rm_rwlock_req_fini ( struct m0_rm_incoming req)

Definition at line 567 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rm_rwlock_req_init()

M0_INTERNAL void m0_rm_rwlock_req_init ( struct m0_rm_incoming req,
struct m0_rm_owner owner,
const struct m0_rm_incoming_ops ops,
enum m0_rm_incoming_flags  flags,
enum m0_rm_rwlock_req_type  type 
)

Definition at line 548 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rw_lockable_fini()

M0_INTERNAL void m0_rw_lockable_fini ( struct m0_rw_lockable lockable)

Definition at line 523 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rw_lockable_init()

M0_INTERNAL void m0_rw_lockable_init ( struct m0_rw_lockable lockable,
const struct m0_fid fid,
struct m0_rm_domain dom 
)

Definition at line 508 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rw_lockable_type_deregister()

M0_INTERNAL void m0_rw_lockable_type_deregister ( struct m0_rm_resource_type rtype)

Definition at line 588 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rw_lockable_type_register()

M0_INTERNAL int m0_rw_lockable_type_register ( struct m0_rm_domain dom,
struct m0_rm_resource_type rtype 
)

Definition at line 575 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rwlockable_domain_type_fini()

M0_INTERNAL void m0_rwlockable_domain_type_fini ( struct m0_rm_domain rwl_dom,
struct m0_rm_resource_type rwl_rt 
)

RW lockable domain and type finaliser.

Definition at line 267 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ m0_rwlockable_domain_type_init()

M0_INTERNAL int m0_rwlockable_domain_type_init ( struct m0_rm_domain rwl_dom,
struct m0_rm_resource_type rwl_rt 
)

RW lockable domain and type initialiser.

Definition at line 256 of file rm_rwlock.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ M0_RWLOCK_FID

const struct m0_fid M0_RWLOCK_FID

Fid used with rwlockable resources

Definition at line 596 of file rm_rwlock.c.