X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Fobjectstore%2FDeterministicOpSequence.h;fp=src%2Fceph%2Fsrc%2Ftest%2Fobjectstore%2FDeterministicOpSequence.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=b3707a202814d143a791cdae5c765cab25c7002a;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/objectstore/DeterministicOpSequence.h b/src/ceph/src/test/objectstore/DeterministicOpSequence.h deleted file mode 100644 index b3707a2..0000000 --- a/src/ceph/src/test/objectstore/DeterministicOpSequence.h +++ /dev/null @@ -1,98 +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) 2012 New Dream Network -* -* 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 FILESTORE_DTRMNSTC_SEQ_OPS_H_ -#define FILESTORE_DTRMNSTC_SEQ_OPS_H_ - -#include -#include -#include -#include "os/ObjectStore.h" -#include -#include -#include - -#include "TestObjectStoreState.h" - -typedef boost::mt11213b rngen_t; - -class DeterministicOpSequence : public TestObjectStoreState { - public: - DeterministicOpSequence(ObjectStore *store, std::string status = std::string()); - virtual ~DeterministicOpSequence(); - - virtual void generate(int seed, int num_txs); - - protected: - enum { - DSOP_TOUCH = 0, - DSOP_WRITE = 1, - DSOP_CLONE = 2, - DSOP_CLONE_RANGE = 3, - DSOP_OBJ_REMOVE = 4, - DSOP_COLL_MOVE = 6, - DSOP_SET_ATTRS = 7, - DSOP_COLL_CREATE = 8, - - DSOP_FIRST = DSOP_TOUCH, - DSOP_LAST = DSOP_COLL_CREATE, - }; - - int32_t txn; - - coll_t txn_coll; - hobject_t txn_object; - - ObjectStore::Sequencer m_osr; - std::ofstream m_status; - - bool run_one_op(int op, rngen_t& gen); - - void note_txn(ObjectStore::Transaction *t); - bool do_touch(rngen_t& gen); - bool do_remove(rngen_t& gen); - bool do_write(rngen_t& gen); - bool do_clone(rngen_t& gen); - bool do_clone_range(rngen_t& gen); - bool do_coll_move(rngen_t& gen); - bool do_set_attrs(rngen_t& gen); - bool do_coll_create(rngen_t& gen); - - virtual void _do_touch(coll_t coll, hobject_t& obj); - virtual void _do_remove(coll_t coll, hobject_t& obj); - virtual void _do_write(coll_t coll, hobject_t& obj, uint64_t off, - uint64_t len, const bufferlist& data); - virtual void _do_set_attrs(coll_t coll, - hobject_t &obj, - const map &attrs); - virtual void _do_clone(coll_t coll, hobject_t& orig_obj, hobject_t& new_obj); - virtual void _do_clone_range(coll_t coll, hobject_t& orig_obj, - hobject_t& new_obj, uint64_t srcoff, uint64_t srclen, uint64_t dstoff); - virtual void _do_write_and_clone_range(coll_t coll, hobject_t& orig_obj, - hobject_t& new_obj, uint64_t srcoff, uint64_t srclen, - uint64_t dstoff, bufferlist& bl); - virtual void _do_coll_move(coll_t orig_coll, coll_t new_coll, hobject_t& obj); - virtual void _do_coll_create(coll_t cid, uint32_t pg_num, uint64_t num_objs); - - int _gen_coll_id(rngen_t& gen); - int _gen_obj_id(rngen_t& gen); - void _print_status(int seq, int op); - - private: - bool _prepare_clone(rngen_t& gen, coll_t& coll_ret, - hobject_t& orig_obj_ret, hobject_t& new_obj_ret); - bool _prepare_colls(rngen_t& gen, - coll_entry_t* &orig_coll, coll_entry_t* &new_coll); -}; - - -#endif /* FILESTORE_DTRMNSTC_SEQ_OPS_H_ */