]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: _do_truncate: no need to zero trailing block on truncate down
authorSage Weil <sage@redhat.com>
Mon, 28 Mar 2016 19:36:05 +0000 (15:36 -0400)
committerSage Weil <sage@redhat.com>
Wed, 30 Mar 2016 15:23:15 +0000 (11:23 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index f2ac814f2feb94ae1a2c628b082ed9e778c04854..94106e72019a314602a5866f169fbc591c4d9a47 100644 (file)
@@ -5950,26 +5950,6 @@ int BlueStore::_do_truncate(
                 << " " << op->extent << dendl;
       }
     }
-  } else if (offset < old_size &&
-            offset % block_size != 0) {
-    // zero trailing block?
-    map<uint64_t,bluestore_extent_t>::iterator bp = o->onode.find_extent(offset);
-    if (bp != o->onode.block_map.end()) {
-      uint64_t z_len = block_size - offset % block_size;
-      if (bp->second.has_flag(bluestore_extent_t::FLAG_SHARED)) {
-        int r = _do_write_zero(txc, c, o, offset, z_len);
-        if (r < 0)
-          return r;
-       o->onode.size = offset; // we just wrote past eof; reset size
-      } else {
-       bluestore_wal_op_t *op = _get_wal_op(txc, o);
-       op->op = bluestore_wal_op_t::OP_ZERO;
-       op->extent.offset = bp->second.offset + offset - bp->first;
-       op->extent.length = block_size - offset % block_size;
-       dout(20) << __func__ << " wal zero tail " << offset << "~" << z_len
-                << " at " << op->extent << dendl;
-      }
-    }
   }
 
   // trim down overlays