mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-23 13:05:27 +00:00
storage: Fix any VolLookupByPath if we have an empty logical pool
On F16 at least, empty volume groups don't have a directory under /dev. The directory only appears once a logical volume is created. This tickles some behavior in BackendStablePath which ends with libvirt sleeping for 5 seconds while waiting for the directory to appear. This causes all sorts of problems for the virStorageVolLookupByPath API which virtinst uses, even if trying to resolve a path that is independent of the logical pool. In reality we don't even need to do that checking since logical pools always have a stable target path. Short circuit the polling in that case. Fixes bug 782261
This commit is contained in:
parent
16dc4ade7a
commit
275155f664
@ -1347,6 +1347,10 @@ virStorageBackendStablePath(virStoragePoolObjPtr pool,
|
||||
if (!STRPREFIX(pool->def->target.path, "/dev"))
|
||||
goto ret_strdup;
|
||||
|
||||
/* Logical pools are under /dev but already have stable paths */
|
||||
if (pool->def->type == VIR_STORAGE_POOL_LOGICAL)
|
||||
goto ret_strdup;
|
||||
|
||||
/* We loop here because /dev/disk/by-{id,path} may not have existed
|
||||
* before we started this operation, so we have to give it some time to
|
||||
* get created.
|
||||
|
Loading…
x
Reference in New Issue
Block a user