On Thu, Dec 10, 2009 at 04:51:12PM -0500, Dave Allan wrote:
>
>ACK aside from the minor logging fixes& attribute whitespace
>
>Daniel
Ok, thanks. Final version attached.
Dave
[...]
+ if ((address == NULL) || (logStrToLong_ui(address,
+ &p,
+ 16,
+ &bdf->domain) == -1)) {
+ goto out;
+ }
+
+ if ((p == NULL) || (logStrToLong_ui(p+1,
+ &p,
+ 16,
+ &bdf->bus) == -1)) {
+ goto out;
+ }
+
+ if ((p == NULL) || (logStrToLong_ui(p+1,
+ &p,
+ 16,
+ &bdf->slot) == -1)) {
+ goto out;
+ }
+
+ if ((p == NULL) || (logStrToLong_ui(p+1,
+ &p,
+ 16,
+ &bdf->function) == -1)) {
+ goto out;
+ }
I reformatted this a bit, no need to have one arg per line
+static int get_sriov_function(const char *device_link,
+ struct pci_config_address **bdf)
+{
+ char *device_path = NULL, *config_address = NULL;
+ char errbuf[64];
+ int ret = SRIOV_ERROR;
[...]
+ device_path = realpath(device_link, device_path);
+ if (device_path == NULL) {
+ memset(errbuf, '\0', sizeof(errbuf));
+ VIR_ERROR("Failed to resolve device link '%s':
'%s'\n", device_link,
+ virStrerror(errno, errbuf, sizeof(errbuf)));
Hum I wonder if we don't have a wrapper error macro for this to use
instead of allocating a small buffer on the stack, but it's minor.
+ goto out;
+ }
[...]
+ VIR_DEBUG("Number of virtual functions: %d\n",
*num_funcs);
+ if (VIR_REALLOC_N(d->pci_dev.virtual_functions, (*num_funcs) + 1) != 0) {
I reformatted that line too
+ virReportOOMError(NULL);
+ goto out;
+ }
+
+ if (get_sriov_function(device_link,
+ &d->pci_dev.virtual_functions[*num_funcs]) !=
+ SRIOV_FOUND) {
there as well
+
+ /* We should not get back SRIOV_NOT_FOUND in this
+ * case, so if we do, it's an error. */
+ VIR_ERROR("Failed to get SR IOV function from device link
'%s'\n",
unneeded \n, fit in a line as a result
+ device_link);
+ goto out;
+ } else {
+ (*num_funcs)++;
+ d->pci_dev.flags |= VIR_NODE_DEV_CAP_FLAG_PCI_VIRTUAL_FUNCTION;
+ }
+
+ VIR_FREE(device_link);
+ }
+ }
+
+ closedir(dir);
+
+ ret = 0;
+
+out:
+ VIR_FREE(device_link);
+ return 0;
+}
+
#endif /* __linux__ */
With those tiny fixes, I phsed the patch,
thanks !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/