Motr  M0
m0_poolmach Struct Reference

#include <pool_machine.h>

Collaboration diagram for m0_poolmach:
Collaboration graph

Data Fields

struct m0_poolmach_statepm_state
 
struct m0_pool_versionpm_pver
 
bool pm_is_initialised
 
struct m0_rwlock pm_lock
 

Detailed Description

pool machine. Data structure representing replicated pool state machine.

Concurrency control: pool machine state is protected by a single read-write blocking lock. "Normal" operations, e.g., client IO, including degraded mode IO, take this lock in a read mode, because they only inspect pool machine state (e.g., version numbers vector) never modifying it. "Configuration" events such as node or device failures, addition or removal of a node or device and administrative actions against the pool, all took the lock in a write mode.

Definition at line 168 of file pool_machine.h.

Field Documentation

◆ pm_is_initialised

bool pm_is_initialised

This pool machine initialized or not.

Definition at line 175 of file pool_machine.h.

◆ pm_lock

struct m0_rwlock pm_lock

Read write lock to protect the whole pool machine.

Definition at line 178 of file pool_machine.h.

◆ pm_pver

struct m0_pool_version* pm_pver

Current pool version associated with this pool machine.

Definition at line 172 of file pool_machine.h.

◆ pm_state

struct m0_poolmach_state* pm_state

Definition at line 169 of file pool_machine.h.


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