]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | #include "librados_util.h" |
2 | ||
3 | uint8_t get_checksum_op_type(rados_checksum_type_t type) { | |
4 | switch (type) { | |
5 | case LIBRADOS_CHECKSUM_TYPE_XXHASH32: | |
6 | return CEPH_OSD_CHECKSUM_OP_TYPE_XXHASH32; | |
7 | case LIBRADOS_CHECKSUM_TYPE_XXHASH64: | |
8 | return CEPH_OSD_CHECKSUM_OP_TYPE_XXHASH64; | |
9 | case LIBRADOS_CHECKSUM_TYPE_CRC32C: | |
10 | return CEPH_OSD_CHECKSUM_OP_TYPE_CRC32C; | |
11 | default: | |
12 | return -1; | |
13 | } | |
14 | } | |
15 | ||
16 | int get_op_flags(int flags) | |
17 | { | |
18 | int rados_flags = 0; | |
19 | if (flags & LIBRADOS_OP_FLAG_EXCL) | |
20 | rados_flags |= CEPH_OSD_OP_FLAG_EXCL; | |
21 | if (flags & LIBRADOS_OP_FLAG_FAILOK) | |
22 | rados_flags |= CEPH_OSD_OP_FLAG_FAILOK; | |
23 | if (flags & LIBRADOS_OP_FLAG_FADVISE_RANDOM) | |
24 | rados_flags |= CEPH_OSD_OP_FLAG_FADVISE_RANDOM; | |
25 | if (flags & LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL) | |
26 | rados_flags |= CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL; | |
27 | if (flags & LIBRADOS_OP_FLAG_FADVISE_WILLNEED) | |
28 | rados_flags |= CEPH_OSD_OP_FLAG_FADVISE_WILLNEED; | |
29 | if (flags & LIBRADOS_OP_FLAG_FADVISE_DONTNEED) | |
30 | rados_flags |= CEPH_OSD_OP_FLAG_FADVISE_DONTNEED; | |
31 | if (flags & LIBRADOS_OP_FLAG_FADVISE_NOCACHE) | |
32 | rados_flags |= CEPH_OSD_OP_FLAG_FADVISE_NOCACHE; | |
33 | return rados_flags; | |
34 | } | |
35 | ||
36 | int translate_flags(int flags) | |
37 | { | |
38 | int op_flags = 0; | |
39 | if (flags & librados::OPERATION_BALANCE_READS) | |
40 | op_flags |= CEPH_OSD_FLAG_BALANCE_READS; | |
41 | if (flags & librados::OPERATION_LOCALIZE_READS) | |
42 | op_flags |= CEPH_OSD_FLAG_LOCALIZE_READS; | |
43 | if (flags & librados::OPERATION_ORDER_READS_WRITES) | |
44 | op_flags |= CEPH_OSD_FLAG_RWORDERED; | |
45 | if (flags & librados::OPERATION_IGNORE_CACHE) | |
46 | op_flags |= CEPH_OSD_FLAG_IGNORE_CACHE; | |
47 | if (flags & librados::OPERATION_SKIPRWLOCKS) | |
48 | op_flags |= CEPH_OSD_FLAG_SKIPRWLOCKS; | |
49 | if (flags & librados::OPERATION_IGNORE_OVERLAY) | |
50 | op_flags |= CEPH_OSD_FLAG_IGNORE_OVERLAY; | |
51 | if (flags & librados::OPERATION_FULL_TRY) | |
52 | op_flags |= CEPH_OSD_FLAG_FULL_TRY; | |
53 | if (flags & librados::OPERATION_FULL_FORCE) | |
54 | op_flags |= CEPH_OSD_FLAG_FULL_FORCE; | |
55 | if (flags & librados::OPERATION_IGNORE_REDIRECT) | |
56 | op_flags |= CEPH_OSD_FLAG_IGNORE_REDIRECT; | |
57 | if (flags & librados::OPERATION_ORDERSNAP) | |
58 | op_flags |= CEPH_OSD_FLAG_ORDERSNAP; | |
9f95a23c TL |
59 | if (flags & librados::OPERATION_RETURNVEC) |
60 | op_flags |= CEPH_OSD_FLAG_RETURNVEC; | |
11fdf7f2 TL |
61 | |
62 | return op_flags; | |
63 | } |