diskmanage: add helper for udev workaround
to avoid duplication. Current callers pass along at least one device, but anticipate future callers that might call with the empty list. Do nothing in that case, rather than triggering everything. Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
committed by
Fabian Grünbichler
parent
a83d8eb178
commit
26082b7daf
@ -306,12 +306,7 @@ __PACKAGE__->register_method ({
|
||||
|
||||
my $worker = sub {
|
||||
PVE::Diskmanage::wipe_blockdev($disk);
|
||||
|
||||
# FIXME: Remove once we depend on systemd >= v249.
|
||||
# Work around udev bug https://github.com/systemd/systemd/issues/18525 to ensure the
|
||||
# udev database is updated.
|
||||
eval { run_command(['udevadm', 'trigger', $disk]); };
|
||||
warn $@ if $@;
|
||||
PVE::Diskmanage::udevadm_trigger($disk);
|
||||
};
|
||||
|
||||
my $basename = basename($disk); # avoid '/' in the ID
|
||||
|
||||
@ -275,11 +275,7 @@ __PACKAGE__->register_method ({
|
||||
|
||||
$write_ini->($ini, $mountunitpath);
|
||||
|
||||
# FIXME: Remove once we depend on systemd >= v249.
|
||||
# Work around udev bug https://github.com/systemd/systemd/issues/18525 to ensure the
|
||||
# udev database is updated and the $uuid_path symlink is actually created!
|
||||
eval { run_command(['udevadm', 'trigger', $part]); };
|
||||
warn $@ if $@;
|
||||
PVE::Diskmanage::udevadm_trigger($part);
|
||||
|
||||
run_command(['systemctl', 'daemon-reload']);
|
||||
run_command(['systemctl', 'enable', $mountunitname]);
|
||||
|
||||
@ -163,11 +163,7 @@ __PACKAGE__->register_method ({
|
||||
|
||||
PVE::Storage::LVMPlugin::lvm_create_volume_group($dev, $name);
|
||||
|
||||
# FIXME: Remove once we depend on systemd >= v249.
|
||||
# Work around udev bug https://github.com/systemd/systemd/issues/18525 to ensure the
|
||||
# udev database is updated.
|
||||
eval { run_command(['udevadm', 'trigger', $dev]); };
|
||||
warn $@ if $@;
|
||||
PVE::Diskmanage::udevadm_trigger($dev);
|
||||
|
||||
if ($param->{add_storage}) {
|
||||
my $storage_params = {
|
||||
|
||||
@ -141,11 +141,7 @@ __PACKAGE__->register_method ({
|
||||
$name
|
||||
]);
|
||||
|
||||
# FIXME: Remove once we depend on systemd >= v249.
|
||||
# Work around udev bug https://github.com/systemd/systemd/issues/18525 to ensure the
|
||||
# udev database is updated.
|
||||
eval { run_command(['udevadm', 'trigger', $dev]); };
|
||||
warn $@ if $@;
|
||||
PVE::Diskmanage::udevadm_trigger($dev);
|
||||
|
||||
if ($param->{add_storage}) {
|
||||
my $storage_params = {
|
||||
|
||||
@ -426,11 +426,7 @@ __PACKAGE__->register_method ({
|
||||
run_command($cmd);
|
||||
}
|
||||
|
||||
# FIXME: Remove once we depend on systemd >= v249.
|
||||
# Work around udev bug https://github.com/systemd/systemd/issues/18525 to ensure the
|
||||
# udev database is updated.
|
||||
eval { run_command(['udevadm', 'trigger', $devs->@*]); };
|
||||
warn $@ if $@;
|
||||
PVE::Diskmanage::udevadm_trigger($devs->@*);
|
||||
|
||||
if ($param->{add_storage}) {
|
||||
my $storage_params = {
|
||||
|
||||
@ -966,4 +966,15 @@ sub wipe_blockdev {
|
||||
}
|
||||
}
|
||||
|
||||
# FIXME: Remove once we depend on systemd >= v249.
|
||||
# Work around udev bug https://github.com/systemd/systemd/issues/18525 ensuring database is updated.
|
||||
sub udevadm_trigger {
|
||||
my @devs = @_;
|
||||
|
||||
return if scalar(@devs) == 0;
|
||||
|
||||
eval { run_command(['udevadm', 'trigger', @devs]); };
|
||||
warn $@ if $@;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
Reference in New Issue
Block a user