]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
WritebackHandler: make read return nothing
authorJosh Durgin <josh.durgin@inktank.com>
Wed, 10 Apr 2013 19:03:04 +0000 (12:03 -0700)
committerJosh Durgin <josh.durgin@inktank.com>
Wed, 10 Apr 2013 19:03:04 +0000 (12:03 -0700)
The tid returned by reads is ignored, and would make tracking writes
internally more difficult by using the same id-space as them. Make read
void and update all implementations.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
src/client/ObjecterWriteback.h
src/librbd/LibrbdWriteback.cc
src/librbd/LibrbdWriteback.h
src/osdc/WritebackHandler.h
src/test/osdc/FakeWriteback.cc
src/test/osdc/FakeWriteback.h

index 1aa5e4932df9dce9cd75589ff0d10bf778d7c922..9a10fb48a065664242bf4ff16df9cb87cda10ac6 100644 (file)
@@ -11,12 +11,12 @@ class ObjecterWriteback : public WritebackHandler {
   ObjecterWriteback(Objecter *o) : m_objecter(o) {}
   virtual ~ObjecterWriteback() {}
 
-  virtual tid_t read(const object_t& oid, const object_locator_t& oloc,
-                    uint64_t off, uint64_t len, snapid_t snapid,
-                    bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
-                    Context *onfinish) {
-    return m_objecter->read_trunc(oid, oloc, off, len, snapid, pbl, 0,
-                                 trunc_size, trunc_seq, onfinish);
+  virtual void read(const object_t& oid, const object_locator_t& oloc,
+                   uint64_t off, uint64_t len, snapid_t snapid,
+                   bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
+                   Context *onfinish) {
+    m_objecter->read_trunc(oid, oloc, off, len, snapid, pbl, 0,
+                          trunc_size, trunc_seq, onfinish);
   }
 
   virtual bool may_copy_on_write(const object_t& oid, uint64_t read_off, uint64_t read_len, snapid_t snapid) {
index 1689ad91860dffde03ab77fc0c5e3252383f4e47..8a1b885f3c8ed9660454c6ff080eacc131f747c6 100644 (file)
@@ -68,11 +68,11 @@ namespace librbd {
   {
   }
 
-  tid_t LibrbdWriteback::read(const object_t& oid,
-                             const object_locator_t& oloc,
-                             uint64_t off, uint64_t len, snapid_t snapid,
-                             bufferlist *pbl, uint64_t trunc_size,
-                             __u32 trunc_seq, Context *onfinish)
+  void LibrbdWriteback::read(const object_t& oid,
+                            const object_locator_t& oloc,
+                            uint64_t off, uint64_t len, snapid_t snapid,
+                            bufferlist *pbl, uint64_t trunc_size,
+                            __u32 trunc_seq, Context *onfinish)
   {
     // on completion, take the mutex and then call onfinish.
     Context *req = new C_Request(m_ictx->cct, onfinish, &m_lock);
@@ -82,7 +82,6 @@ namespace librbd {
                                      len, off);
     rados_completion->release();
     assert(r >= 0);
-    return ++m_tid;
   }
 
   bool LibrbdWriteback::may_copy_on_write(const object_t& oid, uint64_t read_off, uint64_t read_len, snapid_t snapid)
index b054dbc59500bc53bdad57c6d00c0e6f84ba8d37..43a563bbc5f38ed955f5c612c36950408d98deeb 100644 (file)
@@ -21,10 +21,10 @@ namespace librbd {
     virtual ~LibrbdWriteback() {}
 
     // Note that oloc, trunc_size, and trunc_seq are ignored
-    virtual tid_t read(const object_t& oid, const object_locator_t& oloc,
-                      uint64_t off, uint64_t len, snapid_t snapid,
-                      bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
-                      Context *onfinish);
+    virtual void read(const object_t& oid, const object_locator_t& oloc,
+                     uint64_t off, uint64_t len, snapid_t snapid,
+                     bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
+                     Context *onfinish);
 
     // Determine whether a read to this extent could be affected by a write-triggered copy-on-write
     virtual bool may_copy_on_write(const object_t& oid, uint64_t read_off, uint64_t read_len, snapid_t snapid);
index a9a035ca52f5d41ae44489cf311ed4c6b34c4709..17e1f683bec0b9f19c82cfc778ea1e35edb734f7 100644 (file)
@@ -12,10 +12,10 @@ class WritebackHandler {
   WritebackHandler() {}
   virtual ~WritebackHandler() {}
 
-  virtual tid_t read(const object_t& oid, const object_locator_t& oloc,
-                    uint64_t off, uint64_t len, snapid_t snapid,
-                    bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
-                    Context *onfinish) = 0;
+  virtual void read(const object_t& oid, const object_locator_t& oloc,
+                   uint64_t off, uint64_t len, snapid_t snapid,
+                   bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
+                   Context *onfinish) = 0;
   /**
    * check if a given extent read result may change due to a write
    *
index 4445140a6f5b18737e410c1cbca3b3cb81e7229c..b4cd35ea9790ea98073dda9a34f0a06a8bbf473e 100644 (file)
@@ -58,15 +58,14 @@ FakeWriteback::~FakeWriteback()
   delete m_finisher;
 }
 
-tid_t FakeWriteback::read(const object_t& oid,
-                         const object_locator_t& oloc,
-                         uint64_t off, uint64_t len, snapid_t snapid,
-                         bufferlist *pbl, uint64_t trunc_size,
-                         __u32 trunc_seq, Context *onfinish)
+void FakeWriteback::read(const object_t& oid,
+                        const object_locator_t& oloc,
+                        uint64_t off, uint64_t len, snapid_t snapid,
+                        bufferlist *pbl, uint64_t trunc_size,
+                        __u32 trunc_seq, Context *onfinish)
 {
   C_Delay *wrapper = new C_Delay(m_cct, onfinish, m_lock, off, pbl, m_delay_ns);
   m_finisher->queue(wrapper, len);
-  return m_tid.inc();
 }
 
 tid_t FakeWriteback::write(const object_t& oid,
index ff48592d728d95e815bf13615ee70d8497f9e3ab..e7d6dc16bb469706c24f985a5aefc1b61188a7e6 100644 (file)
@@ -17,10 +17,10 @@ public:
   FakeWriteback(CephContext *cct, Mutex *lock, uint64_t delay_ns);
   virtual ~FakeWriteback();
 
-  virtual tid_t read(const object_t& oid, const object_locator_t& oloc,
-                    uint64_t off, uint64_t len, snapid_t snapid,
-                    bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
-                    Context *onfinish);
+  virtual void read(const object_t& oid, const object_locator_t& oloc,
+                   uint64_t off, uint64_t len, snapid_t snapid,
+                   bufferlist *pbl, uint64_t trunc_size,  __u32 trunc_seq,
+                   Context *onfinish);
 
   virtual tid_t write(const object_t& oid, const object_locator_t& oloc,
                      uint64_t off, uint64_t len, const SnapContext& snapc,