From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59769) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1atXXC-00058k-B8 for qemu-devel@nongnu.org; Fri, 22 Apr 2016 05:37:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1atXXB-0000Gs-Fy for qemu-devel@nongnu.org; Fri, 22 Apr 2016 05:37:58 -0400 Date: Fri, 22 Apr 2016 17:37:56 +0800 From: Fam Zheng Message-ID: <20160422093756.GB4437@ad.usersys.redhat.com> References: <1461306907-2837-1-git-send-email-famz@redhat.com> <1461306907-2837-3-git-send-email-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1461306907-2837-3-git-send-email-famz@redhat.com> Subject: Re: [Qemu-devel] [PATCH for-2.6 2/3] mirror: Skip BH for mirror_exit if in main loop List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , qemu-block@nongnu.org, Jeff Cody , Max Reitz , stefanha@redhat.com, pbonzini@redhat.com On Fri, 04/22 14:35, Fam Zheng wrote: > As a bandage, this patch undoes the change of 5a7e7a0bad17 in > non-dataplane case, and calls mirror_replace directly in mirror_run. mirror_exit minus mirror_replace was kept in the BH because it's not safe to call in coroutine. After discussing with kwolf on IRC, now it turns out that mirror_replace isn't either, due to the bdrv_drain_all in bdrv_reopen. So, NACK The only feasible fix for 2.6 is with the previous direction, but we need is_external check added to the main loop. Patches are being worked on. Fam