Fix to properly display used space (consider reserved)

This commit is contained in:
iliajie
2023-03-02 21:24:49 +02:00
parent 6e2ab1c2fb
commit 550aa7593b
5 changed files with 26 additions and 16 deletions

View File

@@ -905,8 +905,8 @@ if ($_[0] eq "proc" || $_[0] eq "swap" ||
&clean_language();
local $out = &backquote_command("df -k ".quotemeta($_[1]), 1);
&reset_environment();
if ($out =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/) {
return ($1, $2);
if ($out =~ /Mounted on\n\S+\s+(?<total>\S+)\s+(?<used>\S+)\s+(?<free>\S+)\s+(?<percent>\d+)/) {
return ("$+{total}", "$+{free}", "$+{used}", "$+{percent}");
}
return ( );
}
@@ -919,8 +919,8 @@ if (&get_mounted($_[1], "*") < 0) { return (); }
&clean_language();
local $out = &backquote_command("df -i $_[1]", 1);
&reset_environment();
if ($out =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/) {
return ($1, $2);
if ($out =~ /Mounted on\n\S+\s+(?<total>\S+)\s+(?<used>\S+)\s+(?<free>\S+)\s+(?<percent>\d+)/) {
return ("$+{total}", "$+{free}", "$+{used}", "$+{percent}");
}
return ( );
}

View File

@@ -365,7 +365,7 @@ foreach my $m (@mounted) {
($t, $f) = @$zp;
}
else {
($t, $f) = &disk_space($m->[2], $m->[0]);
($t, $f, $u, $p) = &disk_space($m->[2], $m->[0]);
}
if (($m->[2] eq "simfs" || $m->[2] eq "vzfs" ||
$m->[0] eq "/dev/vzfs" ||
@@ -378,12 +378,16 @@ foreach my $m (@mounted) {
$free += $f*1024;
my ($it, $if);
if (defined(&inode_space)) {
($it, $if) = &inode_space($m->[2], $m->[0]);
($it, $if, $iu, $ip) = &inode_space($m->[2], $m->[0]);
}
push(@fs, { 'total' => $t*1024,
'free' => $f*1024,
'used' => $u*1024,
'used_percent' => $p,
'itotal' => $it,
'ifree' => $if,
'iused' => $iu,
'iused_percent' => $ip,
'dir' => $m->[0],
'device' => $m->[1],
'type' => $m->[2] });

View File

@@ -32,9 +32,9 @@ sub list_system_info
my $total_nice = &nice_size($total);
my $free = $disk->{'free'};
my $ifree = $disk->{'ifree'};
my $used = &nice_size($disk->{'total'} - $disk->{'free'});
my $free_nice = &nice_size($disk->{'free'});
my $free_percent = 100 - int(($total - $free) / $total * 100);
my $used_nice = &nice_size($disk->{'used'} // $total - $free);
my $free_nice = &nice_size($free);
my $free_percent = 100 - ($disk->{'used_percent'} // int(($total - $free) / $total * 100));
my $free_percent_html;
# Inodes percent
@@ -67,11 +67,11 @@ sub list_system_info
if ($itotal) {
$ifree_percent_html = "<span><br>".$ifree_percent_html." ($ifree inodes)</span>";
$itotal_full = "<span><br>$itotal inodes</span>";
$iused = "<span><br>@{[$disk->{'itotal'} - $disk->{'ifree'}]} inodes</span>";
$iused = "<span><br>@{[$disk->{'iused'} // $disk->{'itotal'} - $disk->{'ifree'}]} inodes</span>";
}
$html .= &ui_columns_row([$dir, $type,
$free_percent_html . " ($free_nice)$ifree_percent_html",
"$used$iused",
"$used_nice$iused",
"$total_nice$itotal_full", $dev_id,]);
}
}