v1->v2: after a short talk off-list with Thomas (Thanks!), we decided to parse /proc/mounts to check if the pool is properly imported and mounted: * it catches a few corner cases (root-dataset having canmount set to off) * since zfs mount -a traverses the dataset in-order - so it should not cause a false-detection (which would have been caught by running zfs get mounted on the root-dataset only) * it is quite a bit faster * separated the cleanup from the actual patch * tried to structure the patches a bit more (feel free to squash 2/3 and 3/3)
original note for v1: rfc -> v1: * incorporated Thomas' feedback (Thanks): ** we now check both properties mounted,canmount and only run mount -a if the dataset is not mounted, but should be by config ** this prevents the code from constantly running zfs mount -a in case the system has canmount=off on the root-dataset ** however in that case, if the (child) datasets were not mounted due to a timeout, they will not get mounted (as before) Stoiko Ivanov (3): zfspoolplugin: activate_storage: minor cleanup zfspoolplugin: check if mounted instead of imported zfspoolplugin: check if imported before importing PVE/Storage/ZFSPoolPlugin.pm | 49 +++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 14 deletions(-) -- 2.20.1 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
