1. 4

…because node/js implicitly stores ino values as a double instead of 64 bit int and the former gets rounded to the nearest double.

N.B. You’ll rarely encounter this issue in development because it’s unlikely that two of them will round to the same value. However as you get more file churn in production, you will encounter it and silently do bad things.

(This was submitted here 2 months ago, but the issue is still open. I figured anyone unlucky enough to run node in production might want another notice and the rest of you guys can grab some popcorn)

  1.  

  2. 2

    They’re being a bit cavalier about this. Transmuting the value is almost never what you want, especially from the perspective of a platform. Better to just encode it in something slightly annoying but still lossless.