mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
Feature #1678: Volatile size quotas are long long in c++, change ruby fsck & migrator to use ints instead of floats
This commit is contained in:
parent
f81616c164
commit
bf25bfda13
@ -302,7 +302,7 @@ http://opennebula.org/documentation:rel4.4:upgrade
|
||||
|
||||
if ( type == "SWAP" || type == "FS")
|
||||
e.each_element("SIZE") { |size_elem|
|
||||
vol_used += size_elem.text.to_f
|
||||
vol_used += size_elem.text.to_i
|
||||
}
|
||||
end
|
||||
}
|
||||
@ -326,7 +326,7 @@ http://opennebula.org/documentation:rel4.4:upgrade
|
||||
vm_elem.add_element("VMS_USED").text = vms_used.to_s
|
||||
|
||||
vm_elem.add_element("VOLATILE_SIZE").text = vol_limit
|
||||
vm_elem.add_element("VOLATILE_SIZE_USED").text = sprintf('%.2f', vol_used)
|
||||
vm_elem.add_element("VOLATILE_SIZE_USED").text = vol_used.to_s
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1286,7 +1286,7 @@ module OneDBFsck
|
||||
cpu_used = 0.0
|
||||
mem_used = 0
|
||||
vms_used = 0
|
||||
vol_used = 0.0
|
||||
vol_used = 0
|
||||
|
||||
# VNet quotas
|
||||
vnet_usage = {}
|
||||
@ -1318,8 +1318,7 @@ module OneDBFsck
|
||||
|
||||
if ( type == "SWAP" || type == "FS")
|
||||
e.each_element("SIZE") { |size_elem|
|
||||
vol_used += size_elem.text.to_f
|
||||
vol_used = (vol_used * 100).to_i / 100.0
|
||||
vol_used += size_elem.text.to_i
|
||||
}
|
||||
end
|
||||
}
|
||||
@ -1399,17 +1398,9 @@ module OneDBFsck
|
||||
}
|
||||
|
||||
vm_elem.each_element("VOLATILE_SIZE_USED") { |e|
|
||||
# Check if the float value or the string representation mismatch,
|
||||
# but ignoring the precision
|
||||
|
||||
different = ( e.text.to_f != vol_used ||
|
||||
![sprintf('%.2f', vol_used), sprintf('%.1f', vol_used), sprintf('%.0f', vol_used)].include?(e.text) )
|
||||
|
||||
vol_used_str = sprintf('%.2f', vol_used)
|
||||
|
||||
if different
|
||||
log_error("#{resource} #{oid} quotas: VOLATILE_SIZE_USED has #{e.text} \tis\t#{vol_used_str}")
|
||||
e.text = vol_used_str
|
||||
if e.text != vol_used.to_s
|
||||
log_error("#{resource} #{oid} quotas: VOLATILE_SIZE_USED has #{e.text} \tis\t#{vol_used}")
|
||||
e.text = vol_used.to_s
|
||||
end
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user