code: func sameFsTime(a, b time.Time) bool {
  	return a.Equal(b) ||
  		(a.Unix() == b.Unix() &&
  			(a.Nanosecond() == 0 || b.Nanosecond() == 0))
  }
docs: // Gnu tar doesn't have sub-second mtime precision. The go tar
  // writer (1.10+) does when using PAX format, but we round times to seconds
  // to ensure archives have the same hashes for backwards compatibility.
  // See https://github.com/moby/moby/pull/35739/commits/fb170206ba12752214630b269a40ac7be6115ed4.
  //
  // Non-sub-second is problematic when we apply changes via tar
  // files. We handle this by comparing for exact times, *or* same
  // second count and either a or b having exactly 0 nanoseconds