Hi,

In *mapper.c*  file of Ceph CRUSH, I am trying to understand the definition
of a linux macro  ```*S64_MIN*``` used in the  following  ```*else*```
condition i.e. ```*draw = S64_MIN*```.

Which exact decimal value is meant here for ```*S64_MIN*```?

```
if (weights[i])
          {
u = hash(bucket->h.hash, x, ids[i], r);
u &= 0xffff;
ln = crush_ln(u) - 0x1000000000000ll;

__s64 draw = div64_s64(ln, weights[i]);
}
else
       {
__s64 draw = S64_MIN;

          // #define S64_MAX    ((s64)(U64_MAX >> 1))
          // #define S64_MIN ((s64)(-S64_MAX -1))
  }
if (i == 0 || draw > high_draw)

          {
high = i;
high_draw = draw;
 }
}
return bucket->h.items[high];
}


Thanks

Bobby !
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to