]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
little changed...still in weird state :)
authoranwleung <anwleung@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 1 Mar 2007 03:04:35 +0000 (03:04 +0000)
committeranwleung <anwleung@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 1 Mar 2007 03:04:35 +0000 (03:04 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1142 29311d96-e01e-0410-9327-a35deaab8ce9

branches/aleung/security1/ceph/osdc/ObjectCacher.h

index f97294c7df529bf136aa51c38695bff5acbb6622..aa45b1ac206aa92e09d01ba8a5152f2c411a915d 100644 (file)
@@ -502,6 +502,8 @@ class ObjectCacher {
                  off_t offset, size_t len, 
                  bufferlist& bl, ExtCap *write_ext_cap,
                                 objectrev_t rev=0) {
+    // insert write_cap into write object
+    // will be inserted into bufferhead later
     Objecter::OSDWrite *wr;
     if (!write_ext_cap)
       wr = new Objecter::OSDWrite(bl);
@@ -533,7 +535,11 @@ class ObjectCacher {
                              bufferlist& bl,
                              Mutex &lock, ExtCap *write_ext_cap=0,
                                                         objectrev_t rev=0) {
-    Objecter::OSDWrite *wr = new Objecter::OSDWrite(bl);
+    // we really should always have a cap
+    if (write_ext_cap != 0)
+      Objecter::OSDWrite *wr = new Objecter::OSDWrite(bl, write_exp_cap);
+    else
+      Objecter::OSDWrite *wr = new Objecter::OSDWrite(bl);
     filer.file_to_extents(inode, offset, len, wr->extents);
     return atomic_sync_writex(wr, inode.ino, lock);
   }