Motr
M0
|
#include "stob/ioq.h"
#include "lib/trace.h"
#include <limits.h>
#include <sys/uio.h>
#include <libaio.h>
#include "ha/ha.h"
#include "ha/msg.h"
#include "lib/misc.h"
#include "lib/errno.h"
#include "lib/finject.h"
#include "lib/locality.h"
#include "lib/memory.h"
#include "module/instance.h"
#include "reqh/reqh.h"
#include "rpc/session.h"
#include "addb2/addb2.h"
#include "stob/addb2.h"
#include "stob/linux.h"
#include "stob/io.h"
#include "stob/ioq_error.h"
Go to the source code of this file.
Data Structures | |
struct | ioq_qev |
struct | stob_linux_io |
Macros | |
#define | M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_STOB |
Enumerations | |
enum | { STOB_IOQ_BSHIFT = 12, STOB_IOQ_BSIZE = 1 << STOB_IOQ_BSHIFT, STOB_IOQ_BMASK = STOB_IOQ_BSIZE - 1 } |
Functions | |
static struct ioq_qev * | ioq_queue_get (struct m0_stob_ioq *ioq) |
static void | ioq_queue_put (struct m0_stob_ioq *ioq, struct ioq_qev *qev) |
static void | ioq_queue_submit (struct m0_stob_ioq *ioq) |
static void | ioq_queue_lock (struct m0_stob_ioq *ioq) |
static void | ioq_queue_unlock (struct m0_stob_ioq *ioq) |
M0_INTERNAL int | m0_stob_linux_io_init (struct m0_stob *stob, struct m0_stob_io *io) |
static void | stob_linux_io_release (struct stob_linux_io *lio) |
static void | stob_linux_io_fini (struct m0_stob_io *io) |
static int | stob_linux_io_launch (struct m0_stob_io *io) |
static void | ioq_io_error (struct m0_stob_ioq *ioq, struct ioq_qev *qev) |
static void | ioq_complete (struct m0_stob_ioq *ioq, struct ioq_qev *qev, long res, long res2) |
static unsigned long | stob_ioq_timer_cb (unsigned long data) |
static int | stob_ioq_thread_init (struct m0_stob_ioq *ioq) |
static void | stob_ioq_thread (struct m0_stob_ioq *ioq) |
M0_INTERNAL int | m0_stob_ioq_init (struct m0_stob_ioq *ioq) |
M0_INTERNAL void | m0_stob_ioq_fini (struct m0_stob_ioq *ioq) |
M0_INTERNAL uint32_t | m0_stob_ioq_bshift (struct m0_stob_ioq *ioq) |
M0_INTERNAL m0_bcount_t | m0_stob_ioq_bsize (struct m0_stob_ioq *ioq) |
M0_INTERNAL m0_bcount_t | m0_stob_ioq_bmask (struct m0_stob_ioq *ioq) |
M0_INTERNAL bool | m0_stob_ioq_directio (struct m0_stob_ioq *ioq) |
M0_INTERNAL void | m0_stob_ioq_directio_setup (struct m0_stob_ioq *ioq, bool use_directio) |
Variables | |
static const struct m0_stob_io_op | stob_linux_io_op |
int64_t | emulate_disk_errors_nr = 0 |
static const struct timespec | ioq_timeout_default |