From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46749) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3MK8-0003ZK-Ps for qemu-devel@nongnu.org; Mon, 20 Aug 2012 03:22:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3MK7-0001hc-Sp for qemu-devel@nongnu.org; Mon, 20 Aug 2012 03:22:56 -0400 Received: from mail-ey0-f173.google.com ([209.85.215.173]:64949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3MK7-0001hU-Kr for qemu-devel@nongnu.org; Mon, 20 Aug 2012 03:22:55 -0400 Received: by eaac13 with SMTP id c13so1771336eaa.4 for ; Mon, 20 Aug 2012 00:22:54 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5031E5CC.7090306@redhat.com> Date: Mon, 20 Aug 2012 09:22:52 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1345326543-10677-1-git-send-email-pbonzini@redhat.com> <50309BEE.3090602@profihost.ag> <5030E5F2.7060903@redhat.com> <50313D03.8040101@profihost.ag> In-Reply-To: <50313D03.8040101@profihost.ag> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFT 0/3] iscsi: fix NULL dereferences / races between task completion and abort List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Priebe - Profihost AG Cc: qemu-devel@nongnu.org, ronniesahlberg@gmail.com Il 19/08/2012 21:22, Stefan Priebe - Profihost AG ha scritto: > >> No problem, my fault---I'm just back and I haven't really started again >> all my stuff, so the patch was not tested. >> >> This should fix it, though. > > Booting works fine now. But the VM starts to hang after trying to unmap > large regions. No segfault or so just not reacting anymore. This is expected; unfortunately cancellation right now is a synchronous operation in the block layer. SCSI is the first big user of cancellation, and it would indeed benefit from asynchronous cancellation. Without these three patches, you risk corruption in case the following happens: qemu target ----------------------------------- send unmap --------> cancel unmap ------> send write --------> <---------------- complete write <---------------- complete unmap <---------------- cancellation done (unmap complete) Paolo