[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 0/5] ide: avoid main-loop hang on CDROM/NFS failure
From: |
Peter Lieven |
Subject: |
[Qemu-block] [PATCH 0/5] ide: avoid main-loop hang on CDROM/NFS failure |
Date: |
Mon, 21 Sep 2015 14:25:23 +0200 |
This series aims at avoiding a hanging main-loop if a vserver has a
CDROM image mounted from a NFS share and that NFS share goes down.
Typical situation is that users mount an CDROM ISO to install something
and then forget to eject that CDROM afterwards.
As a consequence this mounted CD is able to bring down the
whole vserver if the backend NFS share is unreachable. This is bad
especially if the CDROM itself is not needed anymore at this point.
This series aims at fixing 3 blocking I/O operations that would
hang if the NFS server is unavailable:
- ATAPI PIO read requests used sync calls to blk_read, convert
them to an async variant.
- If a busmaster DMA request is cancelled all requests are drained.
Convert the drain to an async request canceling.
- query-block in the HMP or QMP hangs because it indirectly calls
bdrv_get_allocated_file_size.
Note that Patch 5 is only included for completeness.
Peter
Peter Lieven (5):
ide/atapi: make PIO read requests async
ide/atapi: blk_aio_readv may return NULL
ide: add support for cancelable read requests
ide/atapi: enable cancelable requests
block/nfs: cache allocated filesize for read-only files
block/nfs.c | 36 ++++++++++++++++++++++++++
hw/ide/atapi.c | 75 +++++++++++++++++++++++++++++++++++--------------------
hw/ide/core.c | 55 ++++++++++++++++++++++++++++++++++++++++
hw/ide/internal.h | 16 ++++++++++++
hw/ide/pci.c | 42 ++++++++++++++++++++-----------
5 files changed, 183 insertions(+), 41 deletions(-)
--
1.9.1
- [Qemu-block] [PATCH 0/5] ide: avoid main-loop hang on CDROM/NFS failure,
Peter Lieven <=
- [Qemu-block] [PATCH 2/5] ide/atapi: blk_aio_readv may return NULL, Peter Lieven, 2015/09/21
- [Qemu-block] [PATCH 1/5] ide/atapi: make PIO read requests async, Peter Lieven, 2015/09/21
- [Qemu-block] [PATCH 4/5] ide/atapi: enable cancelable requests, Peter Lieven, 2015/09/21
- [Qemu-block] [PATCH 3/5] ide: add support for cancelable read requests, Peter Lieven, 2015/09/21
- [Qemu-block] [PATCH 5/5] block/nfs: cache allocated filesize for read-only files, Peter Lieven, 2015/09/21
- Re: [Qemu-block] [Qemu-devel] [PATCH 0/5] ide: avoid main-loop hang on CDROM/NFS failure, John Snow, 2015/09/21