]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
*** empty log message ***
authorsage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 29 Dec 2005 03:03:43 +0000 (03:03 +0000)
committersage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Thu, 29 Dec 2005 03:03:43 +0000 (03:03 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@549 29311d96-e01e-0410-9327-a35deaab8ce9

ceph/ebofs/Ebofs.cc

index 4365ae05db76f7d92b8d95dec39beb93ce8b753f..9d2be3d36a892901f5cd8939895cb6507f8b8c1e 100644 (file)
@@ -1271,9 +1271,11 @@ void Ebofs::apply_write(Onode *on, size_t len, off_t off, bufferlist& bl)
                  opos += z;
                }
 
-               bufferlist p;
-               p.substr_of(bl, blpos, len_in_bh-z);
-               bh->add_partial(opos, p);
+               bufferlist sb;
+               sb.substr_of(bl, blpos, len_in_bh-z);  // substr in existing buffer
+               bufferlist cp;
+               cp.append(sb.c_str(), len_in_bh-z);    // copy the partial bit!
+               bh->add_partial(opos, cp);
                left -= len_in_bh-z;
                blpos += len_in_bh-z;
                opos += len_in_bh-z;