[pbs-devel] [PATCH pxar/backup 0/6] bump timestamps to 96 bit

Wolfgang Bumiller w.bumiller at proxmox.com
Tue Jul 28 12:33:14 CEST 2020


So apparently modification time values of *before* Jan 1 1970 are a
thing, so here's support for that...

This bumps the `Entry` struct in pxar (meaning an API bump), and still
supports reading old archives.

Note that I've introduced a new `StatxTimestamp` struct. I chose this
name as the `statx(2)` manpage's `struct statx_timestamp` is the only
struct which actually documents the fact that only the seconds are
signed, and the nanoseconds are *positive* and *relative* to the
seconds, iow. a timestamp of "-3.5 seconds" is represented as "-4
seconds, plus 500_000_000 nanoseconds". (The only other time I found
this to be explicitly mentioned is in the `chrono` crate's
`TimeZone::timestamp` method which explicitly creates a "DateTime from
the number of non-leap seconds since (...) 1970 (...) and the number of
nanoseconds since the last whole non-leap second.".

Wolfgang Bumiller (6):
 pxar:
  add format description to format module
  introduce StatxTimestamp helper type
  update mk-format-hashes for a new ENTRY
  implement Entry v2
  add entry v1 compatiblity test
  bump version to 0.3.0-1

 Cargo.toml                   |   2 +-
 debian/changelog             |   8 ++
 examples/mk-format-hashes.rs |  11 ++-
 src/decoder/mod.rs           |  21 +++-
 src/errors.rs                |  25 -----
 src/format/mod.rs            | 179 ++++++++++++++++++++++++++++++++---
 src/lib.rs                   |  28 +++---
 tests/compat.rs              | 136 ++++++++++++++++++++++++++
 8 files changed, 353 insertions(+), 57 deletions(-)
 delete mode 100644 src/errors.rs
 create mode 100644 tests/compat.rs

 backup:
  update to pxar 0.3 to support negative timestamps

-- 
2.20.1






More information about the pbs-devel mailing list