From 2c116617def139c52b6dfc7ef015a4e90d97d6bc Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Wed, 10 Jan 2018 06:27:22 -0800 Subject: Fix Linux blockdevice size computation (#34645) Linux' sysfs _always_ reports device size in 512b sector units, regardless of the device's actual, physical blocksize. Backport of PR#34475 originally written by jtru Original Commit ID: 603d31685c01caa62db137d8aab1a54180e3373d Signed-off-by: Adam Miller --- lib/ansible/module_utils/facts.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py index 375fa15e94..e62f31a3b8 100644 --- a/lib/ansible/module_utils/facts.py +++ b/lib/ansible/module_utils/facts.py @@ -1482,7 +1482,7 @@ class LinuxHardware(Hardware): part['sectorsize'] = get_file_content(part_sysdir + "/queue/logical_block_size") if not part['sectorsize']: part['sectorsize'] = get_file_content(part_sysdir + "/queue/hw_sector_size",512) - part['size'] = self.module.pretty_bytes((float(part['sectors']) * float(part['sectorsize']))) + part['size'] = self.module.pretty_bytes((float(part['sectors']) * 512.0)) part['uuid'] = get_partition_uuid(partname) self.get_holders(part, part_sysdir) @@ -1502,7 +1502,7 @@ class LinuxHardware(Hardware): d['sectorsize'] = get_file_content(sysdir + "/queue/logical_block_size") if not d['sectorsize']: d['sectorsize'] = get_file_content(sysdir + "/queue/hw_sector_size",512) - d['size'] = self.module.pretty_bytes(float(d['sectors']) * float(d['sectorsize'])) + d['size'] = self.module.pretty_bytes(float(d['sectors']) * 512.0) d['host'] = "" -- cgit v1.2.1