mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-30 00:15:21 +00:00
storage: Fix bug of fs pool destroying
Regression introduced by commit 258e06c85b7, "ret" could be set to 1 or 0 by virStorageBackendFileSystemIsMounted before goto cleanup. This could mislead the callers (up to the public API virStoragePoolDestroy) to return success even the underlying umount command fails. (cherry picked from commit f4ac06569a8ffce24fb8c07a0fc01574e38de6e4)
This commit is contained in:
parent
2484fb2ef7
commit
8b6567005c
@ -454,6 +454,7 @@ static int
|
||||
virStorageBackendFileSystemUnmount(virStoragePoolObjPtr pool) {
|
||||
virCommandPtr cmd = NULL;
|
||||
int ret = -1;
|
||||
int rc;
|
||||
|
||||
if (pool->def->type == VIR_STORAGE_POOL_NETFS) {
|
||||
if (pool->def->source.nhost != 1) {
|
||||
@ -480,12 +481,8 @@ virStorageBackendFileSystemUnmount(virStoragePoolObjPtr pool) {
|
||||
}
|
||||
|
||||
/* Short-circuit if already unmounted */
|
||||
if ((ret = virStorageBackendFileSystemIsMounted(pool)) != 1) {
|
||||
if (ret < 0)
|
||||
return -1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
if ((rc = virStorageBackendFileSystemIsMounted(pool)) != 1)
|
||||
return rc;
|
||||
|
||||
cmd = virCommandNewArgList(UMOUNT,
|
||||
pool->def->target.path,
|
||||
|
Loading…
x
Reference in New Issue
Block a user