This is an iplementation for file base storage types.
changes compared to patches from Alexandre:
* use correct locking
* private find_free_diskname() with bug fixes
* changed names of new methods
* always refer to base volumes in volume names
Example volume names:
local:6000/base-6000-disk-9.raw
local:6000/base-6000-disk-9.raw/7000/vm-7000-disk-9.qcow2
local:6000/base-6000-disk-9.raw/7000/base-7000-disk-10.qcow2
this add qemu-img resize for file devices (raw - qcow2) if vm is offline.
otherwise we need to use online qmp block_resize
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Currently, if a storage have an infinite timeout (nfs hard option or iscsi with high timeout for failover),
and if the storage is down or is doing ha failover with dual controller
- pvestatd hang on storage_info. (So pve-manager see the host as down, and hang on differents parts, gui,rrds display)
- pvedaemon hang on differents place (storage disk list,vm_status, hardware info,...)
- I also see a lot of qemu-img info process hanging in uninterruptible sleep state with iscsi storage.
This patch add a check to see if the storage is accessible.
For nfs and iscsi : ping with a timeout of 2 second. (Maybe this can be polish with some kind of filesystem/storage read test with timeout...)
Default for other storage plugins is to check nothing. (not a problem with sheepdog,ceph,libiscsi... as commands have timeout)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>