mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 03:25:20 +00:00
Use virDirOpen
Switch from opendir to virDirOpen everywhere we need to report an error.
This commit is contained in:
parent
f0ced7086a
commit
e81de04c10
@ -900,12 +900,8 @@ virStorageBackendFileSystemRefresh(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
int direrr;
|
int direrr;
|
||||||
int fd = -1, ret = -1;
|
int fd = -1, ret = -1;
|
||||||
|
|
||||||
if (!(dir = opendir(pool->def->target.path))) {
|
if (virDirOpen(&dir, pool->def->target.path) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("cannot open path '%s'"),
|
|
||||||
pool->def->target.path);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dir, &ent, pool->def->target.path)) > 0) {
|
while ((direrr = virDirRead(dir, &ent, pool->def->target.path)) > 0) {
|
||||||
int err;
|
int err;
|
||||||
|
@ -100,9 +100,7 @@ virStorageBackendISCSIGetHostNumber(const char *sysfs_path,
|
|||||||
|
|
||||||
virFileWaitForDevices();
|
virFileWaitForDevices();
|
||||||
|
|
||||||
sysdir = opendir(sysfs_path);
|
if (virDirOpen(&sysdir, sysfs_path) < 0)
|
||||||
|
|
||||||
if (sysdir == NULL) {
|
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("Failed to opendir path '%s'"), sysfs_path);
|
_("Failed to opendir path '%s'"), sysfs_path);
|
||||||
retval = -1;
|
retval = -1;
|
||||||
|
@ -265,12 +265,8 @@ getNewStyleBlockDevice(const char *lun_path,
|
|||||||
|
|
||||||
VIR_DEBUG("Looking for block device in '%s'", block_path);
|
VIR_DEBUG("Looking for block device in '%s'", block_path);
|
||||||
|
|
||||||
if (!(block_dir = opendir(block_path))) {
|
if (virDirOpen(&block_dir, block_path) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir sysfs path '%s'"),
|
|
||||||
block_path);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(block_dir, &block_dirent, block_path)) > 0) {
|
while ((direrr = virDirRead(block_dir, &block_dirent, block_path)) > 0) {
|
||||||
if (VIR_STRDUP(*block_device, block_dirent->d_name) < 0)
|
if (VIR_STRDUP(*block_device, block_dirent->d_name) < 0)
|
||||||
@ -350,12 +346,8 @@ getBlockDevice(uint32_t host,
|
|||||||
host, bus, target, lun) < 0)
|
host, bus, target, lun) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(lun_dir = opendir(lun_path))) {
|
if (virDirOpen(&lun_dir, lun_path) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir sysfs path '%s'"),
|
|
||||||
lun_path);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(lun_dir, &lun_dirent, lun_path)) > 0) {
|
while ((direrr = virDirRead(lun_dir, &lun_dirent, lun_path)) > 0) {
|
||||||
if (STREQLEN(lun_dirent->d_name, "block", 5)) {
|
if (STREQLEN(lun_dirent->d_name, "block", 5)) {
|
||||||
@ -467,13 +459,8 @@ virStorageBackendSCSIFindLUs(virStoragePoolObjPtr pool,
|
|||||||
|
|
||||||
virFileWaitForDevices();
|
virFileWaitForDevices();
|
||||||
|
|
||||||
devicedir = opendir(device_path);
|
if (virDirOpen(&devicedir, device_path) < 0)
|
||||||
|
|
||||||
if (devicedir == NULL) {
|
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir path '%s'"), device_path);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
snprintf(devicepattern, sizeof(devicepattern), "%u:%%u:%%u:%%u\n", scanhost);
|
snprintf(devicepattern, sizeof(devicepattern), "%u:%%u:%%u:%%u\n", scanhost);
|
||||||
|
|
||||||
|
@ -3952,11 +3952,8 @@ int virCgroupSetOwner(virCgroupPtr cgroup,
|
|||||||
cgroup->controllers[i].placement) < 0)
|
cgroup->controllers[i].placement) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dh = opendir(base))) {
|
if (virDirOpen(&dh, base) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Unable to open dir '%s'"), base);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dh, &de, base)) > 0) {
|
while ((direrr = virDirRead(dh, &de, base)) > 0) {
|
||||||
if (virAsprintf(&entry, "%s/%s", base, de->d_name) < 0)
|
if (virAsprintf(&entry, "%s/%s", base, de->d_name) < 0)
|
||||||
|
@ -614,11 +614,8 @@ static int virFileLoopDeviceOpenSearch(char **dev_name)
|
|||||||
|
|
||||||
VIR_DEBUG("Looking for loop devices in /dev");
|
VIR_DEBUG("Looking for loop devices in /dev");
|
||||||
|
|
||||||
if (!(dh = opendir("/dev"))) {
|
if (virDirOpen(&dh, "/dev") < 0)
|
||||||
virReportSystemError(errno, "%s",
|
|
||||||
_("Unable to read /dev"));
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dh, &de, "/dev")) > 0) {
|
while ((direrr = virDirRead(dh, &de, "/dev")) > 0) {
|
||||||
/* Checking 'loop' prefix is insufficient, since
|
/* Checking 'loop' prefix is insufficient, since
|
||||||
@ -782,12 +779,8 @@ virFileNBDDeviceFindUnused(void)
|
|||||||
struct dirent *de;
|
struct dirent *de;
|
||||||
int direrr;
|
int direrr;
|
||||||
|
|
||||||
if (!(dh = opendir(SYSFS_BLOCK_DIR))) {
|
if (virDirOpen(&dh, SYSFS_BLOCK_DIR) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Cannot read directory %s"),
|
|
||||||
SYSFS_BLOCK_DIR);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dh, &de, SYSFS_BLOCK_DIR)) > 0) {
|
while ((direrr = virDirRead(dh, &de, SYSFS_BLOCK_DIR)) > 0) {
|
||||||
if (STRPREFIX(de->d_name, "nbd")) {
|
if (STRPREFIX(de->d_name, "nbd")) {
|
||||||
@ -942,11 +935,8 @@ int virFileDeleteTree(const char *dir)
|
|||||||
if (!dir || !virFileExists(dir))
|
if (!dir || !virFileExists(dir))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!(dh = opendir(dir))) {
|
if (virDirOpen(&dh, dir) < 0)
|
||||||
virReportSystemError(errno, _("Cannot open dir '%s'"),
|
|
||||||
dir);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dh, &de, dir)) > 0) {
|
while ((direrr = virDirRead(dh, &de, dir)) > 0) {
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
|
@ -339,10 +339,8 @@ virHostCPUParseNode(const char *node,
|
|||||||
*cores = 0;
|
*cores = 0;
|
||||||
*sockets = 0;
|
*sockets = 0;
|
||||||
|
|
||||||
if (!(cpudir = opendir(node))) {
|
if (virDirOpen(&cpudir, node) < 0)
|
||||||
virReportSystemError(errno, _("cannot opendir %s"), node);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
/* Keep track of the CPUs that belong to the current node */
|
/* Keep track of the CPUs that belong to the current node */
|
||||||
if (!(node_cpus_map = virBitmapNew(npresent_cpus)))
|
if (!(node_cpus_map = virBitmapNew(npresent_cpus)))
|
||||||
|
@ -3157,12 +3157,8 @@ virNetDevRDMAFeature(const char *ifname,
|
|||||||
if (!virFileExists(SYSFS_INFINIBAND_DIR))
|
if (!virFileExists(SYSFS_INFINIBAND_DIR))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!(dirp = opendir(SYSFS_INFINIBAND_DIR))) {
|
if (virDirOpen(&dirp, SYSFS_INFINIBAND_DIR) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir path '%s'"),
|
|
||||||
SYSFS_INFINIBAND_DIR);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if (virAsprintf(ð_devpath, SYSFS_NET_DIR "%s/device/resource", ifname) < 0)
|
if (virAsprintf(ð_devpath, SYSFS_NET_DIR "%s/device/resource", ifname) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -98,13 +98,8 @@ virNetDevTapGetRealDeviceName(char *ifname ATTRIBUTE_UNUSED)
|
|||||||
char *devpath = NULL;
|
char *devpath = NULL;
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
DIR *dirp = opendir("/dev");
|
if (virDirOpen(&dirp, "/dev") < 0)
|
||||||
if (dirp == NULL) {
|
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir path '%s'"),
|
|
||||||
"/dev");
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
while (virDirRead(dirp, &dp, "/dev") > 0) {
|
while (virDirRead(dirp, &dp, "/dev") > 0) {
|
||||||
if (STRPREFIX(dp->d_name, "tap")) {
|
if (STRPREFIX(dp->d_name, "tap")) {
|
||||||
|
@ -460,11 +460,8 @@ virPCIDeviceIterDevices(virPCIDeviceIterPredicate predicate,
|
|||||||
|
|
||||||
VIR_DEBUG("%s %s: iterating over " PCI_SYSFS "devices", dev->id, dev->name);
|
VIR_DEBUG("%s %s: iterating over " PCI_SYSFS "devices", dev->id, dev->name);
|
||||||
|
|
||||||
dir = opendir(PCI_SYSFS "devices");
|
if (virDirOpen(&dir, PCI_SYSFS "devices") < 0)
|
||||||
if (!dir) {
|
|
||||||
VIR_WARN("Failed to open " PCI_SYSFS "devices");
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
while ((ret = virDirRead(dir, &entry, PCI_SYSFS "devices")) > 0) {
|
while ((ret = virDirRead(dir, &entry, PCI_SYSFS "devices")) > 0) {
|
||||||
unsigned int domain, bus, slot, function;
|
unsigned int domain, bus, slot, function;
|
||||||
@ -1958,11 +1955,8 @@ int virPCIDeviceFileIterate(virPCIDevicePtr dev,
|
|||||||
dev->address.slot, dev->address.function) < 0)
|
dev->address.slot, dev->address.function) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dir = opendir(pcidir))) {
|
if (virDirOpen(&dir, pcidir) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("cannot open %s"), pcidir);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dir, &ent, pcidir)) > 0) {
|
while ((direrr = virDirRead(dir, &ent, pcidir)) > 0) {
|
||||||
/* Device assignment requires:
|
/* Device assignment requires:
|
||||||
|
@ -612,7 +612,7 @@ int virProcessGetPids(pid_t pid, size_t *npids, pid_t **pids)
|
|||||||
(unsigned long long)pid) < 0)
|
(unsigned long long)pid) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!(dir = opendir(taskPath)))
|
if (virDirOpen(&dir, taskPath) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
while ((value = virDirRead(dir, &ent, taskPath)) > 0) {
|
while ((value = virDirRead(dir, &ent, taskPath)) > 0) {
|
||||||
|
@ -127,11 +127,8 @@ virSCSIDeviceGetSgName(const char *sysfs_prefix,
|
|||||||
prefix, adapter_id, bus, target, unit) < 0)
|
prefix, adapter_id, bus, target, unit) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!(dir = opendir(path))) {
|
if (virDirOpen(&dir, path) < 0)
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("Failed to open %s"), path);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while (virDirRead(dir, &entry, path) > 0) {
|
while (virDirRead(dir, &entry, path) > 0) {
|
||||||
/* Assume a single directory entry */
|
/* Assume a single directory entry */
|
||||||
@ -170,11 +167,8 @@ virSCSIDeviceGetDevName(const char *sysfs_prefix,
|
|||||||
prefix, adapter_id, bus, target, unit) < 0)
|
prefix, adapter_id, bus, target, unit) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!(dir = opendir(path))) {
|
if (virDirOpen(&dir, path) < 0)
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("Failed to open %s"), path);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while (virDirRead(dir, &entry, path) > 0) {
|
while (virDirRead(dir, &entry, path) > 0) {
|
||||||
ignore_value(VIR_STRDUP(name, entry->d_name));
|
ignore_value(VIR_STRDUP(name, entry->d_name));
|
||||||
|
@ -138,13 +138,8 @@ virUSBDeviceSearch(unsigned int vendor,
|
|||||||
if (!(list = virUSBDeviceListNew()))
|
if (!(list = virUSBDeviceListNew()))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
dir = opendir(USB_SYSFS "/devices");
|
if (virDirOpen(&dir, USB_SYSFS "/devices") < 0)
|
||||||
if (!dir) {
|
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Could not open directory %s"),
|
|
||||||
USB_SYSFS "/devices");
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
while ((direrr = virDirRead(dir, &de, USB_SYSFS "/devices")) > 0) {
|
while ((direrr = virDirRead(dir, &de, USB_SYSFS "/devices")) > 0) {
|
||||||
unsigned int found_prod, found_vend, found_bus, found_devno;
|
unsigned int found_prod, found_vend, found_bus, found_devno;
|
||||||
|
@ -1860,12 +1860,8 @@ virFindSCSIHostByPCI(const char *sysfs_prefix,
|
|||||||
char *unique_path = NULL;
|
char *unique_path = NULL;
|
||||||
unsigned int read_unique_id;
|
unsigned int read_unique_id;
|
||||||
|
|
||||||
if (!(dir = opendir(prefix))) {
|
if (virDirOpen(&dir, prefix) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir path '%s'"),
|
|
||||||
prefix);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
while (virDirRead(dir, &entry, prefix) > 0) {
|
while (virDirRead(dir, &entry, prefix) > 0) {
|
||||||
if (!virFileIsLink(entry->d_name))
|
if (!virFileIsLink(entry->d_name))
|
||||||
@ -2198,12 +2194,8 @@ virGetFCHostNameByWWN(const char *sysfs_prefix,
|
|||||||
char *p;
|
char *p;
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
|
|
||||||
if (!(dir = opendir(prefix))) {
|
if (virDirOpen(&dir, prefix) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir path '%s'"),
|
|
||||||
prefix);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
# define READ_WWN(wwn_path, buf) \
|
# define READ_WWN(wwn_path, buf) \
|
||||||
do { \
|
do { \
|
||||||
@ -2289,12 +2281,8 @@ virFindFCHostCapableVport(const char *sysfs_prefix)
|
|||||||
char *state = NULL;
|
char *state = NULL;
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
|
|
||||||
if (!(dir = opendir(prefix))) {
|
if (virDirOpen(&dir, prefix) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Failed to opendir path '%s'"),
|
|
||||||
prefix);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
while (virDirRead(dir, &entry, prefix) > 0) {
|
while (virDirRead(dir, &entry, prefix) > 0) {
|
||||||
unsigned int host;
|
unsigned int host;
|
||||||
|
@ -360,12 +360,9 @@ xenInotifyOpen(virConnectPtr conn,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* populate initial list */
|
/* populate initial list */
|
||||||
if (!(dh = opendir(priv->configDir))) {
|
if (virDirOpen(&dh, priv->configDir) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("cannot open directory: %s"),
|
|
||||||
priv->configDir);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
while ((direrr = virDirRead(dh, &ent, priv->configDir)) > 0) {
|
while ((direrr = virDirRead(dh, &ent, priv->configDir)) > 0) {
|
||||||
if (STRPREFIX(ent->d_name, "."))
|
if (STRPREFIX(ent->d_name, "."))
|
||||||
continue;
|
continue;
|
||||||
|
@ -319,12 +319,8 @@ xenXMConfigCacheRefresh(virConnectPtr conn)
|
|||||||
priv->lastRefresh = now;
|
priv->lastRefresh = now;
|
||||||
|
|
||||||
/* Process the files in the config dir */
|
/* Process the files in the config dir */
|
||||||
if (!(dh = opendir(priv->configDir))) {
|
if (virDirOpen(&dh, priv->configDir) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
_("cannot read directory %s"),
|
|
||||||
priv->configDir);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
while ((ret = virDirRead(dh, &ent, priv->configDir)) > 0) {
|
while ((ret = virDirRead(dh, &ent, priv->configDir)) > 0) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
@ -80,12 +80,8 @@ testSchemaDir(const char *schema,
|
|||||||
.validator = validator,
|
.validator = validator,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!(dir = opendir(dir_path))) {
|
if (virDirOpen(&dir, dir_path) < 0)
|
||||||
virReportSystemError(errno,
|
|
||||||
"Failed to opendir path '%s'",
|
|
||||||
dir_path);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
while ((rc = virDirRead(dir, &ent, dir_path)) > 0) {
|
while ((rc = virDirRead(dir, &ent, dir_path)) > 0) {
|
||||||
if (!virFileHasSuffix(ent->d_name, ".xml"))
|
if (!virFileHasSuffix(ent->d_name, ".xml"))
|
||||||
|
Loading…
Reference in New Issue
Block a user