summaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
authorSimon Rettberg2018-03-19 16:48:53 +0100
committerSimon Rettberg2018-03-19 16:48:53 +0100
commita7d4e73493047f077a1b90f83816f2b2b60a85fd (patch)
treed1d7b3f646a6dfddc4bc3ab9ead0c3f6714550b7 /src/server
parent[SERVER] Fix int overflows on 32bit builds in CRC generation (diff)
downloaddnbd3-a7d4e73493047f077a1b90f83816f2b2b60a85fd.tar.gz
dnbd3-a7d4e73493047f077a1b90f83816f2b2b60a85fd.tar.xz
dnbd3-a7d4e73493047f077a1b90f83816f2b2b60a85fd.zip
[SERVER] image_getCompletenessEstimate: Fix reversed logic in timeout check
Diffstat (limited to 'src/server')
-rw-r--r--src/server/image.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/image.c b/src/server/image.c
index 3823a36..2b7c63b 100644
--- a/src/server/image.c
+++ b/src/server/image.c
@@ -927,6 +927,8 @@ static bool image_load(char *base, char *path, int withUplink)
image->readFd = -1;
image->cacheFd = -1;
image->working = (image->cache_map == NULL );
+ timing_get( &image->nextCompletenessEstimate );
+ image->completenessEstimate = -1;
spin_init( &image->lock, PTHREAD_PROCESS_PRIVATE );
int32_t offset;
if ( stat( path, &st ) == 0 ) {
@@ -1605,7 +1607,7 @@ int image_getCompletenessEstimate(dnbd3_image_t * const image)
assert( image != NULL );
if ( image->cache_map == NULL ) return image->working ? 100 : 0;
declare_now;
- if ( timing_reached( &image->nextCompletenessEstimate, &now ) ) {
+ if ( !timing_reached( &image->nextCompletenessEstimate, &now ) ) {
// Since this operation is relatively expensive, we cache the result for a while
return image->completenessEstimate;
}