diff mbox series

[v2,5/8] simplebench/bench_block_job: handle error in BLOCK_JOB_COMPLETED

Message ID 20210304101738.20248-6-vsementsov@virtuozzo.com
State New
Headers show
Series simplebench improvements | expand

Commit Message

Vladimir Sementsov-Ogievskiy March 4, 2021, 10:17 a.m. UTC
We should not report success if there is an error in final event.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 scripts/simplebench/bench_block_job.py | 4 ++++
 1 file changed, 4 insertions(+)

Comments

John Snow March 5, 2021, 1:47 a.m. UTC | #1
On 3/4/21 5:17 AM, Vladimir Sementsov-Ogievskiy wrote:
> We should not report success if there is an error in final event.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
>   scripts/simplebench/bench_block_job.py | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/scripts/simplebench/bench_block_job.py b/scripts/simplebench/bench_block_job.py
> index 8f8385ccce..71d2e489c8 100755
> --- a/scripts/simplebench/bench_block_job.py
> +++ b/scripts/simplebench/bench_block_job.py
> @@ -70,6 +70,10 @@ def bench_block_job(cmd, cmd_args, qemu_args):
>               vm.shutdown()
>               return {'error': 'block-job failed: ' + str(e),
>                       'vm-log': vm.get_log()}
> +        if 'error' in e['data']:
> +            vm.shutdown()
> +            return {'error': 'block-job failed: ' + e['data']['error'],
> +                    'vm-log': vm.get_log()}
>           end_ms = e['timestamp']['seconds'] * 1000000 + \
>               e['timestamp']['microseconds']
>       finally:
> 

"Yes, the block job completed -- but not how you wanted it to."

Reviewed-by: John Snow <jsnow@redhat.com>
diff mbox series

Patch

diff --git a/scripts/simplebench/bench_block_job.py b/scripts/simplebench/bench_block_job.py
index 8f8385ccce..71d2e489c8 100755
--- a/scripts/simplebench/bench_block_job.py
+++ b/scripts/simplebench/bench_block_job.py
@@ -70,6 +70,10 @@  def bench_block_job(cmd, cmd_args, qemu_args):
             vm.shutdown()
             return {'error': 'block-job failed: ' + str(e),
                     'vm-log': vm.get_log()}
+        if 'error' in e['data']:
+            vm.shutdown()
+            return {'error': 'block-job failed: ' + e['data']['error'],
+                    'vm-log': vm.get_log()}
         end_ms = e['timestamp']['seconds'] * 1000000 + \
             e['timestamp']['microseconds']
     finally: