Stefano Stabellini
2011-Feb-02 16:54 UTC
[Xen-devel] [PATCH] qemu-xen: read default pci passthrough values
If there are no devices assigned to the domain at boot, we don''t read the default pci passthrough parameters. This patch fixes it. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff --git a/xenstore.c b/xenstore.c index d364a5e..3fd69aa 100644 --- a/xenstore.c +++ b/xenstore.c @@ -738,9 +738,8 @@ void xenstore_parse_domain_config(int hvm_domid) free(params); params = xs_read(xsh, XBT_NULL, buf, &len); - if (params == NULL) - goto out; - num = atoi(params); + if (params != NULL) + num = atoi(params); /* get the pci pass-through parameter */ if (pasprintf(&buf, "/local/domain/0/backend/pci/%u/%u/msitranslate", _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Feb-03 19:06 UTC
Re: [Xen-devel] [PATCH] qemu-xen: read default pci passthrough values
Stefano Stabellini writes ("[Xen-devel] [PATCH] qemu-xen: read default pci passthrough values"):> If there are no devices assigned to the domain at boot, we don''t read > the default pci passthrough parameters. > This patch fixes it.The semantics you intend seem sensible, but: The variable "num" seems completely unused after we went to all the effort of reading num_devs to get it. The code seems to read .../num_devs just to check that the key exists, and doesn''t mind "0" as an answer. With your patch applied, we don''t even care whether the key exists. So why do we bother reading .../num_devs and converting it to an integer and assigning it to nums ? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefano Stabellini
2011-Feb-04 11:27 UTC
Re: [Xen-devel] [PATCH] qemu-xen: read default pci passthrough values
On Thu, 3 Feb 2011, Ian Jackson wrote:> Stefano Stabellini writes ("[Xen-devel] [PATCH] qemu-xen: read default pci passthrough values"): > > If there are no devices assigned to the domain at boot, we don''t read > > the default pci passthrough parameters. > > This patch fixes it. > > The semantics you intend seem sensible, but: > > The variable "num" seems completely unused after we went to all the > effort of reading num_devs to get it. The code seems to read > .../num_devs just to check that the key exists, and doesn''t mind "0" > as an answer. With your patch applied, we don''t even care whether the > key exists. > > So why do we bother reading .../num_devs and converting it to an > integer and assigning it to nums ?That is a very good point. Reading num_devs is completely useless hence I am removing it. --- diff --git a/xenstore.c b/xenstore.c index d364a5e..eed4955 100644 --- a/xenstore.c +++ b/xenstore.c @@ -731,18 +731,7 @@ void xenstore_parse_domain_config(int hvm_domid) * hvm_domid is always equal to domid */ hvm_domid = domid; - /* get the pci pass-through parameter */ - if (pasprintf(&buf, "/local/domain/0/backend/pci/%u/%u/num_devs", - hvm_domid, pci_devid) == -1) - goto out; - - free(params); - params = xs_read(xsh, XBT_NULL, buf, &len); - if (params == NULL) - goto out; - num = atoi(params); - - /* get the pci pass-through parameter */ + /* get the pci pass-through parameters */ if (pasprintf(&buf, "/local/domain/0/backend/pci/%u/%u/msitranslate", hvm_domid, pci_devid) != -1) { _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Feb-04 16:49 UTC
Re: [Xen-devel] [PATCH] qemu-xen: read default pci passthrough values
Stefano Stabellini writes ("Re: [Xen-devel] [PATCH] qemu-xen: read default pci passthrough values"):> That is a very good point. Reading num_devs is completely useless hence > I am removing it.Great, applied, thanks. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel