From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=58693 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q8IZ0-0001HC-2a for qemu-devel@nongnu.org; Fri, 08 Apr 2011 16:45:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q8IYv-0007aZ-DT for qemu-devel@nongnu.org; Fri, 08 Apr 2011 16:45:50 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:56548) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q8IYv-0007a3-5p for qemu-devel@nongnu.org; Fri, 08 Apr 2011 16:45:49 -0400 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p38KYppC016387 for ; Fri, 8 Apr 2011 14:34:51 -0600 Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d03relay04.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p38KjlBB067316 for ; Fri, 8 Apr 2011 14:45:47 -0600 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p38KjkeQ029692 for ; Fri, 8 Apr 2011 14:45:47 -0600 Date: Fri, 8 Apr 2011 15:45:42 -0500 From: Ryan Harper Subject: Re: [Qemu-devel] [PATCH v3 1/2] cdrom: Allow the TEST_UNIT_READY command after a cdrom change Message-ID: <20110408204542.GA7163@us.ibm.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: Kevin Wolf , Gleb Natapov , Juan Quintela , Stefan Hajnoczi , Markus Armbruster , qemu list , Paolo Bonzini * Amit Shah [2011-04-07 03:53]: > We restrict the commands that a guest can send us after a cdrom change > event. The current list includes REQUEST_SENSE and INQUIRY commands. > Guests can also issue TEST_UNIT_READY to inquire for the status, so > allow this command as well. > > This also gets rid of one cause of the HSM violation errors in Linux > guests. Those errors came up because we had the UNIT_ATTENTION event > pending and we replied with an error message to a command that should be > allowed in such a condition. The guest then did a soft reset to get to > a sane state. > > Signed-off-by: Amit Shah > --- > hw/ide/core.c | 9 +++++---- > 1 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/hw/ide/core.c b/hw/ide/core.c > index 007a4ee..d55d804 100644 > --- a/hw/ide/core.c > +++ b/hw/ide/core.c > @@ -1105,10 +1105,11 @@ static void ide_atapi_cmd(IDEState *s) > /* If there's a UNIT_ATTENTION condition pending, only > REQUEST_SENSE and INQUIRY commands are allowed to complete. */ Wasn't this comment going to get updated to be more generic (ie more than just the 3 commands below may be needed?) > if (s->sense_key == SENSE_UNIT_ATTENTION && > - s->io_buffer[0] != GPCMD_REQUEST_SENSE && > - s->io_buffer[0] != GPCMD_INQUIRY) { > - ide_atapi_cmd_check_status(s); > - return; > + s->io_buffer[0] != GPCMD_REQUEST_SENSE && > + s->io_buffer[0] != GPCMD_INQUIRY && > + s->io_buffer[0] != GPCMD_TEST_UNIT_READY) { > + ide_atapi_cmd_check_status(s); > + return; > } > switch(s->io_buffer[0]) { > case GPCMD_TEST_UNIT_READY: > -- > 1.7.4 > -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx ryanh@us.ibm.com