- wlen = kblock_writeBuf(b, buf, offset, len);
- b->priv.cache_dirty = true;
+ kblock_setDirty(b, true);
+ return kblock_writeBuf(b, buf, offset, size);
+ }
+ else
+ {
+ #ifdef _DEBUG
+ if (offset != 0 || size != b->blk_size)
+ ASSERT(kblock_partialWrite(b));
+ #endif
+ return kblock_writeDirect(b, idx, buf, offset, size);
+ }
+}
+
+int kblock_copy(struct KBlock *b, block_idx_t src, block_idx_t dest)
+{
+ ASSERT(b);
+ ASSERT(src < b->blk_cnt);
+ ASSERT(dest < b->blk_cnt);