summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Durgin <josh.durgin@inktank.com>2013-04-10 12:03:04 -0700
committerJosh Durgin <josh.durgin@inktank.com>2013-04-10 12:03:04 -0700
commit870f9cd421ca7b0094f9f89e13b1898a8302c494 (patch)
tree0cb9f2bdbdd87f6bb5bf84f9844c132dac29a2c8
parentf5b81d8d167d1aa7f82a5776bbb1f319063ab809 (diff)
downloadceph-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.h12
-rw-r--r--src/librbd/LibrbdWriteback.cc11
-rw-r--r--src/librbd/LibrbdWriteback.h8
-rw-r--r--src/osdc/WritebackHandler.h8
-rw-r--r--src/test/osdc/FakeWriteback.cc11
-rw-r--r--src/test/osdc/FakeWriteback.h8
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,