From: Sage Weil Date: Tue, 23 Oct 2012 12:55:50 +0000 (-0700) Subject: osdc/ObjectCacher: take Object ref when there are buffers X-Git-Tag: v0.55~130^2~55^2^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=57e18a74fea44a6b34f1b98c4ae373a7b46133d9;p=ceph.git osdc/ObjectCacher: take Object ref when there are buffers Signed-off-by: Sage Weil --- diff --git a/src/osdc/ObjectCacher.h b/src/osdc/ObjectCacher.h index 76a82aba0237..2de0171cc2b2 100644 --- a/src/osdc/ObjectCacher.h +++ b/src/osdc/ObjectCacher.h @@ -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(); }