[pve-devel] [PATCH storage v2 0/3] zfspoolplugin: check if mounted instead of imported

Stoiko Ivanov s.ivanov at proxmox.com
Fri Feb 19 13:45:41 CET 2021

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(-)


More information about the pve-devel mailing list