Motr  M0
nw_xfer_request Struct Reference

#include <file_internal.h>

Collaboration diagram for nw_xfer_request:
Collaboration graph

Data Fields

uint64_t nxr_magic
 
int nxr_rc
 
uint64_t nxr_bytes
 
enum nw_xfer_state nxr_state
 
const struct nw_xfer_opsnxr_ops
 
struct m0_htable nxr_tioreqs_hash
 
struct m0_mutex nxr_lock
 
struct m0_atomic64 nxr_iofop_nr
 
struct m0_atomic64 nxr_rdbulk_nr
 
struct m0_atomic64 nxr_ccfop_nr
 

Detailed Description

Structure representing the network transfer part for an IO request. This structure keeps track of request IO fops as well as individual completion callbacks and status of whole request. Typically, all IO requests are broken down into multiple fixed-size requests.

Definition at line 1194 of file file_internal.h.

Field Documentation

◆ nxr_bytes

uint64_t nxr_bytes

Resultant number of bytes read/written by all IO fops.

Definition at line 1202 of file file_internal.h.

◆ nxr_ccfop_nr

struct m0_atomic64 nxr_ccfop_nr

Number of cob create fops issued over different targets. The number is decremented in cc_bottom_half.

Definition at line 1240 of file file_internal.h.

◆ nxr_iofop_nr

struct m0_atomic64 nxr_iofop_nr

Number of IO fops issued by all target_ioreq structures belonging to this nw_xfer_request object. This number is updated when bottom halves from ASTs are run. For WRITE, When it reaches zero, state of io_request::ir_sm changes. For READ, When it reaches zero and read bulk count reaches zero, state of io_request::ir_sm changes.

Definition at line 1225 of file file_internal.h.

◆ nxr_lock

struct m0_mutex nxr_lock

lock to protect the following two counter

lock to pretect the following two counter

Definition at line 1216 of file file_internal.h.

◆ nxr_magic

uint64_t nxr_magic

Holds M0_T1FS_NWREQ_MAGIC

Definition at line 1196 of file file_internal.h.

◆ nxr_ops

const struct nw_xfer_ops * nxr_ops

Definition at line 1206 of file file_internal.h.

◆ nxr_rc

int nxr_rc

Resultant status code for all IO fops issued by this structure.

Definition at line 1199 of file file_internal.h.

◆ nxr_rdbulk_nr

struct m0_atomic64 nxr_rdbulk_nr

Number of read IO bulks issued by all target_ioreq structures belonging to this nw_xfer_request object. This number is updated in read bulk transfer complete callback. When it reaches zero, and nxr_iofop_nr reaches zero, state of io_request::ir_sm changes

Definition at line 1234 of file file_internal.h.

◆ nxr_state

enum nw_xfer_state nxr_state

Definition at line 1204 of file file_internal.h.

◆ nxr_tioreqs_hash

struct m0_htable nxr_tioreqs_hash

Hash of target_ioreq objects. Helps to speed up the lookup of target_ioreq objects based on a key (target_ioreq::ti_fid::f_container)

Definition at line 1213 of file file_internal.h.


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