On 24.06.21 10:45, Wolfgang Bumiller wrote: > Signed-off-by: Wolfgang Bumiller <w.bumil...@proxmox.com> > --- > Changes to v1: > * Fabian's feedback: > * removed on_add_hook since activate_storage is called anyway > * moved btrfs check to after the DirPlugin checks > > PVE/Storage/BTRFSPlugin.pm | 24 +++++++++++++++++++++++- > 1 file changed, 23 insertions(+), 1 deletion(-) > >
applied, thanks! I made a follow-up on top to avoid leaving over sub-directories form the DirPlugin::activate_storage call in the case that assert_btrfs fails. ----8<---- diff --git a/PVE/Storage/BTRFSPlugin.pm b/PVE/Storage/BTRFSPlugin.pm index dc5894a..5360dca 100644 --- a/PVE/Storage/BTRFSPlugin.pm +++ b/PVE/Storage/BTRFSPlugin.pm @@ -112,8 +112,21 @@ my sub assert_btrfs($) { sub activate_storage { my ($class, $storeid, $scfg, $cache) = @_; - PVE::Storage::DirPlugin::activate_storage($class, $storeid, $scfg, $cache); - assert_btrfs($scfg->{path}); + + my $path = $scfg->{path}; + if (!defined($scfg->{mkdir}) || $scfg->{mkdir}) { + mkpath $path; + } + + my $mp = PVE::Storage::DirPlugin::parse_is_mountpoint($scfg); + if (defined($mp) && !path_is_mounted($mp, $cache->{mountdata})) { + die "unable to activate storage '$storeid' - directory is expected to be a mount point but" + ." is not mounted: '$mp'\n"; + } + + assert_btrfs($path); # only assert this stuff now, ensures $path is there and better UX + + $class->SUPER::activate_storage($storeid, $scfg, $cache); } sub status { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel