On Thu May 16 09:48:45 2024 Philip Guenther wrote:
> So yeah, what's needed is pathconfat(2)** but whether this winding loose
> end ("That poor yak.") merits that much code and surface is yet to be
> examined deeply.
>
> Philip Guenther
>
>
> ** or lpathconf(2), but pathconfat(2) is better
>

I read what you posted here:

  https://austingroupbugs.net/view.php?id=1831

In the footnote you wrote:

  "(This was encountered when trying to fix a pax implementation's
  handling of timestamp comparison for -u when the target filesystem had
  courser resolution that the source filesystem by using
  pathconf(_PC_TIMESTAMP_RESOLUTION) on the target path to handle the
  loss of high-precision time info...but the symlink pointed to a
  location with high-precision timestamps so it couldn't know to round
  the times when doing the comparison...)"


I did one more experiment.  I removed the offending soft link from my
hard disk, then I copied the backed-up version of the soft link from the
ext2 drive back to my system tree.  Now pax (with your patches) doesn't
insist in re-updating the file, *even after updating the file with
touch(1)*.

The soft link *still* points to a location with high-precision
timestampts, but pax does the right job.

Intuitively this suggests me that there is something more that mtime
precision in this misunderstanding between OpenBSD and ext2 file
systems.  If I copy files using pax from Linux (another *BSD* version of
pax) to that same ext2 drive it works as expected.


  Walter


P.S.: I'm courious about the following.  After running the stat command
here and there, I found *many* files showing that lack of mtime
granularity spread throughout all my system tree (as a side note: this
doesn't happen with their ctime and atime.)

Reply via email to