All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Denis V. Lunev" <den@openvz.org>
To: qemu-block@nongnu.org, qemu-devel@nongnu.org
Cc: den@openvz.org, Pavel Butsykin <pbutsykin@virtuozzo.com>,
	Jeff Cody <jcody@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Eric Blake <eblake@redhat.com>, John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>
Subject: [Qemu-devel] [PATCH v7 09/16] block: remove BlockDriver.bdrv_write_compressed
Date: Fri, 22 Jul 2016 11:17:48 +0300	[thread overview]
Message-ID: <1469175475-15420-10-git-send-email-den@openvz.org> (raw)
In-Reply-To: <1469175475-15420-1-git-send-email-den@openvz.org>

From: Pavel Butsykin <pbutsykin@virtuozzo.com>

There are no block drivers left that implement the old
.bdrv_write_compressed interface, so it can be removed. Also now we have
no need to use the bdrv_pwrite_compressed function and we can remove it
entirely.

Signed-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Jeff Cody <jcody@redhat.com>
CC: Markus Armbruster <armbru@redhat.com>
CC: Eric Blake <eblake@redhat.com>
CC: John Snow <jsnow@redhat.com>
CC: Stefan Hajnoczi <stefanha@redhat.com>
CC: Kevin Wolf <kwolf@redhat.com>
---
 block/block-backend.c     |  8 ++------
 block/io.c                | 31 -------------------------------
 include/block/block.h     |  2 --
 include/block/block_int.h |  3 ---
 qemu-img.c                |  2 +-
 5 files changed, 3 insertions(+), 43 deletions(-)

