Hello community,
here is the log from the commit of package procps for openSUSE:Factory
checked in at Sat Aug 29 01:09:22 CEST 2009.
--------
--- procps/procps.changes 2009-08-13 11:27:26.000000000 +0200
+++ procps/procps.changes 2009-08-24 13:37:28.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Aug 19 14:45:52 CEST 2009 - werner(a)suse.de
+
+- Be aware that on XEN and VMware systems Div can become zero (bnc#529981)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
procps-3.2.6-xen.dif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ procps.spec ++++++
--- /var/tmp/diff_new_pack.IRujUE/_old 2009-08-29 01:08:26.000000000 +0200
+++ /var/tmp/diff_new_pack.IRujUE/_new 2009-08-29 01:08:26.000000000 +0200
@@ -27,7 +27,7 @@
PreReq: %fillup_prereq %insserv_prereq
AutoReqProv: on
Version: 3.2.8
-Release: 3
+Release: 4
Summary: ps utilities for /proc
Provides: ps
Obsoletes: ps
@@ -61,6 +61,7 @@
Patch25: procps-3.2.7-cgroups_flag.diff
Patch26: procps-3.2.8-pgrep_coption.dif
Patch27: procps-3.2.7-terabyte.dif
+Patch28: procps-3.2.6-xen.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -116,6 +117,7 @@
%patch25 -p1
%patch26
%patch27
+%patch28
%build
make CFLAGS="-Wall -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS -pipe" \
++++++ procps-3.2.6-xen.dif ++++++
--- vmstat.c
+++ vmstat.c 2009-08-19 12:37:57.000000000 +0000
@@ -184,7 +184,7 @@ static void new_format(void) {
unsigned int intr[2], ctxt[2];
unsigned int sleep_half;
unsigned long kb_per_page = sysconf(_SC_PAGESIZE) / 1024ul;
- int debt = 0; // handle idle ticks running backwards
+ long long debt = 0; // handle idle ticks running backwards
sleep_half=(sleep_time/2);
new_header();
@@ -203,6 +203,8 @@ static void new_format(void) {
dstl= *cpu_zzz;
Div= duse+dsys+didl+diow+dstl;
divo2= Div/2UL;
+ if (Div == 0)
+ Div++;
printf(format,
running, blocked,
unitConvert(kb_swap_used), unitConvert(kb_main_free),
@@ -242,16 +244,18 @@ static void new_format(void) {
/* idle can run backwards for a moment -- kernel "feature" */
if(debt){
- didl = (int)didl + debt;
- debt = 0;
+ didl = (long long)didl + debt;
+ debt = 0LL;
}
- if( (int)didl < 0 ){
- debt = (int)didl;
- didl = 0;
+ if((long long)didl < 0){
+ debt = (long long)didl;
+ didl = 0ULL;
}
Div= duse+dsys+didl+diow+dstl;
divo2= Div/2UL;
+ if (Div == 0)
+ continue;
printf(format,
running, blocked,
unitConvert(kb_swap_used),unitConvert(kb_main_free),
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org