From: Erik Skultety Date: Mon, 6 Feb 2017 14:03:52 +0000 (+0100) Subject: storage: Fix reporting an error on an already mounted filesystem X-Git-Tag: CVE-2017-2635~126 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fcf6330b683be7bf6de160cd82e5e7766be8f5c;p=thirdparty%2Flibvirt.git storage: Fix reporting an error on an already mounted filesystem 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 --- diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index 54bcc5777c..fe4705b95d 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; - /* 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); - } + if ((rc = virStorageBackendFileSystemIsMounted(pool)) < 0) return -1; + + /* Short-circuit if already mounted */ + if (rc == 1) { + VIR_INFO("Target '%s' is already mounted", pool->def->target.path); + return 0; } if (!(src = virStorageBackendFileSystemGetPoolSource(pool)))