remove ceph code
[stor4nfv.git] / src / ceph / src / os / filestore / CollectionIndex.h
diff --git a/src/ceph/src/os/filestore/CollectionIndex.h b/src/ceph/src/os/filestore/CollectionIndex.h
deleted file mode 100644 (file)
index 7c57a38..0000000
+++ /dev/null
@@ -1,203 +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 <sage@newdream.net>
- *
- * 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 OS_COLLECTIONINDEX_H
-#define OS_COLLECTIONINDEX_H
-
-#include <string>
-#include <vector>
-#include "include/memory.h"
-
-#include "osd/osd_types.h"
-#include "include/object.h"
-#include "common/RWLock.h"
-
-/**
-  CollectionIndex provides an interface for manipulating indexed collections
- */
-class CollectionIndex {
-public:
-  CephContext* cct;
-protected:
-  /**
-   * Object encapsulating a returned path.
-   *
-   * A path to an object (existent or non-existent) becomes invalid
-   * when a different object is created in the index.  Path stores
-   * a shared_ptr to the CollectionIndex to keep the index alive
-   * during its lifetime.
-   * @see IndexManager
-   * @see self_ref
-   * @see set_ref
-   */
-  class Path {
-  public:
-    /// Returned path
-    string full_path;
-    /// Ref to parent Index
-    CollectionIndex* parent_ref;
-    /// coll_t for parent Index
-    coll_t parent_coll;
-
-    /// Normal Constructor
-    Path(
-      string path,                              ///< [in] Path to return.
-      CollectionIndex* ref)
-      : full_path(path), parent_ref(ref), parent_coll(parent_ref->coll()) {}
-
-    /// Debugging Constructor
-    Path(
-      string path,                              ///< [in] Path to return.
-      const coll_t& coll)                              ///< [in] collection
-      : full_path(path), parent_coll(coll) {}
-
-    /// Getter for the stored path.
-    const char *path() const { return full_path.c_str(); }
-
-    /// Getter for collection
-    const coll_t& coll() const { return parent_coll; }
-
-    /// Getter for parent
-    CollectionIndex* get_index() const {
-      return parent_ref;
-    }
-  };
- public:
-
-  RWLock access_lock;
-  /// Type of returned paths
-  typedef ceph::shared_ptr<Path> IndexedPath;
-
-  static IndexedPath get_testing_path(string path, coll_t collection) {
-    return std::make_shared<Path>(path, collection);
-  }
-
-  static const uint32_t FLAT_INDEX_TAG = 0;
-  static const uint32_t HASH_INDEX_TAG = 1;
-  static const uint32_t HASH_INDEX_TAG_2 = 2;
-  static const uint32_t HOBJECT_WITH_POOL = 3;
-  /**
-   * For tracking Filestore collection versions.
-   *
-   * @return Collection version represented by the Index implementation
-   */
-  virtual uint32_t collection_version() = 0;
-
-  /**
-   * Returns the collection managed by this CollectionIndex
-   */
-  virtual coll_t coll() const = 0;
-
-
-  /**
-   * Initializes the index.
-   *
-   * @return Error Code, 0 for success
-   */
-  virtual int init() = 0;
-
-  /**
-   * Cleanup before replaying journal
-   *
-   * Index implemenations may need to perform compound operations
-   * which may leave the collection unstable if interupted.  cleanup
-   * is called on mount to allow the CollectionIndex implementation
-   * to stabilize.
-   *
-   * @see HashIndex
-   * @return Error Code, 0 for success
-   */
-  virtual int cleanup() = 0;
-
-  /**
-   * Call when a file is created using a path returned from lookup.
-   *
-   * @return Error Code, 0 for success
-   */
-  virtual int created(
-    const ghobject_t &oid, ///< [in] Created object.
-    const char *path       ///< [in] Path to created object.
-    ) = 0;
-
-  /**
-   * Removes oid from the collection
-   *
-   * @return Error Code, 0 for success
-   */
-  virtual int unlink(
-    const ghobject_t &oid ///< [in] Object to remove
-    ) = 0;
-
-  /**
-   * Gets the IndexedPath for oid.
-   *
-   * @return Error Code, 0 for success
-   */
-  virtual int lookup(
-    const ghobject_t &oid, ///< [in] Object to lookup
-    IndexedPath *path,    ///< [out] Path to object
-    int *hardlink          ///< [out] number of hard links of this object. *hardlink=0 mean object no-exist.
-    ) = 0;
-
-  /**
-   * Moves objects matching @e match in the lsb @e bits
-   *
-   * dest and this must be the same subclass
-   *
-   * @return Error Code, 0 for success
-   */
-  virtual int split(
-    uint32_t match,                             //< [in] value to match
-    uint32_t bits,                              //< [in] bits to check
-    CollectionIndex* dest  //< [in] destination index
-    ) { ceph_abort(); return 0; }
-
-
-  /// List contents of collection by hash
-  virtual int collection_list_partial(
-    const ghobject_t &start, ///< [in] object at which to start
-    const ghobject_t &end,    ///< [in] list only objects < end
-    int max_count,          ///< [in] return at most max_count objects
-    vector<ghobject_t> *ls,  ///< [out] Listed objects
-    ghobject_t *next         ///< [out] Next object to list
-    ) = 0;
-
-  /// Call prior to removing directory
-  virtual int prep_delete() { return 0; }
-
-  CollectionIndex(CephContext* cct, const coll_t& collection)
-    : cct(cct), access_lock("CollectionIndex::access_lock", true, false) {}
-
-  /*
-   * Pre-hash the collection, this collection should map to a PG folder.
-   *
-   * @param pg_num            - pg number of the pool this collection belongs to.
-   * @param expected_num_objs - expected number of objects in this collection.
-   * @Return 0 on success, an error code otherwise.
-   */
-  virtual int pre_hash_collection(
-      uint32_t pg_num,            ///< [in] pg number of the pool this collection belongs to
-      uint64_t expected_num_objs  ///< [in] expected number of objects this collection has
-      ) { ceph_abort(); return 0; }
-
-  virtual int apply_layout_settings() { ceph_abort(); return 0; }
-
-  /// Read index-wide settings (should be called after construction)
-  virtual int read_settings() { return 0; }
-
-  /// Virtual destructor
-  virtual ~CollectionIndex() {}
-};
-
-#endif