Revision ae73232...

Go back to digest for 25th December 2011

Bug Fixes in Utilities

Martin Tobias Holmedahl Sandsmark committed changes in [filelight] /part:

fix wrap-around with partitions over 4 TB by using a 64-bit counter

Filelight uses a divide-by-1024 trick to fit sizes over 4 GB into a
quint32. However, the current code will wrap around again at 4 TB.

Simply switch to quint64 and drop the use of divide-by-1024 trick to get
rid of the 4 TB wrap-around.

The performance penalty on a 32-bit system seems immeasurable. On a
filesystem with 1500000 files (13 TB) the process user time is only 1..5
seconds on i7-960, with quint32/64 having no effect. Most of the
wallclock time (20..500 sec in the above case, depending on cache
state) is spent waiting for I/O anyway.

Note that on 32-bit systems files over 2 GB are still completely ignored
unless built with large file support.

Signed-off-by: Martin T. H. Sandsmark

File Changes

Modified 5 files
  • /part
  •   src/fileTree.cpp
  •   src/fileTree.h
  •   src/localLister.cpp
  •   src/remoteLister.cpp
  •   src/summaryWidget.cpp
5 files changed in total