summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Privoznik <mprivozn@redhat.com>2015-06-15 13:13:27 +0200
committerMichal Privoznik <mprivozn@redhat.com>2015-06-15 14:13:34 +0200
commit71b66bec2bd54e991a506834a3834d4513970c65 (patch)
tree2d833bfebbfd855e22d3a8b5c750cfa7a5805d0c
parent84020f9a398f739ee2cf7588a7cf3b4b0c077984 (diff)
downloadlibvirt-71b66bec2bd54e991a506834a3834d4513970c65.tar.gz
getNewStyleBlockDevice: Adjust formatting
Instead of initializing return value to zero (success) and overwriting it on every failure just before the control jumps onto 'out' label, let's initialize to an error value and set to zero only when we are sure about the success. Just follow the pattern we have in the rest of the code. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
-rw-r--r--src/storage/storage_backend_scsi.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c
index e6c8bb586e..3c1bae6b7f 100644
--- a/src/storage/storage_backend_scsi.c
+++ b/src/storage/storage_backend_scsi.c
@@ -255,44 +255,41 @@ getNewStyleBlockDevice(const char *lun_path,
char *block_path = NULL;
DIR *block_dir = NULL;
struct dirent *block_dirent = NULL;
- int retval = 0;
+ int retval = -1;
int direrr;
if (virAsprintf(&block_path, "%s/block", lun_path) < 0)
- goto out;
+ goto cleanup;
VIR_DEBUG("Looking for block device in '%s'", block_path);
- block_dir = opendir(block_path);
- if (block_dir == NULL) {
+ if (!(block_dir = opendir(block_path))) {
virReportSystemError(errno,
_("Failed to opendir sysfs path '%s'"),
block_path);
- retval = -1;
- goto out;
+ goto cleanup;
}
while ((direrr = virDirRead(block_dir, &block_dirent, block_path)) > 0) {
-
if (STREQLEN(block_dirent->d_name, ".", 1))
continue;
- if (VIR_STRDUP(*block_device, block_dirent->d_name) < 0) {
- closedir(block_dir);
- retval = -1;
- goto out;
- }
+ if (VIR_STRDUP(*block_device, block_dirent->d_name) < 0)
+ goto cleanup;
VIR_DEBUG("Block device is '%s'", *block_device);
break;
}
+
if (direrr < 0)
- retval = -1;
+ goto cleanup;
- closedir(block_dir);
+ retval = 0;
- out:
+ cleanup:
+ if (block_dir)
+ closedir(block_dir);
VIR_FREE(block_path);
return retval;
}