From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44814) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSpIS-0003En-6i for qemu-devel@nongnu.org; Mon, 08 Feb 2016 12:08:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aSpIM-0008DW-W8 for qemu-devel@nongnu.org; Mon, 08 Feb 2016 12:08:20 -0500 References: <1453225191-11871-1-git-send-email-jsnow@redhat.com> <1453225191-11871-6-git-send-email-jsnow@redhat.com> <20160208160932.GE31586@stefanha-x1.localdomain> From: John Snow Message-ID: <56B8CB78.6020007@redhat.com> Date: Mon, 8 Feb 2016 12:08:08 -0500 MIME-Version: 1.0 In-Reply-To: <20160208160932.GE31586@stefanha-x1.localdomain> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-block] [PATCH v2 5/6] ide: Add silent DRQ cancellation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: kwolf@redhat.com, pbonzini@redhat.com, qemu-block@nongnu.org, qemu-devel@nongnu.org, stefanha@redhat.com On 02/08/2016 11:09 AM, Stefan Hajnoczi wrote: > On Tue, Jan 19, 2016 at 12:39:50PM -0500, John Snow wrote: >> Split apart the ide_transfer_stop function into two versions: one that >> interrupts and one that doesn't. The one that doesn't can be used to >> halt any PIO transfers that are in the DRQ phase. It will not halt >> any PIO transfers that are currently in the process of buffering data >> for the guest to read. >> >> Signed-off-by: John Snow >> --- >> hw/ide/core.c | 19 ++++++++++++++++--- >> 1 file changed, 16 insertions(+), 3 deletions(-) >> >> diff --git a/hw/ide/core.c b/hw/ide/core.c >> index cf0b5ec..9bc8e58 100644 >> --- a/hw/ide/core.c >> +++ b/hw/ide/core.c >> @@ -486,13 +486,26 @@ static void ide_cmd_done(IDEState *s) >> } >> } >> >> -void ide_transfer_stop(IDEState *s) >> +static void ide_transfer_halt(IDEState *s, void(*etf)(IDEState *), bool notify) >> { >> - s->end_transfer_func = ide_transfer_stop; >> + s->end_transfer_func = etf; > > Please keep using full names so the code is easier to understand: > s/etc/end_transfer_func/ > If this is the only feedback, I'll just clean this up in the PR, thanks. --js