From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33829) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dBfDQ-00013P-1z for qemu-devel@nongnu.org; Fri, 19 May 2017 06:33:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dBfDP-00080C-AX for qemu-devel@nongnu.org; Fri, 19 May 2017 06:33:00 -0400 From: Stefan Hajnoczi Date: Fri, 19 May 2017 11:32:43 +0100 Message-Id: <20170519103247.4405-1-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH v2 0/4] block: fix 'savevm' hang with -object iothread List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, Paolo Bonzini , Kevin Wolf , Fam Zheng , Stefan Hajnoczi v2: * New patch to use bdrv_drain_all_begin/end() in savevm/loadvm [Kevin] (All other patches unchanged) The 'savevm' command hangs when -object iothread is used. See patches for details, but basically the vmstate read/write code didn't conform to the latest block layer locking rules. Stefan Hajnoczi (4): block: count bdrv_co_rw_vmstate() requests block: use BDRV_POLL_WHILE() in bdrv_rw_vmstate() migration: avoid recursive AioContext locking in save_vmstate() migration: use bdrv_drain_all_begin/end() instead bdrv_drain_all() block/io.c | 21 +++++++++++++-------- migration/savevm.c | 21 +++++++++++++++++++-- 2 files changed, 32 insertions(+), 10 deletions(-) -- 2.9.3