When FS pool's source is already mounted on the target location instead
of just simply marking the pool as active, thus starting it we fail with
an error stating that the source is indeed already mounted on the target.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
src/storage/storage_backend_fs.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 54bcc57..fe4705b 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -358,14 +358,13 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool)
if (virStorageBackendFileSystemIsValid(pool) < 0)
return -1;
+ if ((rc = virStorageBackendFileSystemIsMounted(pool)) < 0)
+ return -1;
+
/* Short-circuit if already mounted */
- if ((rc = virStorageBackendFileSystemIsMounted(pool)) != 0) {
- if (rc == 1) {
- virReportError(VIR_ERR_OPERATION_INVALID,
- _("Target '%s' is already mounted"),
- pool->def->target.path);
- }
- return -1;
+ if (rc == 1) {
+ VIR_INFO("Target '%s' is already mounted",
pool->def->target.path);
+ return 0;
}
if (!(src = virStorageBackendFileSystemGetPoolSource(pool)))
--
2.10.2