1 #include "librados_util.h"
3 uint8_t get_checksum_op_type(rados_checksum_type_t 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
;
16 int get_op_flags(int flags
)
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
;
36 int translate_flags(int flags
)
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
;