All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alberto Faria <afaria@redhat.com>
To: qemu-devel@nongnu.org
Cc: "John Snow" <jsnow@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Ari Sundholm" <ari@tuxera.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Denis V. Lunev" <den@openvz.org>, "Fam Zheng" <fam@euphon.net>,
	"Jeff Cody" <codyprime@gmail.com>,
	qemu-block@nongnu.org,
	"Vladimir Sementsov-Ogievskiy" <v.sementsov-og@mail.ru>,
	"Hanna Reitz" <hreitz@redhat.com>, "Stefan Weil" <sw@weilnetz.de>,
	"Alberto Faria" <afaria@redhat.com>
Subject: [PATCH v5 08/10] block: Add bdrv_co_pwrite_sync()
Date: Thu,  9 Jun 2022 16:27:42 +0100	[thread overview]
Message-ID: <20220609152744.3891847-9-afaria@redhat.com> (raw)
In-Reply-To: <20220609152744.3891847-1-afaria@redhat.com>

Also convert bdrv_pwrite_sync() to being implemented using
generated_co_wrapper.

Signed-off-by: Alberto Faria <afaria@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/io.c               | 9 +++++----
 include/block/block-io.h | 8 ++++++--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/block/io.c b/block/io.c
index ecd1c2a53c..b2e35dbe23 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1109,18 +1109,19 @@ int bdrv_make_zero(BdrvChild *child, BdrvRequestFlags flags)
  *
  * Returns 0 on success, -errno in error cases.
  */
-int bdrv_pwrite_sync(BdrvChild *child, int64_t offset, int64_t bytes,
-                     const void *buf, BdrvRequestFlags flags)
+int coroutine_fn bdrv_co_pwrite_sync(BdrvChild *child, int64_t offset,
+                                     int64_t bytes, const void *buf,
+                                     BdrvRequestFlags flags)
 {
     int ret;
     IO_CODE();
 
-    ret = bdrv_pwrite(child, offset, bytes, buf, flags);
+    ret = bdrv_co_pwrite(child, offset, bytes, buf, flags);
     if (ret < 0) {
         return ret;
     }
 
-    ret = bdrv_flush(child->bs);
+    ret = bdrv_co_flush(child->bs);
     if (ret < 0) {
         return ret;
     }
diff --git a/include/block/block-io.h b/include/block/block-io.h
index c81739ad16..ae90d1e588 100644
--- a/include/block/block-io.h
+++ b/include/block/block-io.h
@@ -49,8 +49,12 @@ int generated_co_wrapper bdrv_pread(BdrvChild *child, int64_t offset,
 int generated_co_wrapper bdrv_pwrite(BdrvChild *child, int64_t offset,
                                      int64_t bytes, const void *buf,
                                      BdrvRequestFlags flags);
-int bdrv_pwrite_sync(BdrvChild *child, int64_t offset, int64_t bytes,
-                     const void *buf, BdrvRequestFlags flags);
+int generated_co_wrapper bdrv_pwrite_sync(BdrvChild *child, int64_t offset,
+                                          int64_t bytes, const void *buf,
+                                          BdrvRequestFlags flags);
+int coroutine_fn bdrv_co_pwrite_sync(BdrvChild *child, int64_t offset,
+                                     int64_t bytes, const void *buf,
+                                     BdrvRequestFlags flags);
 /*
  * Efficiently zero a region of the disk image.  Note that this is a regular
  * I/O request like read or write and should have a reasonable size.  This
-- 
2.35.3



  parent reply	other threads:[~2022-06-09 16:51 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-09 15:27 [PATCH v5 00/10] Implement bdrv_{pread, pwrite, pwrite_sync, pwrite_zeroes}() using generated_co_wrapper Alberto Faria
2022-06-09 15:27 ` [PATCH v5 01/10] block: Add a 'flags' param to bdrv_{pread, pwrite, pwrite_sync}() Alberto Faria
2022-07-04 11:48   ` [PATCH v5 01/10] block: Add a 'flags' param to bdrv_{pread,pwrite,pwrite_sync}() Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 02/10] block: Change bdrv_{pread, pwrite, pwrite_sync}() param order Alberto Faria
2022-07-04 11:48   ` Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 03/10] block: Make bdrv_{pread, pwrite}() return 0 on success Alberto Faria
2022-07-04 11:48   ` [PATCH v5 03/10] block: Make bdrv_{pread,pwrite}() " Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 04/10] crypto: Make block callbacks " Alberto Faria
2022-07-04 11:48   ` Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 05/10] block: Make bdrv_co_pwrite() take a const buffer Alberto Faria
2022-07-04 11:49   ` Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 06/10] block: Make 'bytes' param of bdrv_co_{pread, pwrite, preadv, pwritev}() an int64_t Alberto Faria
2022-06-23 21:26   ` [PATCH v5 06/10] block: Make 'bytes' param of bdrv_co_{pread,pwrite,preadv,pwritev}() " Eric Blake
2022-07-04 11:47   ` Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 07/10] block: Implement bdrv_{pread, pwrite, pwrite_zeroes}() using generated_co_wrapper Alberto Faria
2022-06-23 21:47   ` [PATCH v5 07/10] block: Implement bdrv_{pread,pwrite,pwrite_zeroes}() " Eric Blake
2022-07-03 22:27     ` [PATCH v5 07/10] block: Implement bdrv_{pread, pwrite, pwrite_zeroes}() " Alberto Faria
2022-07-04 12:06   ` [PATCH v5 07/10] block: Implement bdrv_{pread,pwrite,pwrite_zeroes}() " Hanna Reitz
2022-06-09 15:27 ` Alberto Faria [this message]
2022-07-04 12:14   ` [PATCH v5 08/10] block: Add bdrv_co_pwrite_sync() Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 09/10] block: Use bdrv_co_pwrite_sync() when caller is coroutine_fn Alberto Faria
2022-07-04 12:16   ` Hanna Reitz
2022-06-09 15:27 ` [PATCH v5 10/10] block/qcow2: Use bdrv_pwrite_sync() in qcow2_mark_dirty() Alberto Faria
2022-07-04 12:18   ` Hanna Reitz
2022-06-23 20:20 ` [PATCH v5 00/10] Implement bdrv_{pread, pwrite, pwrite_sync, pwrite_zeroes}() using generated_co_wrapper Alberto Faria
2022-07-02 14:11   ` Paolo Bonzini
2022-07-04 12:27 ` [PATCH v5 00/10] Implement bdrv_{pread,pwrite,pwrite_sync,pwrite_zeroes}() " Hanna Reitz

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=20220609152744.3891847-9-afaria@redhat.com \
    --to=afaria@redhat.com \
    --cc=ari@tuxera.com \
    --cc=berrange@redhat.com \
    --cc=codyprime@gmail.com \
    --cc=den@openvz.org \
    --cc=eblake@redhat.com \
    --cc=fam@euphon.net \
    --cc=hreitz@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=sw@weilnetz.de \
    --cc=v.sementsov-og@mail.ru \
    /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.