Motr  M0
target_ioreq Struct Reference

#include <file_internal.h>

Collaboration diagram for target_ioreq:
Collaboration graph

Data Fields

uint64_t ti_magic
 
struct m0_fid ti_fid
 
uint64_t ti_obj
 
int ti_rc
 
uint64_t ti_parbytes
 
uint64_t ti_databytes
 
struct m0_tl ti_iofops
 
struct cc_req_fop ti_cc_fop
 
bool ti_cc_fop_inited
 
struct m0_rpc_sessionti_session
 
struct m0_hlink ti_link
 
struct m0_indexvec_varr ti_ivv
 
struct m0_indexvec_varr ti_bufvec
 
struct dgmode_rwvecti_dgvec
 
struct m0_varr ti_pageattrs
 
const struct target_ioreq_opsti_ops
 
struct nw_xfer_requestti_nwxfer
 
enum m0_pool_nd_state ti_state
 
enum target_ioreq_type ti_req_type
 
m0_time_t ti_start_time
 
m0_bindex_t ti_goff
 
struct m0_indexvec ti_ivec
 
struct m0_indexvec ti_trunc_ivec
 
struct m0_bufvec ti_bufvec
 
struct m0_bufvec ti_auxbufvec
 
struct m0_buf ti_attrbuf
 
m0_bcount_t ti_cksum_copied
 
uint32_t * ti_cksum_seg_b_nob
 
struct m0_indexvec ti_goff_ivec
 
enum page_attrti_pageattrs
 

Detailed Description

Collection of IO extents and buffers, directed toward particular target object (data_unit / parity_unit) in a parity group. These structures are created by struct io_request dividing the incoming struct iovec into members of a parity group.

Collection of IO extents and buffers, directed towards particular target objects (data_unit / parity_unit) in a parity group. These structures are created by struct m0_op_io dividing the incoming struct iovec into members of a parity group.

Definition at line 1773 of file file_internal.h.

Field Documentation

◆ ti_attrbuf

struct m0_buf ti_attrbuf

Definition at line 810 of file pg.h.

◆ ti_auxbufvec

struct m0_bufvec ti_auxbufvec

Definition at line 807 of file pg.h.

◆ ti_bufvec [1/2]

struct m0_bufvec ti_bufvec

Buffer vector corresponding to index vector above. This buffer is in sync with ::ti_ivec.

Definition at line 806 of file pg.h.

◆ ti_bufvec [2/2]

struct m0_indexvec_varr ti_bufvec

Buffer vector corresponding to index vector above. This buffer is in sync with ::ti_ivec.

Definition at line 1819 of file file_internal.h.

◆ ti_cc_fop

struct cc_req_fop ti_cc_fop

Fop when the ti_req_type == TI_COB_CREATE.

Fop when the ti_req_type == TI_COB_CREATE|TI_COB_TRUNCATE.

Definition at line 1796 of file file_internal.h.

◆ ti_cc_fop_inited

bool ti_cc_fop_inited

flag to indicate if cc_fop is used

Definition at line 1799 of file file_internal.h.

◆ ti_cksum_copied

m0_bcount_t ti_cksum_copied

Definition at line 811 of file pg.h.

◆ ti_cksum_seg_b_nob

uint32_t* ti_cksum_seg_b_nob

Definition at line 814 of file pg.h.

◆ ti_databytes

uint64_t ti_databytes

Number of file data bytes read/written for this object.

Definition at line 1790 of file file_internal.h.

◆ ti_dgvec

struct dgmode_rwvec * ti_dgvec

Degraded mode read/write IO vector. This is intentionally kept as a pointer so that it won't consume memory when pool state is healthy.

Definition at line 1826 of file file_internal.h.

◆ ti_fid

struct m0_fid ti_fid

Fid of component object.

Definition at line 1778 of file file_internal.h.

◆ ti_goff

m0_bindex_t ti_goff

Offest in the global object. Has meaning for data units only.

Definition at line 785 of file pg.h.

◆ ti_goff_ivec

struct m0_indexvec ti_goff_ivec

Index vector containing segment number of attribute bufvec m0_op_io::ioo_attr for this target.

Definition at line 820 of file pg.h.

◆ ti_iofops

struct m0_tl ti_iofops

List of io_req_fop structures issued on this target object.

List of ioreq_fop structures issued on this target object.

Definition at line 1793 of file file_internal.h.

◆ ti_ivec

struct m0_indexvec ti_ivec

Index vector containing IO segments with cob offsets and their length. Each segment in this vector is worth PAGE_SIZE except the very last one.

Definition at line 793 of file pg.h.

◆ ti_ivv

struct m0_indexvec_varr ti_ivv

Index vector containing IO segments with cob offsets and their length. Each segment in this vector is worth PAGE_SIZE except the very last one.

Definition at line 1813 of file file_internal.h.

◆ ti_link

struct m0_hlink ti_link

Linkage to link in to nw_xfer_request::nxr_tioreqs_hash table.

Definition at line 1805 of file file_internal.h.

◆ ti_magic

uint64_t ti_magic

Holds M0_T1FS_TIOREQ_MAGIC

Definition at line 1775 of file file_internal.h.

◆ ti_nwxfer

struct nw_xfer_request * ti_nwxfer

Backlink to parent structure nw_xfer_request.

Definition at line 1838 of file file_internal.h.

◆ ti_obj

uint64_t ti_obj

Target-object id.

Definition at line 1781 of file file_internal.h.

◆ ti_ops

const struct target_ioreq_ops * ti_ops

target_ioreq operation vector.

Definition at line 1835 of file file_internal.h.

◆ ti_pageattrs [1/2]

enum page_attr* ti_pageattrs

Array of page attributes. Represents attributes for pages from ::ti_ivec and ::ti_bufvec.

Definition at line 833 of file pg.h.

◆ ti_pageattrs [2/2]

struct m0_varr ti_pageattrs

Array of page attributes. Represents attributes for pages from ::ti_ivec and ::ti_bufvec.

Definition at line 1832 of file file_internal.h.

◆ ti_parbytes

uint64_t ti_parbytes

Number of parity bytes read/written for this target_ioreq.

Definition at line 1787 of file file_internal.h.

◆ ti_rc

int ti_rc

Status code for io operation done for this target_ioreq.

Definition at line 1784 of file file_internal.h.

◆ ti_req_type

enum target_ioreq_type ti_req_type

Whether cob create request for spare or read/write request.

Definition at line 1844 of file file_internal.h.

◆ ti_session

struct m0_rpc_session * ti_session

Resulting IO fops are sent on this rpc session.

Definition at line 1802 of file file_internal.h.

◆ ti_start_time

m0_time_t ti_start_time

Time of launch for target IO request Used for ADDB posting.

Definition at line 759 of file pg.h.

◆ ti_state

enum m0_pool_nd_state ti_state

State of target device in the storage pool.

Definition at line 1841 of file file_internal.h.

◆ ti_trunc_ivec

struct m0_indexvec ti_trunc_ivec

Index vector containing IO segments with cob offset and their length which will be truncated.

Definition at line 799 of file pg.h.


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