Motr  M0
io_fops.c File Reference
#include "lib/trace.h"
#include "lib/errno.h"
#include "lib/memory.h"
#include "lib/vec.h"
#include "lib/misc.h"
#include "lib/tlist.h"
#include "reqh/reqh.h"
#include "motr/magic.h"
#include "fop/fop_item_type.h"
#include "rpc/item.h"
#include "rpc/rpc_opcodes.h"
#include "rpc/rpc.h"
#include "fop/fom_generic.h"
#include "file/file.h"
#include "lib/finject.h"
#include "cob/cob.h"
#include "mdservice/fsync_foms.h"
#include "mdservice/fsync_fops.h"
#include "mdservice/fsync_fops_xc.h"
#include "ioservice/io_addb2.h"
#include "ioservice/io_foms.h"
#include "ioservice/io_fops.h"
#include "ioservice/io_fops_xc.h"
#include "ioservice/cob_foms.h"
#include "motr/client_internal.h"
Include dependency graph for io_fops.c:

Go to the source code of this file.

Data Structures

struct  ioseg
 
struct  io_seg_set
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_IOSERVICE
 
#define level   M0_DEBUG
 
#define ZNR(zvec)   zvec->z_bvec.ov_vec.v_nr
 
#define ZCOUNT(zvec, i)   zvec->z_bvec.ov_vec.v_count[i]
 
#define ZINDEX(zvec, i)   zvec->z_index[i]
 
#define INR(ivec)   ivec->ci_nr
 
#define IINDEX(ivec, i)   ivec->ci_iosegs[i].ci_index
 
#define ICOUNT(ivec, i)   ivec->ci_iosegs[i].ci_count
 

Functions

 M0_TL_DESCR_DECLARE (rpcbulk, M0_EXTERN)
 
 M0_TL_DESCR_DECLARE (rpcitem, M0_EXTERN)
 
 M0_TL_DECLARE (rpcbulk, M0_INTERNAL, struct m0_rpc_bulk_buf)
 
 M0_TL_DECLARE (rpcitem, M0_INTERNAL, struct m0_rpc_item)
 
static struct m0_fidio_fop_fid_get (struct m0_fop *fop)
 
static void io_item_replied (struct m0_rpc_item *item)
 
static void io_fop_replied (struct m0_fop *fop, struct m0_fop *bkpfop)
 
static void io_fop_desc_get (struct m0_fop *fop, struct m0_net_buf_desc_data **desc)
 
static int io_fop_coalesce (struct m0_fop *res_fop, uint64_t size)
 
static void item_io_coalesce (struct m0_rpc_item *head, struct m0_list *list, uint64_t size)
 
static int io_fol_frag_undo_redo_op (struct m0_fop_fol_frag *frag, struct m0_fol *fol)
 
M0_INTERNAL void m0_dump_cob_attr (const struct m0_cob_attr *attr)
 
 M0_BASSERT (M0_IOSERVICE_COB_DELETE_OPCODE==M0_IOSERVICE_COB_CREATE_OPCODE+1)
 
 M0_BASSERT (sizeof(struct m0_fop_cob_create)==sizeof(struct m0_fop_cob_delete))
 
static int io_fol_cd_rec_frag_op (struct m0_fop_fol_frag *frag, struct m0_fol *fol, bool undo)
 
static int io_fol_cd_rec_frag_undo (struct m0_fop_fol_frag *frag, struct m0_fol *fol)
 
static int io_fol_cd_rec_frag_redo (struct m0_fop_fol_frag *frag, struct m0_fol *fol)
 
M0_INTERNAL void m0_ioservice_fop_fini (void)
 
M0_INTERNAL int m0_ioservice_fop_init (void)
 
 M0_TL_DESCR_DEFINE (iosegset, "list of coalesced io segments", static, struct ioseg, is_linkage, is_magic, M0_IOS_IO_SEGMENT_MAGIC, M0_IOS_IO_SEGMENT_SET_MAGIC)
 
 M0_TL_DEFINE (iosegset, static, struct ioseg)
 
static void ioseg_get (const struct m0_0vec *zvec, uint32_t seg_index, struct ioseg *seg)
 
static bool io_fop_invariant (struct m0_io_fop *iofop)
 
