]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/FileStore: pass sort_bitwise down to CollectionIndex
authorSage Weil <sage@redhat.com>
Mon, 13 Jul 2015 14:55:34 +0000 (10:55 -0400)
committerSage Weil <sage@redhat.com>
Fri, 7 Aug 2015 14:16:01 +0000 (10:16 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/CollectionIndex.h
src/os/FileStore.cc
src/os/FileStore.h

index b08e5b4e304fb5b9d95ab19b81cd26baf6fc269b..6af6d773538c9c58ae08957f8cd3a684af0562e4 100644 (file)
@@ -167,6 +167,7 @@ protected:
   virtual int collection_list_partial(
     const ghobject_t &start, ///< [in] object at which to start
     const ghobject_t &end,    ///< [in] list only objects < end
+    bool sort_bitwise,      ///< [in] use bitwise sort
     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
index d225cf3f504803d3f6b35c97b6987c30791c21bc..aace0544f545d246b7b47a1ada7dede69cfa5ca2 100644 (file)
@@ -4642,7 +4642,8 @@ bool FileStore::collection_empty(coll_t c)
   tracepoint(objectstore, collection_empty_exit, ret);
   return ret;
 }
-int FileStore::collection_list(coll_t c, ghobject_t start, ghobject_t end, int max,
+int FileStore::collection_list(coll_t c, ghobject_t start, ghobject_t end,
+                              bool sort_bitwise, int max,
                               vector<ghobject_t> *ls, ghobject_t *next)
 {
   if (start.is_max())
@@ -4682,7 +4683,7 @@ int FileStore::collection_list(coll_t c, ghobject_t start, ghobject_t end, int m
     if (start < sep) {
       dout(10) << __func__ << " first checking temp pool" << dendl;
       coll_t temp = c.get_temp();
-      int r = collection_list(temp, start, end, max, ls, next);
+      int r = collection_list(temp, start, end, sort_bitwise, max, ls, next);
       if (r < 0)
        return r;
       if (*next != ghobject_t::get_max())
@@ -4703,7 +4704,7 @@ int FileStore::collection_list(coll_t c, ghobject_t start, ghobject_t end, int m
   assert(NULL != index.index);
   RWLock::RLocker l((index.index)->access_lock);
 
-  r = index->collection_list_partial(start, end, max, ls, next);
+  r = index->collection_list_partial(start, end, sort_bitwise, max, ls, next);
 
   if (r < 0) {
     assert(!m_filestore_fail_eio || r != -EIO);
index 1fe62aac660f0519a7a9a2a32d5927b3ab22a352..95882d3c7f3ace16795d39967c06d601e8142f71 100644 (file)
@@ -617,7 +617,8 @@ public:
                                   const SequencerPosition &spos);
 
   // collections
-  int collection_list(coll_t c, ghobject_t start, ghobject_t end, int max,
+  int collection_list(coll_t c, ghobject_t start, ghobject_t end,
+                     bool sort_bitwise, int max,
                      vector<ghobject_t> *ls, ghobject_t *next);
   int list_collections(vector<coll_t>& ls);
   int list_collections(vector<coll_t>& ls, bool include_temp);