Skip to content

Commit

Permalink
Merge pull request #10781 from stiopaa1/osdc_objectcacher_moveClasses…
Browse files Browse the repository at this point in the history
…ToCC

osdc/ObjectCacher: move C_ReadFinish, C_RetryRead

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
  • Loading branch information
gregsfortytwo committed Aug 31, 2016
2 parents 7cbc7a5 + c3f35b2 commit 4b00841
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 55 deletions.
54 changes: 54 additions & 0 deletions src/osdc/ObjectCacher.cc
Expand Up @@ -27,6 +27,60 @@ using std::chrono::seconds;



class ObjectCacher::C_ReadFinish : public Context {
ObjectCacher *oc;
int64_t poolid;
sobject_t oid;
loff_t start;
uint64_t length;
xlist<C_ReadFinish*>::item set_item;
bool trust_enoent;
ceph_tid_t tid;

public:
bufferlist bl;
C_ReadFinish(ObjectCacher *c, Object *ob, ceph_tid_t t, loff_t s,
uint64_t l) :
oc(c), poolid(ob->oloc.pool), oid(ob->get_soid()), start(s), length(l),
set_item(this), trust_enoent(true),
tid(t) {
ob->reads.push_back(&set_item);
}

void finish(int r) {
oc->bh_read_finish(poolid, oid, tid, start, length, bl, r, trust_enoent);

// object destructor clears the list
if (set_item.is_on_list())
set_item.remove_myself();
}

void distrust_enoent() {
trust_enoent = false;
}
};

class ObjectCacher::C_RetryRead : public Context {
ObjectCacher *oc;
OSDRead *rd;
ObjectSet *oset;
Context *onfinish;
public:
C_RetryRead(ObjectCacher *_oc, OSDRead *r, ObjectSet *os, Context *c)
: oc(_oc), rd(r), oset(os), onfinish(c) {}
void finish(int r) {
if (r < 0) {
if (onfinish)
onfinish->complete(r);
return;
}
int ret = oc->_readx(rd, oset, onfinish, false);
if (ret != 0 && onfinish) {
onfinish->complete(ret);
}
}
};

ObjectCacher::BufferHead *ObjectCacher::Object::split(BufferHead *left,
loff_t off)
{
Expand Down
56 changes: 1 addition & 55 deletions src/osdc/ObjectCacher.h
Expand Up @@ -556,40 +556,6 @@ class ObjectCacher {
vector<pair<loff_t, uint64_t> >& ranges,
ceph_tid_t t, int r);


class C_ReadFinish : public Context {
ObjectCacher *oc;
int64_t poolid;
sobject_t oid;
loff_t start;
uint64_t length;
xlist<C_ReadFinish*>::item set_item;
bool trust_enoent;
ceph_tid_t tid;

public:
bufferlist bl;
C_ReadFinish(ObjectCacher *c, Object *ob, ceph_tid_t t, loff_t s,
uint64_t l) :
oc(c), poolid(ob->oloc.pool), oid(ob->get_soid()), start(s), length(l),
set_item(this), trust_enoent(true),
tid(t) {
ob->reads.push_back(&set_item);
}

void finish(int r) {
oc->bh_read_finish(poolid, oid, tid, start, length, bl, r, trust_enoent);

// object destructor clears the list
if (set_item.is_on_list())
set_item.remove_myself();
}

void distrust_enoent() {
trust_enoent = false;
}
};

class C_WriteCommit;
class C_WaitForWrite;

Expand Down Expand Up @@ -619,27 +585,7 @@ class ObjectCacher {
}


class C_RetryRead : public Context {
ObjectCacher *oc;
OSDRead *rd;
ObjectSet *oset;
Context *onfinish;
public:
C_RetryRead(ObjectCacher *_oc, OSDRead *r, ObjectSet *os, Context *c)
: oc(_oc), rd(r), oset(os), onfinish(c) {}
void finish(int r) {
if (r < 0) {
if (onfinish)
onfinish->complete(r);
return;
}
int ret = oc->_readx(rd, oset, onfinish, false);
if (ret != 0 && onfinish) {
onfinish->complete(ret);
}
}
};

class C_RetryRead;


// non-blocking. async.
Expand Down

0 comments on commit 4b00841

Please sign in to comment.