X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=tools%2Fvirt-df;h=17aed4a2cd66b97cdf36a19b2847d1cbfb88859f;hb=9ac07ee0c28fdd75e0a7393c69374ddff3a40ac9;hp=81e17cda33024bda0e35fa763b92fc175f91813b;hpb=dda10cd9357169d5c55d9d49e270a6202971b8c0;p=libguestfs.git
diff --git a/tools/virt-df b/tools/virt-df
index 81e17cd..17aed4a 100755
--- a/tools/virt-df
+++ b/tools/virt-df
@@ -23,11 +23,13 @@ use Sys::Guestfs;
use Sys::Guestfs::Lib qw(open_guest get_partitions resolve_windows_path
inspect_all_partitions inspect_partition
inspect_operating_systems mount_operating_system inspect_in_detail);
+
use Pod::Usage;
use Getopt::Long;
use Data::Dumper;
-use File::Temp qw/tempdir/;
use XML::Writer;
+use POSIX qw(ceil);
+
use Locale::TextDomain 'libguestfs';
=encoding utf8
@@ -107,8 +109,8 @@ my $csv;
=item B<--csv>
-Write out the results in CSV format (comma-separated values). This
-format can be imported easily into databases and spreadsheets, but
+Write out the results in CSV format (comma-separated values). This format
+can be imported easily into databases and spreadsheets, but
read L below.
=cut
@@ -231,9 +233,7 @@ sub print_stat
push @cols, ($blocks-$bfree)*$factor; # total 1K blocks used
push @cols, $bavail*$factor; # total 1K blocks available
- # XXX %used column comes out different from the native 'df'
- # program. Need to check how 'df' calculates this.
- push @cols, 100.0 - 100.0 * $bavail / $blocks;
+ push @cols, 100.0 - 100.0 * $bfree / $blocks;
if ($human) {
$cols[2] = human_size ($cols[2]);
@@ -249,9 +249,7 @@ sub print_stat
push @cols, $files-$ffree;
push @cols, $ffree;
- # XXX %used column comes out different from the native 'df'
- # program. Need to check how 'df' calculates this.
- push @cols, 100.0 - 100.0 * $favail / $files;
+ push @cols, 100.0 - 100.0 * $ffree / $files;
}
print_cols (@cols);
@@ -293,7 +291,10 @@ sub print_cols
printf ("%-36s", $label);
print "\n"," "x36 if length ($label) > 36;
- my $percent = sprintf "%3.1f%%", $_[5];
+ # Use 'ceil' on the percentage in order to emulate
+ # what df itself does.
+ my $percent = sprintf "%3d%%", ceil($_[5]);
+
printf ("%10s %10s %10s %5s\n", $_[2], $_[3], $_[4], $percent);
} else {
printf ("\"%s\",\"%s\",%d,%d,%d,%.1f%%\n", @_);
@@ -349,11 +350,11 @@ L.
=head1 AUTHOR
-Richard W.M. Jones L
+Richard W.M. Jones L
=head1 COPYRIGHT
-Copyright (C) 2009 Red Hat Inc.
+Copyright (C) 2009-2010 Red Hat Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by