From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58940) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XUYiP-0005tc-3O for qemu-devel@nongnu.org; Thu, 18 Sep 2014 06:13:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XUYiK-0005t6-9S for qemu-devel@nongnu.org; Thu, 18 Sep 2014 06:13:29 -0400 Received: from mx1.redhat.com ([209.132.183.28]:25717) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XUYiK-0005rg-1d for qemu-devel@nongnu.org; Thu, 18 Sep 2014 06:13:24 -0400 Message-ID: <541AB036.8040902@redhat.com> Date: Thu, 18 Sep 2014 12:13:10 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1411032780-10692-1-git-send-email-arei.gonglei@huawei.com> <1411032780-10692-8-git-send-email-arei.gonglei@huawei.com> In-Reply-To: <1411032780-10692-8-git-send-email-arei.gonglei@huawei.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 07/19] dev-storage: convert init to realize List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: arei.gonglei@huawei.com, qemu-devel@nongnu.org Cc: luonengjun@huawei.com, peter.huangpeng@huawei.com, weidong.huang@huawei.com, kraxel@redhat.com, armbru@redhat.com Il 18/09/2014 11:32, arei.gonglei@huawei.com ha scritto: > From: Gonglei > > In this way, all the implementations now use > error_setg instead of error_report for reporting error. > > Signed-off-by: Gonglei > --- > hw/usb/dev-storage.c | 21 ++++++++------------- > 1 file changed, 8 insertions(+), 13 deletions(-) > > diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c > index a9f31f0..6dc5f47 100644 > --- a/hw/usb/dev-storage.c > +++ b/hw/usb/dev-storage.c > @@ -595,7 +595,7 @@ static const struct SCSIBusInfo usb_msd_scsi_info_bot = { > .load_request = usb_msd_load_request, > }; > > -static int usb_msd_initfn_storage(USBDevice *dev) > +static void usb_msd_realize_storage(USBDevice *dev, Error **errp) > { > MSDState *s = DO_UPCAST(MSDState, dev, dev); > BlockDriverState *bs = s->conf.bs; > @@ -603,8 +603,8 @@ static int usb_msd_initfn_storage(USBDevice *dev) > Error *err = NULL; > > if (!bs) { > - error_report("drive property not set"); > - return -1; > + error_setg(errp, "drive property not set"); > + return; > } > > blkconf_serial(&s->conf, &dev->serial); > @@ -629,9 +629,8 @@ static int usb_msd_initfn_storage(USBDevice *dev) > s->conf.bootindex, dev->serial, > &err); > if (!scsi_dev) { > - error_report("%s", error_get_pretty(err)); > - error_free(err); > - return -1; > + error_propagate(errp, err); > + return; > } > s->bus.qbus.allow_hotplug = 0; > usb_msd_handle_reset(dev); > @@ -644,11 +643,9 @@ static int usb_msd_initfn_storage(USBDevice *dev) > autostart = 0; > } > } > - > - return 0; > } > > -static int usb_msd_initfn_bot(USBDevice *dev) > +static void usb_msd_realize_bot(USBDevice *dev, Error **errp) > { > MSDState *s = DO_UPCAST(MSDState, dev, dev); > > @@ -658,8 +655,6 @@ static int usb_msd_initfn_bot(USBDevice *dev) > &usb_msd_scsi_info_bot, NULL); > s->bus.qbus.allow_hotplug = 0; > usb_msd_handle_reset(dev); > - > - return 0; > } > > static USBDevice *usb_msd_init(USBBus *bus, const char *filename) > @@ -765,7 +760,7 @@ static void usb_msd_class_initfn_storage(ObjectClass *klass, void *data) > DeviceClass *dc = DEVICE_CLASS(klass); > USBDeviceClass *uc = USB_DEVICE_CLASS(klass); > > - uc->init = usb_msd_initfn_storage; > + uc->realize = usb_msd_realize_storage; > dc->props = msd_properties; > usb_msd_class_initfn_common(klass); > } > @@ -774,7 +769,7 @@ static void usb_msd_class_initfn_bot(ObjectClass *klass, void *data) > { > USBDeviceClass *uc = USB_DEVICE_CLASS(klass); > > - uc->init = usb_msd_initfn_bot; > + uc->realize = usb_msd_realize_bot; > usb_msd_class_initfn_common(klass); > } > > Reviewed-by: Paolo Bonzini