From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35243) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QorAc-0007bz-58 for qemu-devel@nongnu.org; Thu, 04 Aug 2011 02:12:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QorAa-0006T3-Tb for qemu-devel@nongnu.org; Thu, 04 Aug 2011 02:12:38 -0400 Received: from cantor2.suse.de ([195.135.220.15]:45078 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QorAa-0006SZ-J7 for qemu-devel@nongnu.org; Thu, 04 Aug 2011 02:12:36 -0400 Message-ID: <4E3A3851.6040009@suse.de> Date: Thu, 04 Aug 2011 08:12:33 +0200 From: Hannes Reinecke MIME-Version: 1.0 References: <1312376904-16115-1-git-send-email-armbru@redhat.com> <1312376904-16115-12-git-send-email-armbru@redhat.com> In-Reply-To: <1312376904-16115-12-git-send-email-armbru@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 11/45] scsi-disk: Factor out scsi_disk_emulate_start_stop() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: kwolf@redhat.com, quintela@redhat.com, stefano.stabellini@eu.citrix.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, amit.shah@redhat.com, hch@lst.de On 08/03/2011 03:07 PM, Markus Armbruster wrote: > Signed-off-by: Markus Armbruster > --- > hw/scsi-disk.c | 17 +++++++++++++---- > 1 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c > index fa198f9..d549cb7 100644 > --- a/hw/scsi-disk.c > +++ b/hw/scsi-disk.c > @@ -820,6 +820,18 @@ static int scsi_disk_emulate_read_toc(SCSIRequest = *req, uint8_t *outbuf) > return toclen; > } > > +static void scsi_disk_emulate_start_stop(SCSIDiskReq *r) > +{ > + SCSIRequest *req =3D&r->req; > + SCSIDiskState *s =3D DO_UPCAST(SCSIDiskState, qdev, req->dev); > + bool start =3D req->cmd.buf[4]& 1; > + bool loej =3D req->cmd.buf[4]& 2; > + > + if (s->qdev.type =3D=3D TYPE_ROM&& loej) { > + bdrv_eject(s->bs, !start); > + } > +} > + > static int scsi_disk_emulate_command(SCSIDiskReq *r, uint8_t *outbuf) > { > SCSIRequest *req =3D&r->req; > @@ -873,10 +885,7 @@ static int scsi_disk_emulate_command(SCSIDiskReq *= r, uint8_t *outbuf) > goto illegal_request; > break; > case START_STOP: > - if (s->qdev.type =3D=3D TYPE_ROM&& (req->cmd.buf[4]& 2)) { > - /* load/eject medium */ > - bdrv_eject(s->bs, !(req->cmd.buf[4]& 1)); > - } > + scsi_disk_emulate_start_stop(r); > break; > case ALLOW_MEDIUM_REMOVAL: > bdrv_set_locked(s->bs, req->cmd.buf[4]& 1); Acked-by: Hannes Reinecke Cheers, Hannes --=20 Dr. Hannes Reinecke zSeries & Storage hare@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg GF: J. Hawn, J. Guild, F. Imend=F6rffer, HRB 16746 (AG N=FCrnberg)