X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flibrbd%2FUtils.cc;fp=src%2Fceph%2Fsrc%2Flibrbd%2FUtils.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=dc6e7988e69c65169ad07ebbb0b5eb12fbff2229;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/librbd/Utils.cc b/src/ceph/src/librbd/Utils.cc deleted file mode 100644 index dc6e798..0000000 --- a/src/ceph/src/librbd/Utils.cc +++ /dev/null @@ -1,103 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#include -#include - -#include "librbd/Utils.h" -#include "include/rbd_types.h" -#include "include/stringify.h" -#include "include/rbd/features.h" -#include "common/dout.h" - -#define dout_subsys ceph_subsys_rbd -#undef dout_prefix -#define dout_prefix *_dout << "librbd: " - -namespace librbd { -namespace util { - -const std::string group_header_name(const std::string &group_id) -{ - return RBD_GROUP_HEADER_PREFIX + group_id; -} - -const std::string id_obj_name(const std::string &name) -{ - return RBD_ID_PREFIX + name; -} - -const std::string header_name(const std::string &image_id) -{ - return RBD_HEADER_PREFIX + image_id; -} - -const std::string old_header_name(const std::string &image_name) -{ - return image_name + RBD_SUFFIX; -} - -std::string unique_lock_name(const std::string &name, void *address) { - return name + " (" + stringify(address) + ")"; -} - -librados::AioCompletion *create_rados_callback(Context *on_finish) { - return create_rados_callback(on_finish); -} - -std::string generate_image_id(librados::IoCtx &ioctx) { - librados::Rados rados(ioctx); - - uint64_t bid = rados.get_instance_id(); - uint32_t extra = rand() % 0xFFFFFFFF; - - ostringstream bid_ss; - bid_ss << std::hex << bid << std::hex << extra; - std::string id = bid_ss.str(); - - // ensure the image id won't overflow the fixed block name size - if (id.length() > RBD_MAX_IMAGE_ID_LENGTH) { - id = id.substr(id.length() - RBD_MAX_IMAGE_ID_LENGTH); - } - - return id; -} - -uint64_t get_rbd_default_features(CephContext* cct) -{ - auto str_val = cct->_conf->get_val("rbd_default_features"); - return boost::lexical_cast(str_val); -} - -bool calc_sparse_extent(const bufferptr &bp, - size_t sparse_size, - uint64_t length, - size_t *write_offset, - size_t *write_length, - size_t *offset) { - size_t extent_size; - if (*offset + sparse_size > length) { - extent_size = length - *offset; - } else { - extent_size = sparse_size; - } - - bufferptr extent(bp, *offset, extent_size); - *offset += extent_size; - - bool extent_is_zero = extent.is_zero(); - if (!extent_is_zero) { - *write_length += extent_size; - } - if (extent_is_zero && *write_length == 0) { - *write_offset += extent_size; - } - - if ((extent_is_zero || *offset == length) && *write_length != 0) { - return true; - } - return false; -} -} // namespace util - -} // namespace librbd