[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.11] util/stats64: Fix min/max comparisons
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH for-2.11] util/stats64: Fix min/max comparisons |
Date: |
Tue, 14 Nov 2017 18:56:35 -0500 (EST) |
----- Max Reitz <address@hidden> ha scritto:
> stat64_min_slow() and stat64_max_slow() compare the wrong way. This
> makes iotest 136 fail with clang and -m32.
Queued, thanks.
Cc: address@hidden
Paolo
> Signed-off-by: Max Reitz <address@hidden>
> ---
> util/stats64.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/util/stats64.c b/util/stats64.c
> index 9968fcceac..389c365a9e 100644
> --- a/util/stats64.c
> +++ b/util/stats64.c
> @@ -91,7 +91,7 @@ bool stat64_min_slow(Stat64 *s, uint64_t value)
> low = atomic_read(&s->low);
>
> orig = ((uint64_t)high << 32) | low;
> - if (orig < value) {
> + if (value < orig) {
> /* We have to set low before high, just like stat64_min reads
> * high before low. The value may become higher temporarily, but
> * stat64_get does not notice (it takes the lock) and the only ill
> @@ -120,7 +120,7 @@ bool stat64_max_slow(Stat64 *s, uint64_t value)
> low = atomic_read(&s->low);
>
> orig = ((uint64_t)high << 32) | low;
> - if (orig > value) {
> + if (value > orig) {
> /* We have to set low before high, just like stat64_max reads
> * high before low. The value may become lower temporarily, but
> * stat64_get does not notice (it takes the lock) and the only ill
> --
> 2.13.6
>