From c598d4820b3b59ff14355f37c94eb6036c2648b5 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 18 Aug 2008 14:56:09 -0700 Subject: [PATCH] osdc: fix objecter, objectcacher lock interfaces --- src/osdc/ObjectCacher.cc | 19 ++++--------------- src/osdc/Objecter.cc | 3 ++- src/osdc/Objecter.h | 4 +++- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/osdc/ObjectCacher.cc b/src/osdc/ObjectCacher.cc index ea67750689122..f1a548f9ff16e 100644 --- a/src/osdc/ObjectCacher.cc +++ b/src/osdc/ObjectCacher.cc @@ -1143,9 +1143,7 @@ void ObjectCacher::rdlock(Object *o) commit->tid = ack->tid = - o->last_write_tid = 0; - #warning bleh - // objecter->lock(CEPH_OSD_OP_RDLOCK, o->get_oid(), 0, o->get_layout(), ack, commit); + o->last_write_tid = objecter->lock(CEPH_OSD_OP_RDLOCK, o->get_oid(), 0, o->get_layout(), ack, commit); } // stake our claim. @@ -1188,10 +1186,7 @@ void ObjectCacher::wrlock(Object *o) commit->tid = ack->tid = - o->last_write_tid = - 0; - #warning bleh - //objecter->lock(op, o->get_oid(), 0, o->get_layout(), ack, commit); + o->last_write_tid = objecter->lock(op, o->get_oid(), 0, o->get_layout(), ack, commit); } // stake our claim. @@ -1234,10 +1229,7 @@ void ObjectCacher::rdunlock(Object *o) C_WriteCommit *commit = new C_WriteCommit(this, o->get_oid(), 0, 0); commit->tid = lockack->tid = - o->last_write_tid = - 0; - #warning bleh - //objecter->lock(CEPH_OSD_OP_RDUNLOCK, o->get_oid(), 0, o->get_layout(), lockack, commit); + o->last_write_tid = objecter->lock(CEPH_OSD_OP_RDUNLOCK, o->get_oid(), 0, o->get_layout(), lockack, commit); } void ObjectCacher::wrunlock(Object *o) @@ -1269,10 +1261,7 @@ void ObjectCacher::wrunlock(Object *o) C_WriteCommit *commit = new C_WriteCommit(this, o->get_oid(), 0, 0); commit->tid = lockack->tid = - o->last_write_tid = - 0; - #warning bleh - //objecter->lock(op, o->get_oid(), 0, o->get_layout(), lockack, commit); + o->last_write_tid = objecter->lock(op, o->get_oid(), 0, o->get_layout(), lockack, commit); } diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index c16409c28846f..00566ef6b5703 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -748,9 +748,10 @@ tid_t Objecter::zero(object_t oid, __u64 off, size_t len, ceph_object_layout ol, // lock ops -tid_t Objecter::lock(int op, object_t oid, int flags, ceph_object_layout ol, const SnapContext& snapc, +tid_t Objecter::lock(int op, object_t oid, int flags, ceph_object_layout ol, Context *onack, Context *oncommit) { + SnapContext snapc; // null is fine OSDModify *l = prepare_modify(snapc, op, flags); l->extents.push_back(ObjectExtent(oid, 0, 0)); l->extents.front().layout = ol; diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index cf2c2a671eab7..c2af04499f65b 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -241,7 +241,9 @@ class Objecter { Context *onack, Context *oncommit); tid_t zero(object_t oid, __u64 off, size_t len, ceph_object_layout ol, const SnapContext& snapc, int flags, Context *onack, Context *oncommit); - tid_t lock(int op, object_t oid, int flags, ceph_object_layout ol, const SnapContext& snapc, Context *onack, Context *oncommit); + + // no snapc for lock ops + tid_t lock(int op, object_t oid, int flags, ceph_object_layout ol, Context *onack, Context *oncommit); void ms_handle_failure(Message *m, entity_name_t dest, const entity_inst_t& inst); -- 2.39.5