]>
git.proxmox.com Git - ceph.git/blob - ceph/src/test/librbd/test_support.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3 #include "include/int_types.h"
4 #include "include/rados/librados.h"
5 #include "include/rbd/librbd.hpp"
8 static const uint64_t IMAGE_STRIPE_UNIT
= 65536;
9 static const uint64_t IMAGE_STRIPE_COUNT
= 16;
11 #define TEST_IO_SIZE 512
12 #define TEST_IO_TO_SNAP_SIZE 80
14 bool get_features(uint64_t *features
);
15 bool is_feature_enabled(uint64_t feature
);
16 int create_image_pp(librbd::RBD
&rbd
, librados::IoCtx
&ioctx
,
17 const std::string
&name
, uint64_t size
);
18 int create_image_full_pp(librbd::RBD
&rbd
, librados::IoCtx
&ioctx
,
19 const std::string
&name
, uint64_t size
,
20 uint64_t features
, bool old_format
, int *order
);
21 int clone_image_pp(librbd::RBD
&rbd
, librbd::Image
&p_image
, librados::IoCtx
&p_ioctx
,
22 const char *p_name
, const char *p_snap_name
, librados::IoCtx
&c_ioctx
,
23 const char *c_name
, uint64_t features
);
24 int get_image_id(librbd::Image
&image
, std::string
*image_id
);
25 int create_image_data_pool(librados::Rados
&rados
, std::string
&data_pool
, bool *created
);
27 bool is_librados_test_stub(librados::Rados
&rados
);
29 bool is_rbd_pwl_enabled(ceph::common::CephContext
*ctx
);
31 #define REQUIRE(x) { \
33 std::cout << "SKIPPING" << std::endl; \
38 #define REQUIRE_FEATURE(feature) REQUIRE(is_feature_enabled(feature))
39 #define REQUIRE_FORMAT_V1() REQUIRE(!is_feature_enabled(0))
40 #define REQUIRE_FORMAT_V2() REQUIRE_FEATURE(0)