From: Sage Weil Date: Thu, 3 Mar 2016 15:13:51 +0000 (-0500) Subject: os/bluestore/BlueStore: do not cow_rmw_tail at or past eof X-Git-Tag: v10.1.0~113^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a2ecb1a88f721b3089901de76963f856dcbc0c9b;p=ceph.git os/bluestore/BlueStore: do not cow_rmw_tail at or past eof Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index afca750451b1..078de2998b49 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5174,7 +5174,8 @@ int BlueStore::_do_allocate( } else { dout(20) << " tail shared, but no COW needed" << dendl; } - if (cow_offset_raw & ~block_mask) { + if (cow_offset_raw < o->onode.size && + (cow_offset_raw & ~block_mask)) { *cow_rmw_tail = bp->second.offset + cow_offset_raw - bp->first; dout(20) << " cow_rmw_tail " << *cow_rmw_tail << " from " << bp->second << dendl;