Motr  M0
I/O Service Operations

Data Structures

struct  m0_rios_buffer_pool
 
struct  m0_reqh_io_service
 
struct  m0_ios_mds_conn
 
struct  m0_ios_mds_conn_map
 

Macros

#define M0_BYTECOUNT_USER_ID   8881212
 

Enumerations

enum  { M0T1FS_MAX_NR_MDS = 1024 }
 

Functions

M0_INTERNAL int m0_ios_register (void)
 
M0_INTERNAL void m0_ios_unregister (void)
 
M0_INTERNAL bool m0_reqh_io_service_invariant (const struct m0_reqh_io_service *rios)
 
M0_INTERNAL void m0_ios_cdom_get (struct m0_reqh *reqh, struct m0_cob_domain **out)
 
M0_INTERNAL void m0_ios_cdom_fini (struct m0_reqh *reqh)
 
M0_INTERNAL void m0_ios_mds_conn_fini (struct m0_reqh *reqh)
 
M0_INTERNAL int m0_ios_mds_getattr (struct m0_reqh *reqh, const struct m0_fid *gfid, struct m0_cob_attr *attr)
 
M0_INTERNAL int m0_ios_getattr (struct m0_reqh *reqh, const struct m0_fid *gfid, uint64_t index, struct m0_cob_attr *attr)
 
M0_INTERNAL int m0_ios_mds_getattr_async (struct m0_reqh *reqh, const struct m0_fid *gfid, struct m0_cob_attr *attr, void(*cb)(void *arg, int rc), void *arg)
 
M0_INTERNAL int m0_ios_getattr_async (struct m0_reqh *reqh, const struct m0_fid *gfid, struct m0_cob_attr *attr, uint64_t index, void(*cb)(void *arg, int rc), void *arg)
 
M0_INTERNAL int m0_ios_cob_getattr_async (const struct m0_fid *gfid, struct m0_cob_attr *attr, uint64_t cob_idx, struct m0_pool_version *pv, void(*cb)(void *arg, int rc), void *arg)
 
M0_INTERNAL void m0_ios_net_buffer_pool_size_set (uint32_t buffer_pool_size)
 

Detailed Description

See also
DLD of Bulk Server
Request handler

I/O Service initialization and operations controlled by request handler.

I/O Service defines service type operation vector -

I/O Service defines service operation vector -

State transition diagram for I/O Service will be available at Request handler

Macro Definition Documentation

◆ M0_BYTECOUNT_USER_ID

#define M0_BYTECOUNT_USER_ID   8881212

Temporary hard coded user id to be used for bytecount btree key

Definition at line 72 of file io_service.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
M0T1FS_MAX_NR_MDS 

Definition at line 136 of file io_service.h.

Function Documentation

◆ m0_ios_cdom_fini()

M0_INTERNAL void m0_ios_cdom_fini ( struct m0_reqh reqh)

Definition at line 474 of file io_service.c.

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

◆ m0_ios_cdom_get()

M0_INTERNAL void m0_ios_cdom_get ( struct m0_reqh reqh,
struct m0_cob_domain **  out 
)
Todo:
: This function is used by copy machine module, but not used by IO service. Corresponding ticket: MOTR-1190.

Definition at line 463 of file io_service.c.

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

◆ m0_ios_cob_getattr_async()

M0_INTERNAL int m0_ios_cob_getattr_async ( const struct m0_fid gfid,
struct m0_cob_attr attr,
uint64_t  cob_idx,
struct m0_pool_version pv,
void(*)(void *arg, int rc cb,
void *  arg 
)

Definition at line 891 of file io_service.c.

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

◆ m0_ios_getattr()

M0_INTERNAL int m0_ios_getattr ( struct m0_reqh reqh,
const struct m0_fid gfid,
uint64_t  index,
struct m0_cob_attr attr 
)

Getattr of file from ioservice synchronously.

Definition at line 814 of file io_service.c.

Here is the call graph for this function:

◆ m0_ios_getattr_async()

M0_INTERNAL int m0_ios_getattr_async ( struct m0_reqh reqh,
const struct m0_fid gfid,
struct m0_cob_attr attr,
uint64_t  index,
void(*)(void *arg, int rc cb,
void *  arg 
)

getattr from ioservice asynchronously.

Definition at line 916 of file io_service.c.

Here is the call graph for this function:

◆ m0_ios_mds_conn_fini()

M0_INTERNAL void m0_ios_mds_conn_fini ( struct m0_reqh reqh)

Terminates and clears the ioservice to mdservice connection.

Definition at line 617 of file io_service.c.

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

◆ m0_ios_mds_getattr()

M0_INTERNAL int m0_ios_mds_getattr ( struct m0_reqh reqh,
const struct m0_fid gfid,
struct m0_cob_attr attr 
)

Gets file attributes from mdservice.

Parameters
reqhthe request handler.
gfidthe global fid of the file.
attrthe returned attributes will be stored here.
Note
This is a block operation in service. m0_fom_block_enter()/m0_fom_block_leave() must be used to notify fom.

Definition at line 663 of file io_service.c.

Here is the call graph for this function:

◆ m0_ios_mds_getattr_async()

M0_INTERNAL int m0_ios_mds_getattr_async ( struct m0_reqh reqh,
const struct m0_fid gfid,
struct m0_cob_attr attr,
void(*)(void *arg, int rc cb,
void *  arg 
)

getattr from mdservice asynchronously.

Definition at line 940 of file io_service.c.

Here is the call graph for this function:

◆ m0_ios_net_buffer_pool_size_set()

M0_INTERNAL void m0_ios_net_buffer_pool_size_set ( uint32_t  buffer_pool_size)

Sets default values for buf_nr for m0_net_buffer_pool_provision() in ioservice.

Note
It sets a static variable, so this change is persistent across m0_init()/m0_fini().
See also
ios_net_buffer_pool_size

Definition at line 994 of file io_service.c.

Here is the caller graph for this function:

◆ m0_ios_register()

M0_INTERNAL int m0_ios_register ( void  )

Registers I/O service with motr node. Motr setup calls this function.

Definition at line 158 of file io_service.c.

Here is the call graph for this function:

◆ m0_ios_unregister()

M0_INTERNAL void m0_ios_unregister ( void  )

Unregisters I/O service from motr node.

Definition at line 174 of file io_service.c.

Here is the call graph for this function:

◆ m0_reqh_io_service_invariant()

M0_INTERNAL bool m0_reqh_io_service_invariant ( const struct m0_reqh_io_service rios)

Definition at line 183 of file io_service.c.

Here is the caller graph for this function: