> Am 21.09.2015 um 22:58 schrieb John Snow <js...@redhat.com>: > > > >> On 09/21/2015 08:25 AM, Peter Lieven wrote: >> 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(-) > > I assume this supersedes both: > > [Qemu-devel] [PATCH 0/2] ide/atapi: partially avoid deadlock if the > storage backend is dead > > and > > [Qemu-devel] [PATCH] ide/atapi: make PIO read requests async > > right?
yes, the first patch was wrong as Stefan pointed out and the second is the same version as previously on the list. Peter > > --js