Skip to content

get rid of bigint stuff #2323

@ThomasWaldmann

Description

@ThomasWaldmann

When we do incompatible archive and "files" cache changes anyway (and archives need to be converted, cache to be rebuilt), it will be a good time to also remove these functions:

  • int_to_bigint
  • bigint_to_int

They exist to (de)serialize integers bigger than 63 bits (although "bigger than 64bits" would have been better, msgpack can serialize unsigned 64bit ints, but not more, thus bigint uses a bytestring for longer ints).

We have msgpacked timestamps on disk in the archives and also in the "files" cache.

Likely, the reason for the existance of the bigint functions are broken timestamps on NTFS that can result in bigger-than-64bit mtime_ns values.

We needed clamping for other reasons also, so a bit later safe_s / safe_ns functions were introduced that just clamp seconds / nanoseconds into the unproblematic range (64bit uint). These must stay.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions