]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/ObjectCacher: take Object ref when there are buffers
authorSage Weil <sage@inktank.com>
Tue, 23 Oct 2012 12:55:50 +0000 (05:55 -0700)
committerSage Weil <sage@inktank.com>
Fri, 26 Oct 2012 18:31:44 +0000 (11:31 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osdc/ObjectCacher.h

index 76a82aba023712462605d59036acdd78bc546d5c..2de0171cc2b2bb616e1384523b538deefee41775 100644 (file)
@@ -251,12 +251,16 @@ class ObjectCacher {
     // bh
     // add to my map
     void add_bh(BufferHead *bh) {
+      if (data.empty())
+       get();
       assert(data.count(bh->start()) == 0);
       data[bh->start()] = bh;
     }
     void remove_bh(BufferHead *bh) {
       assert(data.count(bh->start()));
       data.erase(bh->start());
+      if (data.empty())
+       put();
     }
 
     bool is_empty() { return data.empty(); }