X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fosdc%2FStriper.h;fp=src%2Fceph%2Fsrc%2Fosdc%2FStriper.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=6d110e9502fcf836c295ef12786b8a540b817fb3;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/osdc/Striper.h b/src/ceph/src/osdc/Striper.h deleted file mode 100644 index 6d110e9..0000000 --- a/src/ceph/src/osdc/Striper.h +++ /dev/null @@ -1,113 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2004-2006 Sage Weil - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_STRIPER_H -#define CEPH_STRIPER_H - -#include "include/types.h" -#include "osd/osd_types.h" - -class CephContext; - -//namespace ceph { - - class Striper { - public: - /* - * map (ino, layout, offset, len) to a (list of) ObjectExtents (byte - * ranges in objects on (primary) osds) - */ - static void file_to_extents(CephContext *cct, const char *object_format, - const file_layout_t *layout, - uint64_t offset, uint64_t len, - uint64_t trunc_size, - map >& extents, - uint64_t buffer_offset=0); - - static void file_to_extents(CephContext *cct, const char *object_format, - const file_layout_t *layout, - uint64_t offset, uint64_t len, - uint64_t trunc_size, - vector& extents, - uint64_t buffer_offset=0); - - static void file_to_extents(CephContext *cct, inodeno_t ino, - const file_layout_t *layout, - uint64_t offset, uint64_t len, - uint64_t trunc_size, - vector& extents) { - // generate prefix/format - char buf[32]; - snprintf(buf, sizeof(buf), "%llx.%%08llx", (long long unsigned)ino); - - file_to_extents(cct, buf, layout, offset, len, trunc_size, extents); - } - - static void assimilate_extents( - map >& object_extents, - vector& extents); - - /** - * reverse map an object extent to file extents - */ - static void extent_to_file(CephContext *cct, file_layout_t *layout, - uint64_t objectno, uint64_t off, uint64_t len, - vector >& extents); - - static uint64_t object_truncate_size( - CephContext *cct, const file_layout_t *layout, - uint64_t objectno, uint64_t trunc_size); - - static uint64_t get_num_objects(const file_layout_t& layout, - uint64_t size); - /* - * helper to assemble a striped result - */ - class StripedReadResult { - // offset -> (data, intended length) - map > partial; - uint64_t total_intended_len = 0; //sum of partial.second.second - - public: - void add_partial_result( - CephContext *cct, bufferlist& bl, - const vector >& buffer_extents); - /** - * add sparse read into results - * - * @param bl buffer - * @param bl_map map of which logical source extents this covers - * @param bl_off logical buffer offset (e.g., first bl_map key - * if the buffer is not sparse) - * @param buffer_extents output buffer extents the data maps to - */ - void add_partial_sparse_result( - CephContext *cct, bufferlist& bl, - const map& bl_map, uint64_t bl_off, - const vector >& buffer_extents); - - void assemble_result(CephContext *cct, bufferlist& bl, bool zero_tail); - - /** - * @buffer copy read data into buffer - * @len the length of buffer - */ - void assemble_result(CephContext *cct, char *buffer, size_t len); - }; - - }; - -//}; - -#endif