Motr  M0
m0_op_io Struct Reference

#include <client_internal.h>

Collaboration diagram for m0_op_io:
Collaboration graph

Data Fields

struct m0_op_obj ioo_oo
 
uint64_t ioo_magic
 
struct m0_objioo_obj
 
struct m0_indexvec ioo_ext
 
struct m0_bufvec ioo_data
 
struct m0_bufvec ioo_attr
 
uint64_t ioo_attr_mask
 
uint32_t ioo_flags
 
struct m0_fid ioo_pver
 
int32_t ioo_rc
 
struct pargrp_iomap ** ioo_iomaps
 
uint64_t ioo_iomap_nr
 
enum m0_pbuf_type ioo_pbuf_type
 
uint64_t ioo_rmw_read_pages
 
struct m0_sm ioo_sm
 
const struct m0_op_io_opsioo_ops
 
struct m0_file ioo_flock
 
struct nw_xfer_request ioo_nwxfer
 
enum sns_repair_state ioo_sns_state
 
uint64_t * ioo_failed_session
 
uint64_t * ioo_failed_nodes
 
uint32_t ioo_dgmap_nr
 
bool ioo_dgmode_io_sent
 
uint64_t ioo_copied_nr
 
uint64_t ioo_map_idx
 
struct m0_sm_ast ioo_ast
 
struct m0_sm_ast ioo_done_ast
 
struct m0_clink ioo_clink
 
struct m0_chan ioo_completion
 
bool ioo_rect_needed
 
int ioo_addb2_mapped
 

Detailed Description

An IO operation on a client object.

Definition at line 271 of file client_internal.h.

Field Documentation

◆ ioo_addb2_mapped

int ioo_addb2_mapped

XXX: get rid of this kludge! Relying on this to remove duplicate mapping for the same nxfer_req

Definition at line 390 of file client_internal.h.

◆ ioo_ast

struct m0_sm_ast ioo_ast

Ast for scheduling the 'next' callback

Definition at line 366 of file client_internal.h.

◆ ioo_attr

struct m0_bufvec ioo_attr

Assumption: Checksum buff is liner stored in ov_buf and v_nr will be the number of checksum units

Definition at line 284 of file client_internal.h.

◆ ioo_attr_mask

uint64_t ioo_attr_mask

Definition at line 286 of file client_internal.h.

◆ ioo_clink

struct m0_clink ioo_clink

Clink for waiting on another state machine

Definition at line 375 of file client_internal.h.

◆ ioo_completion

struct m0_chan ioo_completion

Channel to wait for this operation to be finalised

Definition at line 378 of file client_internal.h.

◆ ioo_copied_nr

uint64_t ioo_copied_nr

Used by copy_{to,from}_application to indicate progress in log messages

Definition at line 360 of file client_internal.h.

◆ ioo_data

struct m0_bufvec ioo_data

Definition at line 280 of file client_internal.h.

◆ ioo_dgmap_nr

uint32_t ioo_dgmap_nr

Total number of parity-maps associated with this request that are in degraded mode.

Definition at line 353 of file client_internal.h.

◆ ioo_dgmode_io_sent

bool ioo_dgmode_io_sent

Definition at line 354 of file client_internal.h.

◆ ioo_done_ast

struct m0_sm_ast ioo_done_ast

Ast for moving state to READ/WRITE COMPLETE and to launch iosm_handle_executed.

Definition at line 372 of file client_internal.h.

◆ ioo_ext

struct m0_indexvec ioo_ext

GOB Offset extents

Definition at line 278 of file client_internal.h.

◆ ioo_failed_nodes

uint64_t* ioo_failed_nodes

An array holding ids of failed nodes. The vacant entries are marked as ~(uint64_t)0.

Definition at line 347 of file client_internal.h.

◆ ioo_failed_session

uint64_t* ioo_failed_session

An array holding ids of failed sessions. The vacant entries are marked as ~(uint64_t)0. XXX This is a temporary solution. Sould be removed once MOTR-899 lands into dev.

Definition at line 341 of file client_internal.h.

◆ ioo_flags

uint32_t ioo_flags

A bit-mask of m0_op_obj_flags.

Definition at line 288 of file client_internal.h.

◆ ioo_flock

struct m0_file ioo_flock

flock here is used to get DI details for a file. When a better way is found, remove it completely. See cob_init.

Definition at line 320 of file client_internal.h.

◆ ioo_iomap_nr

uint64_t ioo_iomap_nr

Number of pargrp_iomap structures.

Definition at line 303 of file client_internal.h.

◆ ioo_iomaps

struct pargrp_iomap** ioo_iomaps

Array of struct pargrp_iomap pointers. Each pargrp_iomap structure describes the part of parity group spanned by segments from ::ioo_ext.

Definition at line 300 of file client_internal.h.

◆ ioo_magic

uint64_t ioo_magic

Definition at line 273 of file client_internal.h.

◆ ioo_map_idx

uint64_t ioo_map_idx

Cached map index value from ioreq_iosm_handle_* functions

Definition at line 363 of file client_internal.h.

◆ ioo_nwxfer

struct nw_xfer_request ioo_nwxfer

Network transfer request

Definition at line 323 of file client_internal.h.

◆ ioo_obj

struct m0_obj* ioo_obj

Definition at line 275 of file client_internal.h.

◆ ioo_oo

struct m0_op_obj ioo_oo

Definition at line 272 of file client_internal.h.

◆ ioo_ops

const struct m0_op_io_ops* ioo_ops

Operations for moving along state transitions

Definition at line 314 of file client_internal.h.

◆ ioo_pbuf_type

enum m0_pbuf_type ioo_pbuf_type

Indicates whether data buffers be replicated or not.

Definition at line 306 of file client_internal.h.

◆ ioo_pver

struct m0_fid ioo_pver

Object's pool version

Definition at line 290 of file client_internal.h.

◆ ioo_rc

int32_t ioo_rc
Todo:
: remove this

Definition at line 293 of file client_internal.h.

◆ ioo_rect_needed

bool ioo_rect_needed

In case of a replicated layout indicates whether there is any corrupted parity group that needs to be rectified.

Definition at line 384 of file client_internal.h.

◆ ioo_rmw_read_pages

uint64_t ioo_rmw_read_pages

Number of pages to read in RMW

Definition at line 308 of file client_internal.h.

◆ ioo_sm

struct m0_sm ioo_sm

State machine for this io operation

Definition at line 311 of file client_internal.h.

◆ ioo_sns_state

enum sns_repair_state ioo_sns_state

State of SNS repair process with respect to file_to_fid(io_request::ir_file). There are only 2 states possible since Motr client IO path involves a file-level distributed lock on global fid.

  • either SNS repair is still due on associated global fid.
  • or SNS repair has completed on associated global fid.

Definition at line 333 of file client_internal.h.


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