diff options
author | Josh Durgin <josh.durgin@inktank.com> | 2013-07-24 18:15:05 -0700 |
---|---|---|
committer | Josh Durgin <josh.durgin@inktank.com> | 2013-07-25 18:44:10 -0700 |
commit | ddf825206afde96c1b4c5e2d3a95b38a2d13c0f5 (patch) | |
tree | ae1e7e390a23c28df901a79846b5b76628f0f023 /src/librbd/internal.cc | |
parent | 02ec1a7502fe0aa612be6c088c4a0efda022da98 (diff) | |
download | ceph-wip-5488-2.tar.gz |
librbd: remove unnecessary AioRequest parameterswip-5488-2
Writes don't need the snap_id at all, so make that only applicable
to reads. Writes will read the current overlap value when they
need it, so don't pass this in or store it in a member variable
either.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'src/librbd/internal.cc')
-rw-r--r-- | src/librbd/internal.cc | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index bf8a0afc062..11cc7904301 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -2171,8 +2171,7 @@ reprotect_and_return_err: bufferlist bl; string oid = ictx->get_object_name(ono); Context *comp = new C_SimpleThrottle(&throttle); - AioWrite *req = new AioWrite(ictx, oid, ono, 0, objectx, object_overlap, - bl, snapc, CEPH_NOSNAP, comp); + AioWrite *req = new AioWrite(ictx, oid, ono, 0, objectx, bl, snapc, comp); r = req->send(); if (r < 0) { lderr(cct) << "failed to flatten object " << oid << dendl; @@ -2917,11 +2916,10 @@ reprotect_and_return_err: Striper::extent_to_file(ictx->cct, &ictx->layout, p->objectno, 0, ictx->layout.fl_object_size, objectx); - uint64_t object_overlap = ictx->prune_parent_extents(objectx, overlap); + ictx->prune_parent_extents(objectx, overlap); AioWrite *req = new AioWrite(ictx, p->oid.name, p->objectno, p->offset, - objectx, object_overlap, - bl, snapc, snap_id, req_comp); + objectx, bl, snapc, req_comp); c->add_request(); r = req->send(); if (r < 0) @@ -2993,15 +2991,14 @@ reprotect_and_return_err: } if (p->offset == 0 && p->length == ictx->layout.fl_object_size) { - req = new AioRemove(ictx, p->oid.name, p->objectno, objectx, object_overlap, - snapc, snap_id, req_comp); + req = new AioRemove(ictx, p->oid.name, p->objectno, objectx, snapc, + req_comp); } else if (p->offset + p->length == ictx->layout.fl_object_size) { - req = new AioTruncate(ictx, p->oid.name, p->objectno, p->offset, objectx, object_overlap, - snapc, snap_id, req_comp); + req = new AioTruncate(ictx, p->oid.name, p->objectno, p->offset, objectx, + snapc, req_comp); } else { req = new AioZero(ictx, p->oid.name, p->objectno, p->offset, p->length, - objectx, object_overlap, - snapc, snap_id, req_comp); + objectx, snapc, req_comp); } r = req->send(); |