
On Mon, Jul 12, 2010 at 02:30:42PM +0100, Daniel P. Berrange wrote:
There is duplicated code which iterates over disk backing stores performing some action. Provide a convenient helper for doing this to eliminate duplication & risk of mistakes with disk format probing
* src/conf/domain_conf.c, src/conf/domain_conf.h, src/libvirt_private.syms: Add virDomainDiskDefForeachPath() [...] + if ((fd = open(path, O_RDONLY)) < 0) {
+ if (virStorageFileGetMetadataFromFD(path, fd, format, &meta) < 0) { + close(fd); + goto cleanup; + } + close(fd);
stylistic ret = f(... fd, ) close(fd); if (ret < 0) goto cleanup; looks simpler to me, but it's a matter of taste :-) ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/