]> git.proxmox.com Git - pve-storage.git/blobdiff - PVE/API2/Disks/LVMThin.pm
diskmanage: rename check_unused to assert_disk_unused
[pve-storage.git] / PVE / API2 / Disks / LVMThin.pm
index f776c3cf6d59f114433245dd73836f83d9a13587..23c027909512e34d9b1881e1acc7835d307cec81 100644 (file)
@@ -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::assert_disk_unused($dev);
+       PVE::Storage::assert_sid_unused($name) if $param->{add_storage};
 
        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);