mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 19:41:16 +00:00
storage: Fix bug of fs pool destroying
Regression introduced by commit 258e06c85b
, "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.
This commit is contained in:
parent
f0e72b2f5c
commit
f4ac06569a
@ -449,6 +449,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) {
|
||||
@ -475,12 +476,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…
Reference in New Issue
Block a user