// move the pending address into the freelist private void handleRegionSafeToFree(long start_addr, FreespaceExtent extent, LayerWriteGroup wg) { System.Console.WriteLine("*\n*\n*\n* handleRegionSafeToFree {0} \n*\n*\n*", start_addr); // (1) remove pending entry wg.setValue(pendingKeyForAddr(start_addr), RecordUpdate.DeletionTombstone()); // (2) write real freelist entry (TODO: merge with neighboring entries) { RecordKey key = new RecordKey().appendParsedKey(".ROOT/FREELIST/EXTENTS"); key.appendKeyPart(new RecordKeyType_Long(extent.end_addr)); wg.setValue(key, RecordUpdate.WithPayload(extent.pack())); } wg.finish(); }