M0_INTERNAL int m0_io_fop_init (struct m0_io_fop *iofop, const struct m0_fid *gfid, struct m0_fop_type *ftype, void(*fop_release)(struct m0_ref *))
 
M0_INTERNAL void m0_io_fop_fini (struct m0_io_fop *iofop)
 
M0_INTERNAL struct m0_rpc_bulkm0_fop_to_rpcbulk (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_read_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_write_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_io_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_read_rep (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_write_rep (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_io_fop_rep (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_cob_create_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_cob_delete_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_cob_truncate_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_cob_getattr_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_cob_setattr_fop (const struct m0_fop *fop)
 
M0_INTERNAL bool m0_is_cob_create_delete_fop (const struct m0_fop *fop)
 
M0_INTERNAL struct m0_fop_cob_commonm0_cobfop_common_get (struct m0_fop *fop)
 
M0_INTERNAL uint32_t m0_io_fop_segs_nr (struct m0_fop *fop, uint32_t index)
 
M0_INTERNAL struct m0_fop_cob_rwio_rw_get (struct m0_fop *fop)
 
M0_INTERNAL struct m0_fop_cob_rw_replyio_rw_rep_get (struct m0_fop *fop)
 
static struct m0_0vecio_0vec_get (struct m0_rpc_bulk_buf *rbuf)
 
static void ioseg_unlink_free (struct ioseg *ioseg)
 
 __attribute__ ((unused))
 
static int io_fop_seg_init (struct ioseg **ns, const struct ioseg *cseg)
 
static int io_fop_seg_add_cond (struct ioseg *cseg, const struct ioseg *nseg)
 
static void io_fop_seg_coalesce (const struct ioseg *seg, struct io_seg_set *aggr_set)
 
static void io_fop_segments_coalesce (const struct m0_0vec *iovec, struct io_seg_set *aggr_set)
 
static int io_netbufs_prepare (struct m0_fop *coalesced_fop, struct io_seg_set *seg_set)
 
M0_INTERNAL void io_fop_ivec_dealloc (struct m0_fop *fop)
 
static uint32_t iosegs_nr (struct m0_rpc_bulk *rbulk)
 
static void iosegs_squeeze (struct m0_rpc_bulk *rbulk, struct m0_io_indexvec *ivec)
 
static int io_fop_ivec_prepare (struct m0_fop *res_fop, struct m0_rpc_bulk *rbulk)
 
static int io_fop_di_prepare (struct m0_fop *fop)
 
static void io_fop_bulkbuf_move (struct m0_fop *src, struct m0_fop *dest)
 
static int io_fop_desc_alloc (struct m0_fop *fop, struct m0_rpc_bulk *rbulk)
 
static void io_fop_desc_dealloc (struct m0_fop *fop)
 
M0_INTERNAL int m0_io_fop_prepare (struct m0_fop *fop)
 
static int io_fop_desc_ivec_prepare (struct m0_fop *fop, struct io_seg_set *aggr_set)
 
M0_INTERNAL void m0_io_fop_destroy (struct m0_fop *fop)
 
M0_INTERNAL size_t m0_io_fop_size_get (struct m0_fop *fop)
 
M0_INTERNAL m0_bcount_t m0_io_fop_byte_count (struct m0_io_fop *iofop)
 
M0_INTERNAL void m0_io_fop_release (struct m0_ref *ref)
 

Variables

struct m0_fop_type m0_fop_cob_readv_fopt
 
struct m0_fop_type m0_fop_cob_writev_fopt
 
struct m0_fop_type m0_fop_cob_readv_rep_fopt
 
struct m0_fop_type m0_fop_cob_writev_rep_fopt
 
struct m0_fop_type m0_fop_cob_create_fopt
 
struct m0_fop_type m0_fop_cob_delete_fopt
 
struct m0_fop_type m0_fop_cob_truncate_fopt
 
struct m0_fop_type m0_fop_cob_op_reply_fopt
 
struct m0_fop_type m0_fop_fv_notification_fopt
 
struct m0_fop_type m0_fop_cob_getattr_fopt
 
struct m0_fop_type m0_fop_cob_getattr_reply_fopt
 
struct m0_fop_type m0_fop_fsync_ios_fopt
 
struct m0_fop_type m0_fop_cob_setattr_fopt
 
struct m0_fop_type m0_fop_cob_setattr_reply_fopt
 
static struct m0_fop_typeioservice_fops []
 
const struct m0_rpc_item_ops io_req_rpc_item_ops
 
static const struct m0_rpc_item_type_ops io_item_type_ops
 
const struct m0_fop_type_ops io_fop_rwv_ops
 
const struct m0_fop_type_ops io_fop_cd_ops
 
struct m0_reqh_service_type m0_ios_type
 
const struct m0_fom_type_ops cob_fom_type_ops
 
const struct m0_fom_type_ops io_fom_type_ops
 
struct m0_sm_conf io_conf
 
struct m0_sm_state_descr io_phases []
 
const struct m0_sm_conf cob_ops_conf
 
struct m0_sm_state_descr cob_ops_phases []
 

Macro Definition Documentation

◆ ICOUNT

#define ICOUNT (   ivec,
  i 
)    ivec->ci_iosegs[i].ci_count

Definition at line 1292 of file io_fops.c.

◆ IINDEX

#define IINDEX (   ivec,
  i 
)    ivec->ci_iosegs[i].ci_index

Definition at line 1291 of file io_fops.c.

◆ INR

#define INR (   ivec)    ivec->ci_nr

Definition at line 1290 of file io_fops.c.

◆ level

#define level   M0_DEBUG

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_IOSERVICE

Definition at line 23 of file io_fops.c.

◆ ZCOUNT

#define ZCOUNT (   zvec,
  i 
)    zvec->z_bvec.ov_vec.v_count[i]

Definition at line 1287 of file io_fops.c.

◆ ZINDEX

#define ZINDEX (   zvec,
  i 
)    zvec->z_index[i]

