From 7cd51d36c05a66555b07a7fa850b21686ded2e1a Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 27 Jan 2017 14:26:07 +0100 Subject: lsparts: fix reporting half sizes The issue is that lsparts is relying on fs::proc_partitions::read_raw(), which reads /proc/partition which reports size of devices in 1kb blocks instead of expected 512b sectors elsewhere... The size is adjusted by *2 in read() but lsparts only used the lower level interface. This bug was introduced in commit 20e553d8f0ead3d5de1fb61d1aa255dd35549cf2 --- rescue/NEWS | 2 ++ rescue/bin/lsparts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rescue/NEWS b/rescue/NEWS index 07d4225bc..d85502b05 100644 --- a/rescue/NEWS +++ b/rescue/NEWS @@ -1,3 +1,5 @@ +- lsparts: fix reporting half sizes + Version 1.54 - 20 June 2016 by Thierry Vignaud - do not run shells uselessly diff --git a/rescue/bin/lsparts b/rescue/bin/lsparts index cba9c6cb8..72f1c4cee 100755 --- a/rescue/bin/lsparts +++ b/rescue/bin/lsparts @@ -40,7 +40,7 @@ foreach (fs::proc_partitions::read_raw()) { $_->{device} = $_->{dev}; local $::isStandalone = 1; # silent run_program if (my $type = fs::type::type_subpart_from_magic($_)) { - printf "$_->{dev}: %6s, fs %s (%s) [%s]\n", formatXiB($_->{size} * 512), $type->{fs_type}, fs::type::part2type_name($type), $type->{device_LABEL}; + printf "$_->{dev}: %6s, fs %s (%s) [%s] (%s sectors)\n", formatXiB($_->{size} * 1024), $type->{fs_type}, fs::type::part2type_name($type), $type->{device_LABEL}, $_->{size}; } } } -- cgit v1.2.1