DAOS API: daos_iod_t Struct Reference

| DAOS API (v2.1 - dev)

Loading...
Searching...
No Matches
daos_iod_t Struct Reference

`#include <daos_obj.h>`

## Data Fields
daos_key_t | iod_name
daos_iod_type_t | iod_type
daos_size_t | iod_size
uint64_t | iod_flags
uint32_t | iod_nr
daos_recx_t * | iod_recxs

## Detailed Description

An I/O descriptor is a list of extents (effectively records associated with contiguous array indices) to update/fetch in a particular array identified by its akey.

Definition at line 363 of file daos_obj.h.

## Field Documentation

## ◆ iod_flags

uint64_t iod_flags

Per akey conditional. If DAOS_COND_PER_AKEY not set, this is ignored.

Definition at line 383 of file daos_obj.h.

## ◆ iod_name

daos_key_t iod_name

akey for this iod

Definition at line 365 of file daos_obj.h.

## ◆ iod_nr

uint32_t iod_nr

Number of entries in the iod_recxs for arrays, should be 1 if single value.

Definition at line 388 of file daos_obj.h.

## ◆ iod_recxs

daos_recx_t* iod_recxs

Array of extents, where each extent defines the index of the first record in the extent and the number of records to access. If the type of the iod is single, this is ignored.

Definition at line 394 of file daos_obj.h.

## ◆ iod_size

daos_size_t iod_size

Size of the single value or the record size of the array

Definition at line 379 of file daos_obj.h.

## ◆ iod_type

daos_iod_type_t iod_type

Type of the value in an iod can be either a single type that is always overwritten when updated, or it can be an array of EQUAL sized records where the record is updated atomically. Note that an akey can only support one type of value which is set on the first update. If user attempts to mix types in the same akey, the behavior is undefined, even after the object, key, or value is punched. If iod_type == DAOS_IOD_SINGLE, then iod_nr has to be 1, and iod_size would be the size of the single atomic value. The idx is ignored and the rx_nr is also required to be 1.

Definition at line 377 of file daos_obj.h.

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

- src/include/daos_obj.h