Motr  M0
Server machine

Data Structures

struct  m0_rlimit
 
struct  m0_poolserver
 

Enumerations

enum  sns_repair_state { SRS_UNINITIALIZED = 1, SRS_REPAIR_NOTDONE, SRS_REPAIR_DONE, SRS_NR }
 

Functions

M0_INTERNAL int m0_poolserver_init (struct m0_poolserver *srv)
 
M0_INTERNAL void m0_poolserver_fini (struct m0_poolserver *srv)
 
M0_INTERNAL int m0_poolserver_reset (struct m0_poolserver *srv)
 
M0_INTERNAL int m0_poolserver_on (struct m0_poolserver *srv)
 
M0_INTERNAL int m0_poolserver_off (struct m0_poolserver *srv)
 
M0_INTERNAL int m0_poolserver_io_req (struct m0_poolserver *srv, struct m0_io_req *req)
 
M0_INTERNAL int m0_poolserver_device_join (struct m0_poolserver *srv, struct m0_pooldev *dev)
 
M0_INTERNAL int m0_poolserver_device_leave (struct m0_poolserver *srv, struct m0_pooldev *dev)
 
M0_INTERNAL int m0_pool_device_reopen (struct m0_poolmach *pm, struct m0_reqh *rs_reqh)
 
M0_INTERNAL int m0_pool_device_state_update (struct m0_reqh *reqh, struct m0_be_tx *tx, struct m0_fid *dev_fid, enum m0_pool_nd_state new_state)
 
M0_INTERNAL void m0_poolnode_clink_add (struct m0_clink *link, struct m0_chan *chan)
 
M0_INTERNAL void m0_poolnode_clink_del (struct m0_clink *cl)
 
M0_INTERNAL void m0_pooldev_clink_add (struct m0_clink *link, struct m0_chan *chan)
 
M0_INTERNAL void m0_pooldev_clink_del (struct m0_clink *cl)
 
M0_INTERNAL uint32_t m0_ha2pm_state_map (enum m0_ha_obj_state hastate)
 
M0_INTERNAL const char * m0_pool_dev_state_to_str (enum m0_pool_nd_state state)
 
M0_INTERNAL struct m0_poolm0_pool_find (struct m0_pools_common *pc, const struct m0_fid *pool)
 
M0_INTERNAL void m0_pools_lock (struct m0_pools_common *pc)
 
M0_INTERNAL void m0_pools_unlock (struct m0_pools_common *pc)
 
M0_INTERNAL bool m0_pools_is_locked (struct m0_pools_common *pc)
 

Detailed Description

Enumeration Type Documentation

◆ sns_repair_state

State of SNS repair with respect to given global fid. Used during degraded mode write IO. During normal IO, the UNINITIALIZED enum value is used. The next 2 states are used during degraded mode write IO.

Enumerator
SRS_UNINITIALIZED 

Used by IO requests done during healthy state of storage pool. Initialized to -1 in order to sync it with output of API m0_sns_cm_fid_repair_done().

SRS_REPAIR_NOTDONE 

Assumes a distributed lock has been acquired on the associated global fid and SNS repair is yet to start on given global fid.

SRS_REPAIR_DONE 

Assumes a distributed lock has been acquired on associated global fid and SNS repair has completed for given fid.

SRS_NR 

Definition at line 568 of file pool.h.

Function Documentation

◆ m0_ha2pm_state_map()

M0_INTERNAL uint32_t m0_ha2pm_state_map ( enum m0_ha_obj_state  hastate)

Definition at line 1905 of file pool.c.

Here is the caller graph for this function:

◆ m0_pool_dev_state_to_str()

M0_INTERNAL const char* m0_pool_dev_state_to_str ( enum m0_pool_nd_state  state)

Converts numeric device state to string representation.

Definition at line 290 of file pool.c.

Here is the caller graph for this function:

◆ m0_pool_device_reopen()

M0_INTERNAL int m0_pool_device_reopen ( struct m0_poolmach pm,
struct m0_reqh reqh 
)

Find out device ids of the REPAIRED devices in the given pool machine and call m0_motr_stob_reopen() on each of them.

Definition at line 2011 of file pool.c.

Here is the call graph for this function:

◆ m0_pool_device_state_update()

M0_INTERNAL int m0_pool_device_state_update ( struct m0_reqh reqh,
struct m0_be_tx tx,
struct m0_fid dev_fid,
enum m0_pool_nd_state  new_state 
)

Iterate over all pool versions and update corresponding poolmachines containing provided disk. Also updates ios disk state in ios poolmachine.

Iterate over all pool versions and update corresponding poolmachines containing provided disk.

Definition at line 2068 of file pool.c.

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

◆ m0_pool_find()

M0_INTERNAL struct m0_pool* m0_pool_find ( struct m0_pools_common pc,
const struct m0_fid pool 
)

Definition at line 257 of file pool.c.

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

◆ m0_pooldev_clink_add()

M0_INTERNAL void m0_pooldev_clink_add ( struct m0_clink link,
struct m0_chan chan 
)

Register clink of pooldev to disk conf object's wait channel to receive HA notifications.

Definition at line 1999 of file pool.c.

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

◆ m0_pooldev_clink_del()

M0_INTERNAL void m0_pooldev_clink_del ( struct m0_clink cl)

Delete clink of pooldev

Definition at line 1984 of file pool.c.

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

◆ m0_poolnode_clink_add()

M0_INTERNAL void m0_poolnode_clink_add ( struct m0_clink link,
struct m0_chan chan 
)

Register clink of poolnode to node conf object's wait channel to receive HA notifications.

Definition at line 1977 of file pool.c.

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

◆ m0_poolnode_clink_del()

M0_INTERNAL void m0_poolnode_clink_del ( struct m0_clink cl)

Delete clink of poolnode

Definition at line 1962 of file pool.c.

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

◆ m0_pools_is_locked()

M0_INTERNAL bool m0_pools_is_locked ( struct m0_pools_common pc)

Definition at line 2115 of file pool.c.

Here is the call graph for this function:

◆ m0_pools_lock()

M0_INTERNAL void m0_pools_lock ( struct m0_pools_common pc)

Definition at line 2105 of file pool.c.

Here is the call graph for this function:

◆ m0_pools_unlock()

M0_INTERNAL void m0_pools_unlock ( struct m0_pools_common pc)

Definition at line 2110 of file pool.c.

Here is the call graph for this function:

◆ m0_poolserver_device_join()

M0_INTERNAL int m0_poolserver_device_join ( struct m0_poolserver srv,
struct m0_pooldev dev 
)

◆ m0_poolserver_device_leave()

M0_INTERNAL int m0_poolserver_device_leave ( struct m0_poolserver srv,
struct m0_pooldev dev 
)

◆ m0_poolserver_fini()

M0_INTERNAL void m0_poolserver_fini ( struct m0_poolserver srv)

◆ m0_poolserver_init()

M0_INTERNAL int m0_poolserver_init ( struct m0_poolserver srv)

◆ m0_poolserver_io_req()

M0_INTERNAL int m0_poolserver_io_req ( struct m0_poolserver srv,
struct m0_io_req *  req 
)

◆ m0_poolserver_off()

M0_INTERNAL int m0_poolserver_off ( struct m0_poolserver srv)

◆ m0_poolserver_on()

M0_INTERNAL int m0_poolserver_on ( struct m0_poolserver srv)

◆ m0_poolserver_reset()

M0_INTERNAL int m0_poolserver_reset ( struct m0_poolserver srv)