From: xie xingguo Date: Mon, 5 Sep 2016 08:42:12 +0000 (+0800) Subject: os/bluestore: don't dirty onode if its size is already at desired offset X-Git-Tag: v11.0.1~296^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=420150d9dcc40733a2df851023a331ccfdcee3e3;p=ceph.git os/bluestore: don't dirty onode if its size is already at desired offset for truncate operation. Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index f09b22faeaba3..25f4885540ee0 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -7585,6 +7585,9 @@ int BlueStore::_do_truncate( << " 0x" << std::hex << offset << std::dec << dendl; _dump_onode(o, 30); + if (offset == o->onode.size) + return 0; + if (offset < o->onode.size) { // ensure any wal IO has completed before we truncate off any extents // they may touch.