Definition at line 1288 of file io_fops.c.

◆ ZNR

#define ZNR (   zvec)    zvec->z_bvec.ov_vec.v_nr

Definition at line 1286 of file io_fops.c.

Function Documentation

◆ __attribute__()

__attribute__ ( (unused)  )

Returns if given 2 fops belong to same type.

Definition at line 1092 of file io_fops.c.

◆ io_0vec_get()

static struct m0_0vec* io_0vec_get ( struct m0_rpc_bulk_buf rbuf)
static

Definition at line 1073 of file io_fops.c.

Here is the caller graph for this function:

◆ io_fol_cd_rec_frag_op()

static int io_fol_cd_rec_frag_op ( struct m0_fop_fol_frag frag,
struct m0_fol fol,
bool  undo 
)
static

Definition at line 178 of file io_fops.c.

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

◆ io_fol_cd_rec_frag_redo()

static int io_fol_cd_rec_frag_redo ( struct m0_fop_fol_frag frag,
struct m0_fol fol 
)
static

Definition at line 223 of file io_fops.c.

Here is the call graph for this function:

◆ io_fol_cd_rec_frag_undo()

static int io_fol_cd_rec_frag_undo ( struct m0_fop_fol_frag frag,
struct m0_fol fol 
)
static

Definition at line 217 of file io_fops.c.

Here is the call graph for this function:

◆ io_fol_frag_undo_redo_op()

static int io_fol_frag_undo_redo_op ( struct m0_fop_fol_frag frag,
struct m0_fol fol 
)
static

Definition at line 116 of file io_fops.c.

◆ io_fop_bulkbuf_move()

static void io_fop_bulkbuf_move ( struct m0_fop src,
struct m0_fop dest 
)
static

Definition at line 1444 of file io_fops.c.

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

◆ io_fop_coalesce()

static int io_fop_coalesce ( struct m0_fop res_fop,
uint64_t  size 
)
static

Coalesces the io fops with same fid and intent (read/write). A list of coalesced io segments is generated which is attached to a single io fop - res_fop (which is already bound to a session) in form of one of more network buffers and rest of the io fops hang off a list m0_rpc_item::ri_compound_items in resultant fop. The index vector array from io fop is also populated from the list of coalesced io segments. The res_fop contents are backed up and restored on receiving reply so that upper layer is transparent of these operations.

See also
item_io_coalesce().
m0_io_fop_init().
m0_rpc_bulk_init().

