cephfs: make is_mounted check less strict
checking '$server:$subdir' is too strict to work in all cirumcstances, e.g. adding/removing a monitor would mean that it is not the same anymore, same if one is adding/removing the ports from the config check only if the subdir is the same and if it is a cephfs this way, it still returns true if someone changes the config Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
35ccd3d004
commit
82881c5f9e
@ -20,16 +20,14 @@ sub cephfs_is_mounted {
|
||||
|
||||
my $cmd_option = PVE::CephConfig::ceph_connect_option($scfg, $storeid);
|
||||
my $configfile = $cmd_option->{ceph_conf};
|
||||
my $server = $cmd_option->{mon_host} // PVE::CephConfig::get_monaddr_list($configfile);
|
||||
|
||||
my $subdir = $scfg->{subdir} // '/';
|
||||
my $mountpoint = $scfg->{path};
|
||||
my $source = "$server:$subdir";
|
||||
|
||||
$mountdata = PVE::ProcFSTools::parse_proc_mounts() if !$mountdata;
|
||||
return $mountpoint if grep {
|
||||
$_->[2] =~ m#^ceph|fuse\.ceph-fuse# &&
|
||||
$_->[0] =~ m#^\Q$source\E|ceph-fuse$# &&
|
||||
$_->[0] =~ m#\Q:$subdir\E$|^ceph-fuse$# &&
|
||||
$_->[1] eq $mountpoint
|
||||
} @$mountdata;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user