{"id":814960,"url":"http://patchwork.ozlabs.org/api/patches/814960/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/6ac698e9b3d8e79f5d20020458e6d2f169cd0a11.1505737465.git.maozy.fnst@cn.fujitsu.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<6ac698e9b3d8e79f5d20020458e6d2f169cd0a11.1505737465.git.maozy.fnst@cn.fujitsu.com>","list_archive_url":null,"date":"2017-09-18T14:05:15","name":"[v3,3/6] hw/block/nvme: Convert to realize","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"68e0e870e9df83e4634f3913c26bdc639b39fe0f","submitter":{"id":71231,"url":"http://patchwork.ozlabs.org/api/people/71231/?format=json","name":"Mao Zhongyi","email":"maozy.fnst@cn.fujitsu.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/6ac698e9b3d8e79f5d20020458e6d2f169cd0a11.1505737465.git.maozy.fnst@cn.fujitsu.com/mbox/","series":[{"id":3655,"url":"http://patchwork.ozlabs.org/api/series/3655/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=3655","date":"2017-09-18T14:05:14","name":"Convert to realize and improve error handling","version":3,"mbox":"http://patchwork.ozlabs.org/series/3655/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/814960/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/814960/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xwp6Y4JY4z9s7F\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 00:19:33 +1000 (AEST)","from localhost ([::1]:36913 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dtwtW-0001YE-Mh\n\tfor incoming@patchwork.ozlabs.org; Mon, 18 Sep 2017 10:19:30 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:42884)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <maozy.fnst@cn.fujitsu.com>) id 1dtwiQ-0000dM-B3\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 10:08:03 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <maozy.fnst@cn.fujitsu.com>) id 1dtwiN-0006OB-3e\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 10:08:02 -0400","from mail.cn.fujitsu.com ([183.91.158.132]:20987\n\thelo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <maozy.fnst@cn.fujitsu.com>) id 1dtwiM-0006Nj-O2\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 10:07:59 -0400","from localhost (HELO cn.fujitsu.com) ([10.167.33.5])\n\tby heian.cn.fujitsu.com with ESMTP; 18 Sep 2017 22:07:50 +0800","from G08CNEXCHPEKD03.g08.fujitsu.local (unknown [10.167.33.85])\n\tby cn.fujitsu.com (Postfix) with ESMTP id 917E847ACDB0;\n\tMon, 18 Sep 2017 22:07:47 +0800 (CST)","from maozy.g08.fujitsu.local (10.167.225.76) by\n\tG08CNEXCHPEKD03.g08.fujitsu.local (10.167.33.89) with Microsoft SMTP\n\tServer (TLS) id 14.3.361.1; Mon, 18 Sep 2017 22:07:50 +0800"],"X-IronPort-AV":"E=Sophos;i=\"5.42,413,1500912000\"; d=\"scan'208\";a=\"26773967\"","From":"Mao Zhongyi <maozy.fnst@cn.fujitsu.com>","To":"<qemu-devel@nongnu.org>","Date":"Mon, 18 Sep 2017 22:05:15 +0800","Message-ID":"<6ac698e9b3d8e79f5d20020458e6d2f169cd0a11.1505737465.git.maozy.fnst@cn.fujitsu.com>","X-Mailer":"git-send-email 2.9.4","In-Reply-To":"<cover.1505737465.git.maozy.fnst@cn.fujitsu.com>","References":"<cover.1505737465.git.maozy.fnst@cn.fujitsu.com>","MIME-Version":"1.0","Content-Type":"text/plain","X-Originating-IP":"[10.167.225.76]","X-yoursite-MailScanner-ID":"917E847ACDB0.A2929","X-yoursite-MailScanner":"Found to be clean","X-yoursite-MailScanner-From":"maozy.fnst@cn.fujitsu.com","X-detected-operating-system":"by eggs.gnu.org: Genre and OS details not\n\trecognized.","X-Received-From":"183.91.158.132","Subject":"[Qemu-devel] [PATCH v3 3/6] hw/block/nvme: Convert to realize","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Keith Busch <keith.busch@intel.com>, Kevin Wolf <kwolf@redhat.com>,\n\tJohn Snow <jsnow@redhat.com>, Markus Armbruster <armbru@redhat.com>, \n\tMax Reitz <mreitz@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"},"content":"Convert nvme_init() to realize and rename it to nvme_realize().\n\nCc: John Snow <jsnow@redhat.com>\nCc: Keith Busch <keith.busch@intel.com>\nCc: Kevin Wolf <kwolf@redhat.com>\nCc: Max Reitz <mreitz@redhat.com>\nCc: Markus Armbruster <armbru@redhat.com>\n\nSigned-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com>\n---\n hw/block/nvme.c | 18 ++++++++++--------\n 1 file changed, 10 insertions(+), 8 deletions(-)","diff":"diff --git a/hw/block/nvme.c b/hw/block/nvme.c\nindex 9aa3269..a18bf69 100644\n--- a/hw/block/nvme.c\n+++ b/hw/block/nvme.c\n@@ -920,7 +920,7 @@ static const MemoryRegionOps nvme_cmb_ops = {\n     },\n };\n \n-static int nvme_init(PCIDevice *pci_dev)\n+static void nvme_realize(PCIDevice *pci_dev, Error **errp)\n {\n     NvmeCtrl *n = NVME(pci_dev);\n     NvmeIdCtrl *id = &n->id_ctrl;\n@@ -931,24 +931,27 @@ static int nvme_init(PCIDevice *pci_dev)\n     Error *local_err = NULL;\n \n     if (!n->conf.blk) {\n-        return -1;\n+        error_setg(errp, \"drive property not set\");\n+        return;\n     }\n \n     bs_size = blk_getlength(n->conf.blk);\n     if (bs_size < 0) {\n-        return -1;\n+        error_setg(errp, \"could not get backing file size\");\n+        return;\n     }\n \n     blkconf_serial(&n->conf, &n->serial);\n     if (!n->serial) {\n-        return -1;\n+        error_setg(errp, \"serial property not set\");\n+        return;\n     }\n     blkconf_blocksizes(&n->conf);\n     blkconf_apply_backend_options(&n->conf, blk_is_read_only(n->conf.blk),\n                                   false, &local_err);\n     if (local_err) {\n-        error_report_err(local_err);\n-        return -1;\n+        error_propagate(errp, local_err);\n+        return;\n     }\n \n     pci_conf = pci_dev->config;\n@@ -1046,7 +1049,6 @@ static int nvme_init(PCIDevice *pci_dev)\n             cpu_to_le64(n->ns_size >>\n                 id_ns->lbaf[NVME_ID_NS_FLBAS_INDEX(ns->id_ns.flbas)].ds);\n     }\n-    return 0;\n }\n \n static void nvme_exit(PCIDevice *pci_dev)\n@@ -1081,7 +1083,7 @@ static void nvme_class_init(ObjectClass *oc, void *data)\n     DeviceClass *dc = DEVICE_CLASS(oc);\n     PCIDeviceClass *pc = PCI_DEVICE_CLASS(oc);\n \n-    pc->init = nvme_init;\n+    pc->realize = nvme_realize;\n     pc->exit = nvme_exit;\n     pc->class_id = PCI_CLASS_STORAGE_EXPRESS;\n     pc->vendor_id = PCI_VENDOR_ID_INTEL;\n","prefixes":["v3","3/6"]}