On 04/28/2014 12:23 PM, Ján Tomko wrote:
On 04/26/2014 06:14 AM, Eric Blake wrote:
> This extends the work started by Nataneal to cover the entire
> tree. Basically, readdir() is awkward to use correctly: to
> properly check for (unlikely) errors, one must pre-set errno.
> Forcing everything to go through a wrapper ensures that all
> our uses will be consistent; this also fixes several bugs
> in some of the call sites.
>
> Eric Blake (5):
> conf: use virDirRead API
> util: use virDirRead API
> drivers: use virDirRead API
> storage: use virDirRead API
> enforce sane readdir usage
>
> Natanael Copa (2):
> util: introduce virDirRead wrapper for readdir
> nodeinfo: use virDirRead API
>
> cfg.mk | 6 +++
> src/conf/domain_conf.c | 5 ++-
> src/conf/network_conf.c | 11 +++---
> src/conf/nwfilter_conf.c | 6 +--
> src/conf/storage_conf.c | 6 +--
> src/libvirt_private.syms | 1 +
> src/nodeinfo.c | 31 +++++----------
> src/openvz/openvz_conf.c | 9 +----
> src/parallels/parallels_storage.c | 11 ++++--
> src/qemu/qemu_driver.c | 5 ++-
> src/qemu/qemu_hostdev.c | 7 ++--
> src/secret/secret_driver.c | 6 +--
> src/storage/storage_backend.c | 8 ++--
> src/storage/storage_backend_fs.c | 6 ++-
> src/storage/storage_backend_iscsi.c | 5 ++-
> src/storage/storage_backend_scsi.c | 10 +++--
> src/util/vircgroup.c | 28 ++++++++------
> src/util/virfile.c | 76 +++++++++++++++++++++++--------------
> src/util/virfile.h | 4 ++
> src/util/virnetdevtap.c | 10 +----
> src/util/virpci.c | 20 +++++-----
> src/util/virscsi.c | 9 +++--
> src/util/virusb.c | 7 +++-
> src/util/virutil.c | 4 +-
> src/xen/xen_inotify.c | 7 +++-
> src/xen/xm_internal.c | 3 +-
> 26 files changed, 170 insertions(+), 131 deletions(-)
>
ACK series if you conver the newly addded readdir call as well:
src/network/bridge_driver.c:487: entry = readdir(dir);
maint.mk: use virDirRead, not readdir
make: *** [sc_prohibit_readdir] Error 1
To make it easier for Eric (and since it was me that added the new usage
of readdir) I just sent a "PATCHv2 6.5/7" to this thread that converts
to virDirRead().