From patchwork Wed Oct 16 16:28:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Shinkevich X-Patchwork-Id: 11193769 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2FC4B112B for ; Wed, 16 Oct 2019 16:31:12 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0FCDA21928 for ; Wed, 16 Oct 2019 16:31:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0FCDA21928 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:45394 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKmCc-0004Y0-8Y for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Oct 2019 12:31:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34155) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iKmAj-0002Y9-A2 for qemu-devel@nongnu.org; Wed, 16 Oct 2019 12:29:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iKmAe-00083c-8S for qemu-devel@nongnu.org; Wed, 16 Oct 2019 12:29:11 -0400 Received: from relay.sw.ru ([185.231.240.75]:51300) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iKmAe-00081O-1W; Wed, 16 Oct 2019 12:29:08 -0400 Received: from [172.16.25.136] (helo=dhcp-172-16-25-136.sw.ru) by relay.sw.ru with esmtp (Exim 4.92.2) (envelope-from ) id 1iKmAY-0002B1-V5; Wed, 16 Oct 2019 19:29:03 +0300 From: Andrey Shinkevich To: qemu-devel@nongnu.org, qemu-block@nongnu.org Subject: [PATCH v4 0/4] qcow2: advanced compression options Date: Wed, 16 Oct 2019 19:28:49 +0300 Message-Id: <1571243333-882302-1-git-send-email-andrey.shinkevich@virtuozzo.com> X-Mailer: git-send-email 1.8.3.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 185.231.240.75 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, fam@euphon.net, vsementsov@virtuozzo.com, armbru@redhat.com, mreitz@redhat.com, stefanha@redhat.com, andrey.shinkevich@virtuozzo.com, den@openvz.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" New enhancements for writing compressed data to QCOW2 image. v4: The 'compression' support at the block generic layer has been accumulated in the separate patch 1/4. A little code refactoring was made. v3: Instead of introducing multiple key options for many drivers, the 'compression' option has been introduced at the block generic layer as suggested by Roman Kagan. Discussed on the email thread with ID <1570026166-748566-1-git-send-email-andrey.shinkevich@virtuozzo.com> Andrey Shinkevich (4): block: support compressed write at generic layer qcow2: Allow writing compressed data of multiple clusters tests/qemu-iotests: add case to write compressed data of multiple clusters tests/qemu-iotests: add case for block-stream compress block.c | 20 ++++++++- block/io.c | 14 ++++-- block/qcow2.c | 106 +++++++++++++++++++++++++++++++++------------ blockdev.c | 9 +++- include/block/block.h | 1 + include/block/block_int.h | 2 + qapi/block-core.json | 6 ++- qemu-options.hx | 6 ++- tests/qemu-iotests/030 | 51 +++++++++++++++++++++- tests/qemu-iotests/030.out | 4 +- tests/qemu-iotests/214 | 35 +++++++++++++++ tests/qemu-iotests/214.out | 15 +++++++ 12 files changed, 230 insertions(+), 39 deletions(-)