[libvirt] [PATCH] storage: return -1 when fs pool can't be mounted

Don't reuse the return value of virStorageBackendFileSystemIsMounted. If it's 0, we'd return it even if the mount command failed. Also, don't report another error if it's -1, since one has already been reported. Introduced by 258e06c. https://bugzilla.redhat.com/show_bug.cgi?id=981251 --- src/storage/storage_backend_fs.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index 8b40f55..d305b06 100644 --- a/src/storage/storage_backend_fs.c +++ b/src/storage/storage_backend_fs.c @@ -355,6 +355,7 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) { pool->def->source.format == VIR_STORAGE_POOL_NETFS_GLUSTERFS); virCommandPtr cmd = NULL; int ret = -1; + int rc; if (pool->def->type == VIR_STORAGE_POOL_NETFS) { if (pool->def->source.nhost != 1) { @@ -381,10 +382,12 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) { } /* Short-circuit if already mounted */ - if ((ret = virStorageBackendFileSystemIsMounted(pool)) != 0) { - virReportError(VIR_ERR_OPERATION_INVALID, - _("Target '%s' is already mounted"), - pool->def->target.path); + if ((rc = virStorageBackendFileSystemIsMounted(pool)) != 0) { + if (rc == 1) { + virReportError(VIR_ERR_OPERATION_INVALID, + _("Target '%s' is already mounted"), + pool->def->target.path); + } return -1; } -- 1.8.1.5

On 11.07.2013 12:43, Ján Tomko wrote:
Don't reuse the return value of virStorageBackendFileSystemIsMounted. If it's 0, we'd return it even if the mount command failed.
Also, don't report another error if it's -1, since one has already been reported.
Introduced by 258e06c.
https://bugzilla.redhat.com/show_bug.cgi?id=981251 --- src/storage/storage_backend_fs.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index 8b40f55..d305b06 100644 --- a/src/storage/storage_backend_fs.c +++ b/src/storage/storage_backend_fs.c @@ -355,6 +355,7 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) { pool->def->source.format == VIR_STORAGE_POOL_NETFS_GLUSTERFS); virCommandPtr cmd = NULL; int ret = -1; + int rc;
if (pool->def->type == VIR_STORAGE_POOL_NETFS) { if (pool->def->source.nhost != 1) { @@ -381,10 +382,12 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) { }
/* Short-circuit if already mounted */ - if ((ret = virStorageBackendFileSystemIsMounted(pool)) != 0) { - virReportError(VIR_ERR_OPERATION_INVALID, - _("Target '%s' is already mounted"), - pool->def->target.path); + if ((rc = virStorageBackendFileSystemIsMounted(pool)) != 0) { + if (rc == 1) { + virReportError(VIR_ERR_OPERATION_INVALID, + _("Target '%s' is already mounted"), + pool->def->target.path); + } return -1; }
ACK Michal

On 07/11/2013 01:30 PM, Michal Privoznik wrote:
On 11.07.2013 12:43, Ján Tomko wrote:
Don't reuse the return value of virStorageBackendFileSystemIsMounted. If it's 0, we'd return it even if the mount command failed.
Also, don't report another error if it's -1, since one has already been reported.
Introduced by 258e06c.
https://bugzilla.redhat.com/show_bug.cgi?id=981251 --- src/storage/storage_backend_fs.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
ACK
Michal
Thanks, pushed now. Jan
participants (2)
-
Ján Tomko
-
Michal Privoznik