diff mbox series

[07/14] block: use bdrv_co_refresh_total_sectors when possible

Message ID 20221213085320.95673-8-kwolf@redhat.com
State New
Headers show
Series block: Move more functions to coroutines | expand

Commit Message

Kevin Wolf Dec. 13, 2022, 8:53 a.m. UTC
From: Emanuele Giuseppe Esposito <eesposit@redhat.com>

In some places we are sure we are always running in a
coroutine, therefore it's useless to call the generated_co_wrapper,
instead call directly the _co_ function.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/block-backend.c | 6 +++---
 block/copy-on-read.c  | 2 +-
 block/io.c            | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

Comments

Vladimir Sementsov-Ogievskiy Dec. 16, 2022, 5:26 p.m. UTC | #1
On 12/13/22 11:53, Kevin Wolf wrote:
> From: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> 
> In some places we are sure we are always running in a
> coroutine, therefore it's useless to call the generated_co_wrapper,
> instead call directly the _co_ function.
> 
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>   block/block-backend.c | 6 +++---
>   block/copy-on-read.c  | 2 +-
>   block/io.c            | 4 ++--
>   3 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/block/block-backend.c b/block/block-backend.c
> index 5b8da86772..5f6b269a79 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -1235,8 +1235,8 @@ void blk_set_disable_request_queuing(BlockBackend *blk, bool disable)
>       blk->disable_request_queuing = disable;
>   }
>   
> -static int blk_check_byte_request(BlockBackend *blk, int64_t offset,
> -                                  int64_t bytes)
> +static coroutine_fn int blk_check_byte_request(BlockBackend *blk,
> +                                               int64_t offset, int64_t bytes)
>   {
>       int64_t len;
>   
> @@ -1253,7 +1253,7 @@ static int blk_check_byte_request(BlockBackend *blk, int64_t offset,
>       }
>   
>       if (!blk->allow_write_beyond_eof) {
> -        len = bdrv_getlength(blk_bs(blk));
> +        len = bdrv_co_getlength(blk_bs(blk));
>           if (len < 0) {
>               return len;
>           }
> diff --git a/block/copy-on-read.c b/block/copy-on-read.c
> index 815ac1d835..74f7727a02 100644
> --- a/block/copy-on-read.c
> +++ b/block/copy-on-read.c
> @@ -122,7 +122,7 @@ static void cor_child_perm(BlockDriverState *bs, BdrvChild *c,
>   
>   static int64_t cor_getlength(BlockDriverState *bs)

obviously missed coroutine_fn, in 05

>   {
> -    return bdrv_getlength(bs->file->bs);
> +    return bdrv_co_getlength(bs->file->bs);
>   }
>   
>   
> diff --git a/block/io.c b/block/io.c
> index 3940026dc1..aef0929202 100644
> --- a/block/io.c
> +++ b/block/io.c
> @@ -3434,7 +3434,7 @@ int coroutine_fn bdrv_co_truncate(BdrvChild *child, int64_t offset, bool exact,
>       if (new_bytes && backing) {
>           int64_t backing_len;
>   
> -        backing_len = bdrv_getlength(backing->bs);
> +        backing_len = bdrv_co_getlength(backing->bs);
>           if (backing_len < 0) {
>               ret = backing_len;
>               error_setg_errno(errp, -ret, "Could not get backing file size");
> @@ -3464,7 +3464,7 @@ int coroutine_fn bdrv_co_truncate(BdrvChild *child, int64_t offset, bool exact,
>           goto out;
>       }
>   
> -    ret = bdrv_refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS);
> +    ret = bdrv_co_refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS);
>       if (ret < 0) {
>           error_setg_errno(errp, -ret, "Could not refresh total sector count");
>       } else {
diff mbox series

Patch

diff --git a/block/block-backend.c b/block/block-backend.c
index 5b8da86772..5f6b269a79 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -1235,8 +1235,8 @@  void blk_set_disable_request_queuing(BlockBackend *blk, bool disable)
     blk->disable_request_queuing = disable;
 }
 
-static int blk_check_byte_request(BlockBackend *blk, int64_t offset,
-                                  int64_t bytes)
+static coroutine_fn int blk_check_byte_request(BlockBackend *blk,
+                                               int64_t offset, int64_t bytes)
 {
     int64_t len;
 
@@ -1253,7 +1253,7 @@  static int blk_check_byte_request(BlockBackend *blk, int64_t offset,
     }
 
     if (!blk->allow_write_beyond_eof) {
-        len = bdrv_getlength(blk_bs(blk));
+        len = bdrv_co_getlength(blk_bs(blk));
         if (len < 0) {
             return len;
         }
diff --git a/block/copy-on-read.c b/block/copy-on-read.c
index 815ac1d835..74f7727a02 100644
--- a/block/copy-on-read.c
+++ b/block/copy-on-read.c
@@ -122,7 +122,7 @@  static void cor_child_perm(BlockDriverState *bs, BdrvChild *c,
 
 static int64_t cor_getlength(BlockDriverState *bs)
 {
-    return bdrv_getlength(bs->file->bs);
+    return bdrv_co_getlength(bs->file->bs);
 }
 
 
diff --git a/block/io.c b/block/io.c
index 3940026dc1..aef0929202 100644
--- a/block/io.c
+++ b/block/io.c
@@ -3434,7 +3434,7 @@  int coroutine_fn bdrv_co_truncate(BdrvChild *child, int64_t offset, bool exact,
     if (new_bytes && backing) {
         int64_t backing_len;
 
-        backing_len = bdrv_getlength(backing->bs);
+        backing_len = bdrv_co_getlength(backing->bs);
         if (backing_len < 0) {
             ret = backing_len;
             error_setg_errno(errp, -ret, "Could not get backing file size");
@@ -3464,7 +3464,7 @@  int coroutine_fn bdrv_co_truncate(BdrvChild *child, int64_t offset, bool exact,
         goto out;
     }
 
-    ret = bdrv_refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS);
+    ret = bdrv_co_refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS);
     if (ret < 0) {
         error_setg_errno(errp, -ret, "Could not refresh total sector count");
     } else {