diff --git a/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb b/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb index c5a390afd1..6d9cb78ade 100644 --- a/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb +++ b/src/vmm_mad/remotes/lib/lxd/mapper/mapper.rb @@ -542,4 +542,10 @@ class Mapper fstype end + # Ensures the update of the partition table + def update_partable(dev) + cmd = "#{COMMANDS[:mount]} --fake #{dev} /mnt" + Command.execute(cmd, false) + end + end diff --git a/src/vmm_mad/remotes/lib/lxd/mapper/qcow2.rb b/src/vmm_mad/remotes/lib/lxd/mapper/qcow2.rb index 51e4dc7aba..1587710b33 100644 --- a/src/vmm_mad/remotes/lib/lxd/mapper/qcow2.rb +++ b/src/vmm_mad/remotes/lib/lxd/mapper/qcow2.rb @@ -42,9 +42,7 @@ class Qcow2Mapper < Mapper return end - # TODO: improve wait condition - sleep 1 # wait for parts to come out - + update_partable(device) show_parts(device) unless parts_on?(device) device diff --git a/src/vmm_mad/remotes/lib/lxd/mapper/rbd.rb b/src/vmm_mad/remotes/lib/lxd/mapper/rbd.rb index 5689110cbb..30ceea213d 100644 --- a/src/vmm_mad/remotes/lib/lxd/mapper/rbd.rb +++ b/src/vmm_mad/remotes/lib/lxd/mapper/rbd.rb @@ -41,11 +41,8 @@ class RBDMapper < Mapper return end - # TODO: improve wait condition - sleep 1 # wait for partition table - device = out.chomp - try_mount(device) + update_partable(device) device end @@ -60,13 +57,4 @@ class RBDMapper < Mapper nil end - private - - # This function tries to mount mapped devices to force update of partition - # tables - def try_mount(dev) - cmd = "#{COMMANDS[:mount]} --fake #{dev} /mnt" - Command.execute(cmd, false) - end - end