|
Bugzilla – Full Text Bug Listing |
| Summary: | xosview shows wrong swapspace size | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE Linux 10.1 | Reporter: | Olaf Dabrunz <odabrunz> |
| Component: | X11 Applications | Assignee: | Dr. Werner Fink <werner> |
| Status: | RESOLVED FIXED | QA Contact: | Stefan Dirsch <sndirsch> |
| Severity: | Normal | ||
| Priority: | P5 - None | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | SuSE Linux 10.0 | ||
| Whiteboard: | |||
| Found By: | Development | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
Submitted the above patch to STABLE. |
I have 7 GB swapspace, but the graph in xosview show only about 3GB. The swapspace calculation in linux/swapmeter.cc overflows, because it is done in integer. I tested the following fix: --- linux/swapmeter.cc.orig 2005-11-11 12:45:56.000000000 +0100 +++ linux/swapmeter.cc 2005-11-27 02:10:35.000000000 +0100 @@ -64,9 +64,9 @@ void SwapMeter::getswapinfo( void ){ unit = (sinfo.mem_unit ? sinfo.mem_unit : 1); - total_ = sinfo.totalswap * unit; - fields_[0] = (sinfo.totalswap - sinfo.freeswap) * unit; - fields_[1] = sinfo.freeswap * unit; + total_ = 1.0 * sinfo.totalswap * unit; + fields_[0] = 1.0 * (sinfo.totalswap - sinfo.freeswap) * unit; + fields_[1] = 1.0 * sinfo.freeswap * unit; if ( total_ == 0 ){ total_ = 1;