Open CAS Framework
Open source framework of Cache Acceleration Software
Data Fields
ocf_volume_ops Struct Reference

OCF volume interface declaration. More...

#include <ocf_volume.h>

Data Fields

void(* submit_io )(struct ocf_io *io)
 Submit IO on this volume. More...
 
void(* submit_flush )(struct ocf_io *io)
 Submit IO with flush command. More...
 
void(* submit_metadata )(struct ocf_io *io)
 Submit IO with metadata. More...
 
void(* submit_discard )(struct ocf_io *io)
 Submit IO with discard command. More...
 
void(* submit_write_zeroes )(struct ocf_io *io)
 Submit operation to write zeroes to target address (including metadata extended LBAs in atomic mode) More...
 
int(* open )(ocf_volume_t volume, void *volume_params)
 Open volume. More...
 
void(* close )(ocf_volume_t volume)
 Close volume. More...
 
unsigned int(* get_max_io_size )(ocf_volume_t volume)
 Get maximum io size. More...
 
uint64_t(* get_length )(ocf_volume_t volume)
 Get volume length. More...
 

Detailed Description

OCF volume interface declaration.

Field Documentation

◆ close

void(* close) (ocf_volume_t volume)

Close volume.

Parameters
[in]volumeVolume

◆ get_length

uint64_t(* get_length) (ocf_volume_t volume)

Get volume length.

Parameters
[in]volumeVolume
Returns
Volume lenght in bytes

◆ get_max_io_size

unsigned int(* get_max_io_size) (ocf_volume_t volume)

Get maximum io size.

Parameters
[in]volumeVolume
Returns
Maximum io size in bytes

◆ open

int(* open) (ocf_volume_t volume, void *volume_params)

Open volume.

Note
This function performs volume initialization and should be called before any other operation on volume
Parameters
[in]volumeVolume
[in]volume_paramsoptional volume parameters, opaque to OCF
Returns
Zero on success, otherwise error code

◆ submit_discard

void(* submit_discard) (struct ocf_io *io)

Submit IO with discard command.

Parameters
[in]ioIO to be submitted

◆ submit_flush

void(* submit_flush) (struct ocf_io *io)

Submit IO with flush command.

Parameters
[in]ioIO to be submitted

◆ submit_io

void(* submit_io) (struct ocf_io *io)

Submit IO on this volume.

Parameters
[in]ioIO to be submitted

◆ submit_metadata

void(* submit_metadata) (struct ocf_io *io)

Submit IO with metadata.

Parameters
[in]ioIO to be submitted

◆ submit_write_zeroes

void(* submit_write_zeroes) (struct ocf_io *io)

Submit operation to write zeroes to target address (including metadata extended LBAs in atomic mode)

Parameters
[in]ioIO description (addr, size)

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