my $type = $param->{filesystem} // 'ext4';
$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 {
my $path = "/mnt/pve/$name";
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);
+ PVE::Diskmanage::check_unused($dev);
my $worker = sub {
PVE::Diskmanage::locked_disk_action(sub {
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 {
PVE::Diskmanage::locked_disk_action(sub {
foreach my $dev (@$devs) {
$dev = PVE::Diskmanage::verify_blockdev_path($dev);
- die "device $dev is already in use\n" if PVE::Diskmanage::disk_is_used($dev);
+ PVE::Diskmanage::check_unused($dev);
}
- my $cfg = PVE::Storage::config();
-
- if (my $scfg = PVE::Storage::storage_config($cfg, $name, 1)) {
- die "storage ID '$name' already defined\n";
- }
+ PVE::Storage::check_available($name);
my $numdisks = scalar(@$devs);
my $mindisks = {
return $res;
}
+sub check_unused {
+ my ($dev) = @_;
+
+ die "device $dev is already in use\n" if disk_is_used($dev);
+
+ return undef;
+}
+
1;
return $override;
}
+# checks if the storage id is available and dies if not
+sub check_available {
+ my ($id) = @_;
+
+ my $cfg = config();
+ if (my $scfg = storage_config($cfg, $id, 1)) {
+ die "storage ID '$id' already defined\n";
+ }
+
+ return undef;
+}
+
1;