$dev = PVE::Diskmanage::verify_blockdev_path($dev);
PVE::Diskmanage::assert_disk_unused($dev);
- PVE::Storage::assert_sid_unused($name) if $param->{add_storage};
+
+ my $storage_params = {
+ type => 'lvm',
+ vgname => $name,
+ storage => $name,
+ content => 'rootdir,images',
+ shared => 0,
+ nodes => $node,
+ };
+ my $verify_params = [qw(vgname)];
+
+ if ($param->{add_storage}) {
+ PVE::API2::Storage::Config->create_or_update(
+ $name,
+ $node,
+ $storage_params,
+ $verify_params,
+ 1,
+ );
+ }
my $worker = sub {
PVE::Diskmanage::locked_disk_action(sub {
PVE::Diskmanage::udevadm_trigger($dev);
if ($param->{add_storage}) {
- my $storage_params = {
- type => 'lvm',
- vgname => $name,
- storage => $name,
- content => 'rootdir,images',
- shared => 0,
- nodes => $node,
- };
-
- PVE::API2::Storage::Config->create($storage_params);
+ PVE::API2::Storage::Config->create_or_update(
+ $name,
+ $node,
+ $storage_params,
+ $verify_params,
+ );
}
});
};