From: Jianpeng Ma Date: Thu, 24 Mar 2016 12:07:15 +0000 (+0800) Subject: os/bluestore/BlueStore: For _zero, check whether clear tail_bl. X-Git-Tag: v11.0.0~648^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=df84f6394b8b40988450fc8ffc4b7890a2d691b2;p=ceph.git os/bluestore/BlueStore: For _zero, check whether clear tail_bl. Signed-off-by: Jianpeng Ma --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 52f9055083c..ce1dca18383 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5741,6 +5741,11 @@ int BlueStore::_zero(TransContext *txc, ++bp; } + if (o->tail_bl.length() && offset + length > o->tail_offset) { + dout(20) << __func__ << " clearing cached tail" << dendl; + o->clear_tail(); + } + if (offset + length > o->onode.size) { o->onode.size = offset + length; dout(20) << __func__ << " extending size to " << offset + length