]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: fix objecter, objectcacher lock interfaces
authorSage Weil <sage@newdream.net>
Mon, 18 Aug 2008 21:56:09 +0000 (14:56 -0700)
committerSage Weil <sage@newdream.net>
Mon, 18 Aug 2008 21:56:09 +0000 (14:56 -0700)
src/osdc/ObjectCacher.cc
src/osdc/Objecter.cc
src/osdc/Objecter.h

index ea67750689122072119919955cca502404c4af1a..f1a548f9ff16e180da83d9f9f82012b2a0e85fe6 100644 (file)
@@ -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);
 }
 
 
index c16409c28846f7af9b7dca8339249f9a1914371e..00566ef6b5703c1ba26b0e2d7cd6ade8ce686428 100644 (file)
@@ -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;
index cf2c2a671eab76f0354fa30c2f21f73ef908cd9b..c2af04499f65b25a0a4c884943a0de05fdc2662c 100644 (file)
@@ -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);