[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 0/7] block: Add retry for werror=/rerror= mechanism
From: |
Jiahui Cen |
Subject: |
Re: [PATCH v4 0/7] block: Add retry for werror=/rerror= mechanism |
Date: |
Mon, 21 Dec 2020 15:57:09 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
Kindly ping...
On 2020/12/15 20:30, Jiahui Cen wrote:
> A VM in the cloud environment may use a virutal disk as the backend storage,
> and there are usually filesystems on the virtual block device. When backend
> storage is temporarily down, any I/O issued to the virtual block device
> will cause an error. For example, an error occurred in ext4 filesystem would
> make the filesystem readonly. In production environment, a cloud backend
> storage can be soon recovered. For example, an IP-SAN may be down due to
> network failure and will be online soon after network is recovered. However,
> the error in the filesystem may not be recovered unless a device reattach
> or system restart. Thus an I/O retry mechanism is in need to implement a
> self-healing system.
>
> This patch series propose to extend the werror=/rerror= mechanism to add
> a 'retry' feature. It can automatically retry failed I/O requests on error
> without sending error back to guest, and guest can get back running smoothly
> when I/O is recovred.
>
> v3->v4:
> * Adapt to werror=/rerror= mechanism.
>
> v2->v3:
> * Add a doc to describe I/O hang.
>
> v1->v2:
> * Rebase to fix compile problems.
> * Fix incorrect remove of rehandle list.
> * Provide rehandle pause interface.
>
> REF: https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg06560.html
>
> Signed-off-by: Jiahui Cen <cenjiahui@huawei.com>
> Signed-off-by: Ying Fang <fangying1@huawei.com>
>
> Jiahui Cen (7):
> qapi/block-core: Add retry option for error action
> block-backend: Introduce retry timer
> block-backend: Add device specific retry callback
> block-backend: Enable retry action on errors
> block-backend: Add timeout support for retry
> block: Add error retry param setting
> virtio_blk: Add support for retry on errors
>
> block/block-backend.c | 66 ++++++++++++++++++++
> blockdev.c | 52 +++++++++++++++
> hw/block/block.c | 10 +++
> hw/block/virtio-blk.c | 19 +++++-
> include/hw/block/block.h | 7 ++-
> include/sysemu/block-backend.h | 10 +++
> qapi/block-core.json | 4 +-
> 7 files changed, 162 insertions(+), 6 deletions(-)
>
- [PATCH v4 0/7] block: Add retry for werror=/rerror= mechanism, Jiahui Cen, 2020/12/15
- [PATCH v4 1/7] qapi/block-core: Add retry option for error action, Jiahui Cen, 2020/12/15
- [PATCH v4 7/7] virtio_blk: Add support for retry on errors, Jiahui Cen, 2020/12/15
- [PATCH v4 3/7] block-backend: Add device specific retry callback, Jiahui Cen, 2020/12/15
- [PATCH v4 5/7] block-backend: Add timeout support for retry, Jiahui Cen, 2020/12/15
- [PATCH v4 6/7] block: Add error retry param setting, Jiahui Cen, 2020/12/15
- [PATCH v4 4/7] block-backend: Enable retry action on errors, Jiahui Cen, 2020/12/15
- [PATCH v4 2/7] block-backend: Introduce retry timer, Jiahui Cen, 2020/12/15
- Re: [PATCH v4 0/7] block: Add retry for werror=/rerror= mechanism,
Jiahui Cen <=