qemu/qapi-block-core-Add-retry-option-for-error-action.patch
imxcc 6b0777d910 sync from openeuler/pulls/221 and 222
Signed-off-by: imxcc <xingchaochao@huawei.com>
2022-03-19 14:42:31 +08:00

54 lines
1.6 KiB
Diff

From 4c3d47e04886e072acc0e4fefdc49e9d1f6b4ad1 Mon Sep 17 00:00:00 2001
From: Jiahui Cen <cenjiahui@huawei.com>
Date: Thu, 21 Jan 2021 15:46:45 +0800
Subject: [PATCH 1/7] qapi/block-core: Add retry option for error action
Add a new error action 'retry' to support retry on errors.
Signed-off-by: Jiahui Cen <cenjiahui(a)huawei.com>
Signed-off-by: Ying Fang <fangying1(a)huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
---
blockdev.c | 2 ++
qapi/block-core.json | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index b35072644e..6f1981635b 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -333,6 +333,8 @@ static int parse_block_error_action(const char *buf, bool is_read, Error **errp)
return BLOCKDEV_ON_ERROR_STOP;
} else if (!strcmp(buf, "report")) {
return BLOCKDEV_ON_ERROR_REPORT;
+ } else if (!strcmp(buf, "retry")) {
+ return BLOCKDEV_ON_ERROR_RETRY;
} else {
error_setg(errp, "'%s' invalid %s error action",
buf, is_read ? "read" : "write");
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 1d3dd9cb48..804beabfb0 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -1146,7 +1146,7 @@
# Since: 1.3
##
{ 'enum': 'BlockdevOnError',
- 'data': ['report', 'ignore', 'enospc', 'stop', 'auto'] }
+ 'data': ['report', 'ignore', 'enospc', 'stop', 'auto', 'retry'] }
##
# @MirrorSyncMode:
@@ -4952,7 +4952,7 @@
# Since: 2.1
##
{ 'enum': 'BlockErrorAction',
- 'data': [ 'ignore', 'report', 'stop' ] }
+ 'data': [ 'ignore', 'report', 'stop', 'retry' ] }
##
--
2.27.0