X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=PVE%2FAPI2%2FDisks%2FLVMThin.pm;h=62d3b61ef42d3fa39e0fe6bb108bbf0ba4d10297;hb=76c1e57be7c8495586e38205611290db049896e0;hp=f776c3cf6d59f114433245dd73836f83d9a13587;hpb=5e35281da2bf246057543a64b49c8a6e5204922d;p=pve-storage.git diff --git a/PVE/API2/Disks/LVMThin.pm b/PVE/API2/Disks/LVMThin.pm index f776c3c..62d3b61 100644 --- a/PVE/API2/Disks/LVMThin.pm +++ b/PVE/API2/Disks/LVMThin.pm @@ -103,16 +103,11 @@ __PACKAGE__->register_method ({ my $node = $param->{node}; $dev = PVE::Diskmanage::verify_blockdev_path($dev); - die "device $dev is already in use\n" if PVE::Diskmanage::disk_is_used($dev); - - my $cfg = PVE::Storage::config(); - - if (my $scfg = PVE::Storage::storage_config($cfg, $name, 1)) { - die "storage ID '$name' already defined\n"; - } + PVE::Diskmanage::check_unused($dev); + PVE::Storage::check_available($name); my $worker = sub { - lock_file('/run/lock/pve-diskmanage.lck', undef, sub { + PVE::Diskmanage::locked_disk_action(sub { PVE::Storage::LVMPlugin::lvm_create_volume_group($dev, $name); # create thinpool with size 100%, let lvm handle the metadata size @@ -131,8 +126,6 @@ __PACKAGE__->register_method ({ PVE::API2::Storage::Config->create($storage_params); } }); - - die $@ if $@; }; return $rpcenv->fork_worker('lvmthincreate', $name, $user, $worker);