Definition at line 1614 of file io_fops.c.

Here is the call graph for this function:

◆ io_fop_desc_alloc()

static int io_fop_desc_alloc ( struct m0_fop fop,
struct m0_rpc_bulk rbulk 
)
static

Definition at line 1471 of file io_fops.c.

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

◆ io_fop_desc_dealloc()

static void io_fop_desc_dealloc ( struct m0_fop fop)
static

Definition at line 1486 of file io_fops.c.

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

◆ io_fop_desc_get()

static void io_fop_desc_get ( struct m0_fop fop,
struct m0_net_buf_desc_data **  desc 
)
static

Definition at line 1799 of file io_fops.c.

Here is the call graph for this function:

◆ io_fop_desc_ivec_prepare()

static int io_fop_desc_ivec_prepare ( struct m0_fop fop,
struct io_seg_set aggr_set 
)
static

Definition at line 1554 of file io_fops.c.

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

◆ io_fop_di_prepare()

static int io_fop_di_prepare ( struct m0_fop fop)
static

Definition at line 1375 of file io_fops.c.

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

◆ io_fop_fid_get()

static struct m0_fid* io_fop_fid_get ( struct m0_fop fop)
static

◆ io_fop_ivec_dealloc()

M0_INTERNAL void io_fop_ivec_dealloc ( struct m0_fop fop)

Definition at line 1271 of file io_fops.c.

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

◆ io_fop_ivec_prepare()

static int io_fop_ivec_prepare ( struct m0_fop res_fop,
struct m0_rpc_bulk rbulk 
)
static

Definition at line 1352 of file io_fops.c.

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

◆ io_fop_replied()

static void io_fop_replied ( struct m0_fop fop,
struct m0_fop bkpfop 
)
static

Definition at line 1773 of file io_fops.c.

Here is the call graph for this function:

◆ io_fop_seg_add_cond()

static int io_fop_seg_add_cond ( struct ioseg cseg,
const struct ioseg nseg 
)
static

Definition at line 1120 of file io_fops.c.

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

◆ io_fop_seg_coalesce()

static void io_fop_seg_coalesce ( const struct ioseg seg,
struct io_seg_set aggr_set 
)
static

Definition at line 1140 of file io_fops.c.

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

◆ io_fop_seg_init()

static int io_fop_seg_init ( struct ioseg **  ns,
const struct ioseg cseg 
)
static

Definition at line 1102 of file io_fops.c.

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

◆ io_fop_segments_coalesce()

static void io_fop_segments_coalesce ( const struct m0_0vec iovec,
struct io_seg_set aggr_set 
)
static

Definition at line 1168 of file io_fops.c.

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

◆ io_item_replied()

static void io_item_replied ( struct m0_rpc_item item)
static
Todo:
Rearrange IO item merging code to work with new formation code.

Definition at line 1812 of file io_fops.c.

Here is the call graph for this function:

◆ io_netbufs_prepare()

static int io_netbufs_prepare ( struct m0_fop coalesced_fop,
struct io_seg_set seg_set 
)
static

Definition at line 1192 of file io_fops.c.

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

◆ ioseg_unlink_free()

static void ioseg_unlink_free ( struct ioseg ioseg)
static

Definition at line 1080 of file io_fops.c.

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

◆ iosegs_nr()

static uint32_t iosegs_nr ( struct m0_rpc_bulk rbulk)
static

Definition at line 1294 of file io_fops.c.

Here is the caller graph for this function:

◆ iosegs_squeeze()

static void iosegs_squeeze ( struct m0_rpc_bulk rbulk,
struct m0_io_indexvec ivec 
)
static

Definition at line 1323 of file io_fops.c.

Here is the caller graph for this function:

◆ item_io_coalesce()

static void item_io_coalesce ( struct m0_rpc_item head,
struct m0_list list,
uint64_t  size 
)
static

Definition at line 1876 of file io_fops.c.

Here is the call graph for this function:

◆ M0_BASSERT() [1/2]

◆ M0_BASSERT() [2/2]

M0_BASSERT ( sizeof(struct m0_fop_cob_create = =sizeof(struct m0_fop_cob_delete))

◆ m0_io_fop_byte_count()

M0_INTERNAL m0_bcount_t m0_io_fop_byte_count ( struct m0_io_fop iofop)

Definition at line 1925 of file io_fops.c.

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

◆ m0_io_fop_release()

M0_INTERNAL void m0_io_fop_release ( struct m0_ref ref)

Definition at line 1939 of file io_fops.c.

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

◆ m0_io_fop_segs_nr()

M0_INTERNAL uint32_t m0_io_fop_segs_nr ( struct m0_fop fop,
uint32_t  index 
)

Definition at line 1020 of file io_fops.c.

Here is the call graph for this function:

◆ m0_io_fop_size_get()

M0_INTERNAL size_t m0_io_fop_size_get ( struct m0_fop fop)

Definition at line 1589 of file io_fops.c.

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

◆ m0_ioservice_fop_fini()

M0_INTERNAL void m0_ioservice_fop_fini ( void  )

Definition at line 251 of file io_fops.c.

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

◆ m0_ioservice_fop_init()

M0_INTERNAL int m0_ioservice_fop_init ( void  )

Init and fini of ioservice fops code.

Definition at line 281 of file io_fops.c.

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

◆ M0_TL_DECLARE() [1/2]

M0_TL_DECLARE ( rpcbulk  ,
M0_INTERNAL  ,
struct m0_rpc_bulk_buf   
)

◆ M0_TL_DECLARE() [2/2]

M0_TL_DECLARE ( rpcitem  ,
M0_INTERNAL  ,
struct m0_rpc_item   
)

◆ M0_TL_DESCR_DECLARE() [1/2]

M0_TL_DESCR_DECLARE ( rpcbulk  ,
M0_EXTERN   
)

◆ M0_TL_DESCR_DECLARE() [2/2]

M0_TL_DESCR_DECLARE ( rpcitem  ,
M0_EXTERN   
)

Variable Documentation

◆ cob_fom_type_ops

const struct m0_fom_type_ops cob_fom_type_ops

Common fom_type_ops for m0_fop_cob_create, m0_fop_cob_delete, m0_fop_cob_getattr, and m0_fop_cob_setattr fops.

Definition at line 109 of file cob_foms.c.

◆ cob_ops_conf

const struct m0_sm_conf cob_ops_conf

Definition at line 99 of file cob_foms.c.

◆ cob_ops_phases

struct m0_sm_state_descr cob_ops_phases[]

Definition at line 86 of file cob_foms.c.

◆ io_fop_cd_ops

const struct m0_fop_type_ops io_fop_cd_ops
Initial value:
= {
}
static int io_fol_cd_rec_frag_redo(struct m0_fop_fol_frag *frag, struct m0_fol *fol)
Definition: io_fops.c:223
static int io_fol_cd_rec_frag_undo(struct m0_fop_fol_frag *frag, struct m0_fol *fol)
Definition: io_fops.c:217

Definition at line 237 of file io_fops.c.

◆ io_fop_rwv_ops

const struct m0_fop_type_ops io_fop_rwv_ops
Initial value:
= {
.fto_fop_replied = io_fop_replied,
.fto_io_coalesce = io_fop_coalesce,
.fto_io_desc_get = io_fop_desc_get,
}
static int io_fol_frag_undo_redo_op(struct m0_fop_fol_frag *frag, struct m0_fol *fol)
Definition: io_fops.c:116
static void io_fop_desc_get(struct m0_fop *fop, struct m0_net_buf_desc_data **desc)
Definition: io_fops.c:1799
static void io_fop_replied(struct m0_fop *fop, struct m0_fop *bkpfop)
Definition: io_fops.c:1773
static int io_fop_coalesce(struct m0_fop *res_fop, uint64_t size)
Definition: io_fops.c:1614

Definition at line 229 of file io_fops.c.

◆ io_item_type_ops

const struct m0_rpc_item_type_ops io_item_type_ops
static
Initial value:
= {
.rito_io_coalesce = item_io_coalesce,
}
static void item_io_coalesce(struct m0_rpc_item *head, struct m0_list *list, uint64_t size)
Definition: io_fops.c:1876
#define M0_FOP_DEFAULT_ITEM_TYPE_OPS
Definition: fop.h:184

Definition at line 111 of file io_fops.c.

◆ io_req_rpc_item_ops

const struct m0_rpc_item_ops io_req_rpc_item_ops
Initial value:
= {
.rio_replied = io_item_replied,
}
static void io_item_replied(struct m0_rpc_item *item)
Definition: io_fops.c:1812

Definition at line 107 of file io_fops.c.

◆ ioservice_fops

struct m0_fop_type* ioservice_fops[]
static
Initial value:
= {
}
struct m0_fop_type m0_fop_cob_readv_rep_fopt
Definition: io_fops.c:73
struct m0_fop_type m0_fop_cob_op_reply_fopt
Definition: io_fops.c:78
struct m0_fop_type m0_fop_cob_setattr_reply_fopt
Definition: io_fops.c:84
struct m0_fop_type m0_fop_fsync_ios_fopt
Definition: io_fops.c:82
struct m0_fop_type m0_fop_cob_getattr_fopt
Definition: io_fops.c:80
struct m0_fop_type m0_fop_cob_getattr_reply_fopt
Definition: io_fops.c:81
struct m0_fop_type m0_fop_cob_setattr_fopt
Definition: io_fops.c:83
struct m0_fop_type m0_fop_cob_readv_fopt
Definition: io_fops.c:71
struct m0_fop_type m0_fop_cob_writev_rep_fopt
Definition: io_fops.c:74
struct m0_fop_type m0_fop_fv_notification_fopt
Definition: io_fops.c:79
struct m0_fop_type m0_fop_cob_create_fopt
Definition: io_fops.c:75
struct m0_fop_type m0_fop_cob_truncate_fopt
Definition: io_fops.c:77
struct m0_fop_type m0_fop_cob_writev_fopt
Definition: io_fops.c:72
struct m0_fop_type m0_fop_cob_delete_fopt
Definition: io_fops.c:76

Definition at line 89 of file io_fops.c.

◆ m0_fop_cob_create_fopt

struct m0_fop_type m0_fop_cob_create_fopt

Definition at line 75 of file io_fops.c.

◆ m0_fop_cob_delete_fopt

struct m0_fop_type m0_fop_cob_delete_fopt

Definition at line 76 of file io_fops.c.

◆ m0_fop_cob_getattr_fopt

struct m0_fop_type m0_fop_cob_getattr_fopt

Definition at line 80 of file io_fops.c.

◆ m0_fop_cob_getattr_reply_fopt

struct m0_fop_type m0_fop_cob_getattr_reply_fopt

Definition at line 81 of file io_fops.c.

◆ m0_fop_cob_op_reply_fopt

struct m0_fop_type m0_fop_cob_op_reply_fopt

Definition at line 78 of file io_fops.c.

◆ m0_fop_cob_readv_fopt

struct m0_fop_type m0_fop_cob_readv_fopt

Definition at line 71 of file io_fops.c.

◆ m0_fop_cob_readv_rep_fopt

struct m0_fop_type m0_fop_cob_readv_rep_fopt

Definition at line 73 of file io_fops.c.

◆ m0_fop_cob_setattr_fopt

struct m0_fop_type m0_fop_cob_setattr_fopt

Definition at line 83 of file io_fops.c.

◆ m0_fop_cob_setattr_reply_fopt

struct m0_fop_type m0_fop_cob_setattr_reply_fopt

Definition at line 84 of file io_fops.c.

◆ m0_fop_cob_truncate_fopt

struct m0_fop_type m0_fop_cob_truncate_fopt

Definition at line 77 of file io_fops.c.

◆ m0_fop_cob_writev_fopt

struct m0_fop_type m0_fop_cob_writev_fopt

Definition at line 72 of file io_fops.c.

◆ m0_fop_cob_writev_rep_fopt

struct m0_fop_type m0_fop_cob_writev_rep_fopt

Definition at line 74 of file io_fops.c.

◆ m0_fop_fsync_ios_fopt

struct m0_fop_type m0_fop_fsync_ios_fopt

Definition at line 82 of file io_fops.c.

◆ m0_fop_fv_notification_fopt

struct m0_fop_type m0_fop_fv_notification_fopt

Definition at line 79 of file io_fops.c.