]> git.proxmox.com Git - ceph.git/blob - ceph/src/librbd/io/Types.h
update sources to v12.1.1
[ceph.git] / ceph / src / librbd / io / Types.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3
4 #ifndef CEPH_LIBRBD_IO_TYPES_H
5 #define CEPH_LIBRBD_IO_TYPES_H
6
7 #include "include/int_types.h"
8 #include <map>
9 #include <vector>
10
11 namespace librbd {
12 namespace io {
13
14 typedef enum {
15 AIO_TYPE_NONE = 0,
16 AIO_TYPE_GENERIC,
17 AIO_TYPE_OPEN,
18 AIO_TYPE_CLOSE,
19 AIO_TYPE_READ,
20 AIO_TYPE_WRITE,
21 AIO_TYPE_DISCARD,
22 AIO_TYPE_FLUSH,
23 AIO_TYPE_WRITESAME,
24 } aio_type_t;
25
26 enum Direction {
27 DIRECTION_READ,
28 DIRECTION_WRITE,
29 DIRECTION_BOTH
30 };
31
32 typedef std::vector<std::pair<uint64_t, uint64_t> > Extents;
33 typedef std::map<uint64_t, uint64_t> ExtentMap;
34
35 } // namespace io
36 } // namespace librbd
37
38 #endif // CEPH_LIBRBD_IO_TYPES_H
39