]> git.proxmox.com Git - ceph.git/blame - ceph/src/test/librbd/test_support.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / test / librbd / test_support.h
CommitLineData
7c673cae
FG
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"
6#include <string>
7
8static const uint64_t IMAGE_STRIPE_UNIT = 65536;
9static const uint64_t IMAGE_STRIPE_COUNT = 16;
10
11#define TEST_IO_SIZE 512
12#define TEST_IO_TO_SNAP_SIZE 80
13
14bool get_features(uint64_t *features);
15bool is_feature_enabled(uint64_t feature);
16int create_image_pp(librbd::RBD &rbd, librados::IoCtx &ioctx,
17 const std::string &name, uint64_t size);
18int 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);
21int 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);
24int get_image_id(librbd::Image &image, std::string *image_id);
25int create_image_data_pool(librados::Rados &rados, std::string &data_pool, bool *created);
26
11fdf7f2
TL
27bool is_librados_test_stub(librados::Rados &rados);
28
f67539c2
TL
29bool is_rbd_pwl_enabled(ceph::common::CephContext *ctx);
30
7c673cae
FG
31#define REQUIRE(x) { \
32 if (!(x)) { \
33 std::cout << "SKIPPING" << std::endl; \
34 return SUCCEED(); \
35 } \
36}
37
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)