diff --git a/block/block-backend.c b/block/block-backend.c
index 4bfc2eb..53f7971 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -1472,12 +1472,8 @@ int coroutine_fn blk_co_pwrite_zeroes(BlockBackend *blk, int64_t offset,
 int blk_pwrite_compressed(BlockBackend *blk, int64_t offset, const void *buf,
                           int count)
 {
-    int ret = blk_check_byte_request(blk, offset, count);
-    if (ret < 0) {
-        return ret;
-    }
-
-    return bdrv_pwrite_compressed(blk->root, offset, buf, count);
+    return blk_prw(blk, offset, (void *) buf, count, blk_write_entry,
+                   BDRV_REQ_WRITE_COMPRESSED);
 }
 
 int blk_truncate(BlockBackend *blk, int64_t offset)
diff --git a/block/io.c b/block/io.c
index 7fad5b7..60922ed 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1886,37 +1886,6 @@ int bdrv_is_allocated_above(BlockDriverState *top,
     return 0;
 }
 
-int bdrv_pwrite_compressed(BdrvChild *child, int64_t offset,
-                           const void *buf, int bytes)
-{
-    BlockDriverState *bs = child->bs;
-    BlockDriver *drv = bs->drv;
-    QEMUIOVector qiov;
-    struct iovec iov;
-
-    if (!drv) {
-        return -ENOMEDIUM;
-    }
-    if (drv->bdrv_write_compressed) {
-        int ret = bdrv_check_byte_request(bs, offset, bytes);
-        if (ret < 0) {
-            return ret;
-        }
-        assert(QLIST_EMPTY(&bs->dirty_bitmaps));
-        assert((offset & (BDRV_SECTOR_SIZE - 1)) == 0);
-        assert((bytes & (BDRV_SECTOR_SIZE - 1)) == 0);
-        return drv->bdrv_write_compressed(bs, offset >> BDRV_SECTOR_BITS, buf,
-                                          bytes >> BDRV_SECTOR_BITS);
-    }
-    iov = (struct iovec) {
-        .iov_base = (void *)buf,
-        .iov_len = bytes,
-    };
-    qemu_iovec_init_external(&qiov, &iov, 1);
-
-    return bdrv_prwv_co(child, offset, &qiov, true, BDRV_REQ_WRITE_COMPRESSED);
-}
-
 typedef struct BdrvVmstateCo {
     BlockDriverState    *bs;
     QEMUIOVector        *qiov;
diff --git a/include/block/block.h b/include/block/block.h
index d8dacd2..7edce5c 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -400,8 +400,6 @@ const char *bdrv_get_node_name(const BlockDriverState *bs);
 const char *bdrv_get_device_name(const BlockDriverState *bs);
 const char *bdrv_get_device_or_node_name(const BlockDriverState *bs);
 int bdrv_get_flags(BlockDriverState *bs);
-int bdrv_pwrite_compressed(BdrvChild *child, int64_t offset,
-                           const void *buf, int bytes);
 int bdrv_get_info(BlockDriverState *bs, BlockDriverInfo *bdi);
 ImageInfoSpecific *bdrv_get_specific_info(BlockDriverState *bs);
 void bdrv_round_sectors_to_clusters(BlockDriverState *bs,
diff --git a/include/block/block_int.h b/include/block/block_int.h
index d2673a1..378c966 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -204,9 +204,6 @@ struct BlockDriver {
     bool has_variable_length;
     int64_t (*bdrv_get_allocated_file_size)(BlockDriverState *bs);
 
-    int (*bdrv_write_compressed)(BlockDriverState *bs, int64_t sector_num,
-                                 const uint8_t *buf, int nb_sectors);
-
     int coroutine_fn (*bdrv_co_pwritev_compressed)(BlockDriverState *bs,
         uint64_t offset, uint64_t bytes, QEMUIOVector *qiov);
 
diff --git a/qemu-img.c b/qemu-img.c
index d5676a5..014c408 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -2034,7 +2034,7 @@ static int img_convert(int argc, char **argv)
         const char *preallocation =
             qemu_opt_get(opts, BLOCK_OPT_PREALLOC);
 
-        if (!drv->bdrv_write_compressed && !drv->bdrv_co_pwritev_compressed) {
+        if (!drv->bdrv_co_pwritev_compressed) {
             error_report("Compression not supported for this file format");
             ret = -1;
             goto out;
-- 
2.1.4

  parent reply	other threads:[~2016-07-22  8:18 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-22  8:17 [Qemu-devel] [PATCH v7 00/16] backup compression Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 01/16] block: switch blk_write_compressed() to byte-based interface Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 02/16] block: Convert bdrv_pwrite_compressed() to BdrvChild Denis V. Lunev
2016-08-04  9:35   ` Stefan Hajnoczi
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 03/16] block/io: reuse bdrv_co_pwritev() for write compressed Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 04/16] qcow2: add qcow2_co_pwritev_compressed Denis V. Lunev
2016-08-08 13:44   ` Kevin Wolf
2016-08-15  8:53     ` Pavel Butsykin
2016-08-15  9:39     ` [Qemu-devel] [PATCH] qcow2: fix iovec size at qcow2_co_pwritev_compressed Pavel Butsykin
2016-08-15 10:11       ` Kevin Wolf
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 05/16] qcow2: cleanup qcow2_co_pwritev_compressed to avoid the recursion Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 06/16] vmdk: add vmdk_co_pwritev_compressed Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 07/16] qcow: add qcow_co_pwritev_compressed Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 08/16] qcow: cleanup qcow_co_pwritev_compressed to avoid the recursion Denis V. Lunev
2016-07-22  8:17 ` Denis V. Lunev [this message]
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 10/16] block/io: turn on dirty_bitmaps for the compressed writes Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 11/16] block: simplify drive-backup Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 12/16] block: simplify blockdev-backup Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 13/16] drive-backup: added support for data compression Denis V. Lunev
2016-08-08 14:07   ` Kevin Wolf
2016-08-08 14:10     ` Kevin Wolf
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 14/16] blockdev-backup: " Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 15/16] qemu-iotests: test backup compression in 055 Denis V. Lunev
2016-07-22  8:17 ` [Qemu-devel] [PATCH v7 16/16] qemu-iotests: add vmdk for " Denis V. Lunev
2016-08-04  9:40 ` [Qemu-devel] [PATCH v7 00/16] backup compression Stefan Hajnoczi
2016-08-08 13:02 ` Stefan Hajnoczi
2016-08-08 13:06   ` Denis V. Lunev
2016-08-08 13:16   ` Kevin Wolf
2016-08-08 14:21 ` Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1469175475-15420-10-git-send-email-den@openvz.org \
    --to=den@openvz.org \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=jcody@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pbutsykin@virtuozzo.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.