From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52477) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1atYkr-00068Q-Mt for qemu-devel@nongnu.org; Fri, 22 Apr 2016 06:56:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1atYkq-0005up-Pn for qemu-devel@nongnu.org; Fri, 22 Apr 2016 06:56:09 -0400 From: Fam Zheng Date: Fri, 22 Apr 2016 18:55:59 +0800 Message-Id: <1461322564-17440-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v2 for-2.6 0/5] block: Fix assertion failure at mirror exit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi , Jeff Cody , Kevin Wolf , Max Reitz , "Michael S. Tsirkin" , Paolo Bonzini , qemu-block@nongnu.org v2: Go along the is_external appraoch. [Kevin] I tested this series survives the "snapshot + commit" loop reproducer with both bonnie++ and RHEL installation in the guest. This supersedes the "virtio: Register host notifier handler as external" patch from yesterday. The bug was initially reported by Matthew Schumacher as LaunchPad Bug 1570134, and nicely bisected by Max Reitz. See patch 2 for the analysis. Fam Zheng (5): iohandler: Introduce iohandler_get_aio_context event-notifier: Add "is_external" parameter virtio: Mark host notifiers as external aio-posix: Skip external nodes in aio_dispatch mirror: Workaround for unexpected iohandler events during completion aio-posix.c | 2 ++ block/mirror.c | 9 +++++++++ hw/usb/ccid-card-emulated.c | 2 +- hw/virtio/virtio.c | 8 ++++---- include/qemu/event_notifier.h | 4 +++- include/qemu/main-loop.h | 1 + iohandler.c | 6 ++++++ stubs/Makefile.objs | 1 + stubs/iohandler.c | 8 ++++++++ stubs/set-fd-handler.c | 10 ++++++++++ target-i386/hyperv.c | 6 +++--- util/event_notifier-posix.c | 4 +++- util/event_notifier-win32.c | 1 + 13 files changed, 52 insertions(+), 10 deletions(-) create mode 100644 stubs/iohandler.c -- 2.8.0