X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flibrbd%2Fio%2FReadResult.h;fp=src%2Fceph%2Fsrc%2Flibrbd%2Fio%2FReadResult.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=24a8f256c596bd8855b711a36a97e61c9b007af0;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/librbd/io/ReadResult.h b/src/ceph/src/librbd/io/ReadResult.h deleted file mode 100644 index 24a8f25..0000000 --- a/src/ceph/src/librbd/io/ReadResult.h +++ /dev/null @@ -1,126 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#ifndef CEPH_LIBRBD_IO_READ_RESULT_H -#define CEPH_LIBRBD_IO_READ_RESULT_H - -#include "include/int_types.h" -#include "include/buffer_fwd.h" -#include "include/Context.h" -#include "librbd/io/Types.h" -#include "osdc/Striper.h" -#include -#include - -struct CephContext; - -namespace librbd { -namespace io { - -struct AioCompletion; -template struct ObjectReadRequest; - -class ReadResult { -private: - struct C_ReadRequest : public Context { - AioCompletion *aio_completion; - bufferlist bl; - - C_ReadRequest(AioCompletion *aio_completion); - - void finish(int r) override; - }; - -public: - - struct C_ImageReadRequest : public C_ReadRequest { - Extents image_extents; - - C_ImageReadRequest(AioCompletion *aio_completion, - const Extents image_extents) - : C_ReadRequest(aio_completion), image_extents(image_extents) { - } - - void finish(int r) override; - }; - - struct C_SparseReadRequestBase : public C_ReadRequest { - C_SparseReadRequestBase(AioCompletion *aio_completion) - : C_ReadRequest(aio_completion) { - } - - using C_ReadRequest::finish; - void finish(ExtentMap &extent_map, const Extents &buffer_extents, - uint64_t offset, size_t length, bufferlist &bl, int r); - }; - - template - struct C_SparseReadRequest : public C_SparseReadRequestBase { - ObjectReadRequest *request; - - C_SparseReadRequest(AioCompletion *aio_completion) - : C_SparseReadRequestBase(aio_completion) { - } - - void finish(int r) override { - C_SparseReadRequestBase::finish(request->get_extent_map(), - request->get_buffer_extents(), - request->get_offset(), - request->get_length(), request->data(), - r); - } - }; - - ReadResult(); - ReadResult(char *buf, size_t buf_len); - ReadResult(const struct iovec *iov, int iov_count); - ReadResult(ceph::bufferlist *bl); - - void set_clip_length(size_t length); - void assemble_result(CephContext *cct); - -private: - struct Empty { - }; - - struct Linear { - char *buf; - size_t buf_len; - - Linear(char *buf, size_t buf_len) : buf(buf), buf_len(buf_len) { - } - }; - - struct Vector { - const struct iovec *iov; - int iov_count; - - Vector(const struct iovec *iov, int iov_count) - : iov(iov), iov_count(iov_count) { - } - }; - - struct Bufferlist { - ceph::bufferlist *bl; - - Bufferlist(ceph::bufferlist *bl) : bl(bl) { - } - }; - - typedef boost::variant Buffer; - struct SetClipLengthVisitor; - struct AssembleResultVisitor; - - Buffer m_buffer; - Striper::StripedReadResult m_destriper; - -}; - -} // namespace io -} // namespace librbd - -#endif // CEPH_LIBRBD_IO_READ_RESULT_H -