diff options
author | Josh Durgin <josh.durgin@inktank.com> | 2013-04-10 12:03:04 -0700 |
---|---|---|
committer | Josh Durgin <josh.durgin@inktank.com> | 2013-04-10 12:03:04 -0700 |
commit | 870f9cd421ca7b0094f9f89e13b1898a8302c494 (patch) | |
tree | 0cb9f2bdbdd87f6bb5bf84f9844c132dac29a2c8 | |
parent | f5b81d8d167d1aa7f82a5776bbb1f319063ab809 (diff) | |
download | ceph-870f9cd421ca7b0094f9f89e13b1898a8302c494.tar.gz |
WritebackHandler: make read return nothing
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>
-rw-r--r-- | src/client/ObjecterWriteback.h | 12 | ||||
-rw-r--r-- | src/librbd/LibrbdWriteback.cc | 11 | ||||
-rw-r--r-- | src/librbd/LibrbdWriteback.h | 8 | ||||
-rw-r--r-- | src/osdc/WritebackHandler.h | 8 | ||||
-rw-r--r-- | src/test/osdc/FakeWriteback.cc | 11 | ||||
-rw-r--r-- | src/test/osdc/FakeWriteback.h | 8 |
6 files changed, 28 insertions, 30 deletions
diff --git a/src/client/ObjecterWriteback.h b/src/client/ObjecterWriteback.h index 1aa5e4932df..9a10fb48a06 100644 --- a/src/client/ObjecterWriteback.h +++ b/src/client/ObjecterWriteback.h @@ -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) { diff --git a/src/librbd/LibrbdWriteback.cc b/src/librbd/LibrbdWriteback.cc index 1689ad91860..8a1b885f3c8 100644 --- a/src/librbd/LibrbdWriteback.cc +++ b/src/librbd/LibrbdWriteback.cc @@ -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) diff --git a/src/librbd/LibrbdWriteback.h b/src/librbd/LibrbdWriteback.h index b054dbc5950..43a563bbc5f 100644 --- a/src/librbd/LibrbdWriteback.h +++ b/src/librbd/LibrbdWriteback.h @@ -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); diff --git a/src/osdc/WritebackHandler.h b/src/osdc/WritebackHandler.h index a9a035ca52f..17e1f683bec 100644 --- a/src/osdc/WritebackHandler.h +++ b/src/osdc/WritebackHandler.h @@ -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 * diff --git a/src/test/osdc/FakeWriteback.cc b/src/test/osdc/FakeWriteback.cc index 4445140a6f5..b4cd35ea979 100644 --- a/src/test/osdc/FakeWriteback.cc +++ b/src/test/osdc/FakeWriteback.cc @@ -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, diff --git a/src/test/osdc/FakeWriteback.h b/src/test/osdc/FakeWriteback.h index ff48592d728..e7d6dc16bb4 100644 --- a/src/test/osdc/FakeWriteback.h +++ b/src/test/osdc/FakeWriteback.h @@ -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, |