]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/ObjectStore: deprecated collection_getattr et al
authorSage Weil <sage@redhat.com>
Fri, 5 Dec 2014 21:58:48 +0000 (13:58 -0800)
committerSage Weil <sage@redhat.com>
Wed, 17 Dec 2014 01:07:59 +0000 (17:07 -0800)
Drop the functional tests for this too.

Return EOPNOTSUPP by default, and tolerate this in the callers.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/ObjectStore.h
src/osd/PG.cc
src/test/objectstore/FileStoreDiff.cc
src/test/objectstore/store_test.cc

index 4feb19061c662bda9e4dc24f9af889ceff4efc18..4f681e89a40b812cd0799cffd6ebf252f1b615dc 100644 (file)
@@ -1455,7 +1455,11 @@ public:
    * @returns 0 on success, negative error code on failure
    */
   virtual int collection_getattr(coll_t cid, const char *name,
-                                void *value, size_t size) = 0;
+                                void *value, size_t size)
+    __attribute__ ((deprecated)) {
+    return -EOPNOTSUPP;
+  }
+
   /**
    * collection_getattr - get an xattr of a collection
    *
@@ -1464,7 +1468,11 @@ public:
    * @param bl buffer to receive value
    * @returns 0 on success, negative error code on failure
    */
-  virtual int collection_getattr(coll_t cid, const char *name, bufferlist& bl) = 0;
+  virtual int collection_getattr(coll_t cid, const char *name, bufferlist& bl)
+    __attribute__ ((deprecated)) {
+    return -EOPNOTSUPP;
+  }
+
   /**
    * collection_getattrs - get all xattrs of a collection
    *
@@ -1472,7 +1480,11 @@ public:
    * @param asert map of keys and buffers that contain the values
    * @returns 0 on success, negative error code on failure
    */
-  virtual int collection_getattrs(coll_t cid, map<string,bufferptr> &aset) = 0;
+  virtual int collection_getattrs(coll_t cid, map<string,bufferptr> &aset)
+    __attribute__ ((deprecated)) {
+    return -EOPNOTSUPP;
+  }
+
   /**
    * is a collection empty?
    *
index 734318215ec5c0cc0b31286cc671579ac25056bf..197abcf941ca7c32d8a79ec4f93b886c35602258 100644 (file)
@@ -2706,6 +2706,9 @@ void PG::write_info(ObjectStore::Transaction& t)
   dirty_big_info = false;
 }
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
 bool PG::_has_removal_flag(ObjectStore *store,
                           spg_t pgid)
 {
@@ -2720,14 +2723,13 @@ bool PG::_has_removal_flag(ObjectStore *store,
       values.size() == 1)
     return true;
 
-  // try old way
+  // try old way.  tolerate EOPNOTSUPP.
   char val;
   if (store->collection_getattr(coll, "remove", &val, 1) > 0)
     return true;
   return false;
 }
 
-
 epoch_t PG::peek_map_epoch(ObjectStore *store,
                           spg_t pgid,
                           bufferlist *bl)
@@ -2793,6 +2795,8 @@ epoch_t PG::peek_map_epoch(ObjectStore *store,
   return cur_epoch;
 }
 
+#pragma GCC diagnostic pop
+
 void PG::write_if_dirty(ObjectStore::Transaction& t)
 {
   if (dirty_big_info || dirty_info)
@@ -3622,9 +3626,6 @@ void PG::build_scrub_map(ScrubMap &map, ThreadPool::TPHandle &handle)
 
   dout(10) << "PG relocked, finalizing" << dendl;
 
-  // pg attrs
-  osd->store->collection_getattrs(coll, map.attrs);
-
   dout(10) << __func__ << " done." << dendl;
 }
 
@@ -3660,8 +3661,6 @@ void PG::build_inc_scrub_map(
   }
 
   get_pgbackend()->be_scan_list(map, ls, false, handle);
-  // pg attrs
-  osd->store->collection_getattrs(coll, map.attrs);
 }
 
 void PG::repair_object(
index 40c0b32d30c12250462cc4b7945d977971a07965..ad4f62bff73e41bd1f340bcc4f87a51c89217072 100644 (file)
@@ -258,13 +258,13 @@ bool FileStoreDiff::diff_coll_attrs(FileStore *a_store, FileStore *b_store, coll
   int err;
   std::map<std::string, bufferptr> b_coll_attrs, a_coll_attrs;
   err = b_store->collection_getattrs(coll, b_coll_attrs);
-  if (err < 0) {
+  if (err < 0 && err != -EOPNOTSUPP) {
     dout(0) << "diff_attrs getattrs on verify coll " << coll.to_str()
         << "returns " << err << dendl;
     ret = true;
   }
   err = a_store->collection_getattrs(coll, a_coll_attrs);
-  if (err < 0) {
+  if (err < 0 && err != -EOPNOTSUPP) {
     dout(0) << "diff_attrs getattrs on A coll " << coll.to_str()
               << "returns " << err << dendl;
     ret = true;
index fbb6c4d167bc31d7e75d155b6a27869c82dfa5a5..30eab89b7f2dd86f022c362f7cd2ef4bb6b38eab 100644 (file)
@@ -1126,83 +1126,6 @@ TEST_P(StoreTest, HashCollisionTest) {
   ASSERT_EQ(r, 0);
 }
 
-TEST_P(StoreTest, CollectionAttrTest) {
-  coll_t cid("blah");
-  int r;
-
-  {
-    ObjectStore::Transaction t;
-    t.create_collection(cid);
-    r = store->apply_transaction(t);
-    ASSERT_EQ(r, 0);
-  }
-
-  {
-    bufferlist bl;
-    map<string, bufferptr> aset;
-    char nonexist[] = "nonexist";
-
-    r = store->collection_getattr(cid, nonexist, bl);
-    ASSERT_EQ(r, -ENODATA);
-
-    r = store->collection_getattrs(cid, aset);
-    ASSERT_EQ(r, 0);
-    ASSERT_EQ(aset.size(), 0u);
-  }
-
-  {
-    bufferlist bl;
-    map<string, bufferptr> aset;
-    ObjectStore::Transaction t;
-    char zero_length[] = "zero-length";
-
-    t.collection_setattr(cid, zero_length, bl);
-    r = store->apply_transaction(t);
-    ASSERT_EQ(r, 0);
-    ASSERT_EQ(bl.length(), 0u);
-
-    r = store->collection_getattr(cid, zero_length, bl);
-    ASSERT_EQ(r, 0);
-    ASSERT_EQ(bl.length(), 0u);
-
-    r = store->collection_getattrs(cid, aset);
-    ASSERT_EQ(r, 0);
-    ASSERT_EQ(aset.size(), 1u);
-    ASSERT_EQ(aset[zero_length].length(), 0u);
-  }
-
-  {
-    bufferlist bl;
-    map<string, bufferptr> aset;
-    ObjectStore::Transaction t;
-    char normal[] = "normal";
-    char data[] = "dasdfjasdlkas";
-
-    bl.append(data, sizeof(data));
-    t.collection_setattr(cid, normal, bl);
-    r = store->apply_transaction(t);
-    ASSERT_EQ(r, 0);
-    bl.clear();
-
-    r = store->collection_getattr(cid, normal, bl);
-    ASSERT_EQ(r, (int)sizeof(data));
-    ASSERT_EQ(bl.length(), sizeof(data));
-    bl.clear();
-
-    r = store->collection_getattrs(cid, aset);
-    ASSERT_EQ(r, 0);
-    ASSERT_EQ(aset.size(), 2u);
-    ASSERT_EQ(aset[normal].length(), sizeof(data));
-  }
-
-  {
-    ObjectStore::Transaction t;
-    t.remove_collection(cid);
-    r = store->apply_transaction(t);
-    ASSERT_EQ(r, 0);
-  }
-}
-
 TEST_P(StoreTest, ScrubTest) {
   coll_t cid("blah");
   int r;