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: 603d31685c

Signed-off-by: Adam Miller <admiller@redhat.com>
pull/34604/merge
Adam Miller 8 years ago committed by GitHub
parent 204d0f7bea
commit 2c116617de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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'] = ""

Loading…
Cancel
Save