cp: support symlinks and timestamps on WASI - #13804
Conversation
|
Worth noting that we probably want to remove the |
| // file that was distributed with this source code. | ||
| // spell-checker:ignore (ToDO) copydir fiemap ftruncate linkgs lstat nlink nlinks pathbuf pwrite reflink strs xattrs symlinked deduplicated advcpmv nushell IRWXG IRWXO IRWXU IRWXUGO IRWXU IRWXG IRWXO IRWXUGO sflag | ||
| // spell-checker:ignore RDONLY futimens utimensat | ||
| // spell-checker:ignore (ToDO) copydir ficlone fiemap filestat ftruncate linkgs lstat nlink nlinks pathbuf pwrite reflink strs utimensat xattrs symlinked deduplicated advcpmv nushell IRWXG IRWXO IRWXU IRWXUGO IRWXU IRWXG IRWXO IRWXUGO sflag |
There was a problem hiding this comment.
| // spell-checker:ignore (ToDO) copydir ficlone fiemap filestat ftruncate linkgs lstat nlink nlinks pathbuf pwrite reflink strs utimensat xattrs symlinked deduplicated advcpmv nushell IRWXG IRWXO IRWXU IRWXUGO IRWXU IRWXG IRWXO IRWXUGO sflag | |
| // spell-checker:ignore (ToDO) copydir fiemap filestat ftruncate linkgs lstat nlink nlinks pathbuf pwrite reflink strs utimensat xattrs symlinked deduplicated advcpmv nushell IRWXG IRWXO IRWXU IRWXUGO IRWXU IRWXG IRWXO IRWXUGO sflag |
part of global config
|
GNU testsuite comparison: |
Merging this PR will degrade performance by 9.42%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | cp_preserve_metadata[(5, 4, 10)] |
162.4 ms | 179.9 ms | -9.76% |
| ❌ | Simulation | cp_archive_balanced_tree[(5, 4, 10)] |
174.9 ms | 192.4 ms | -9.08% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing DePasqualeOrg:codex/wasi-cp-symlinks-timestamps (c80eae6) with main (f2c5fec)
Footnotes
-
46 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
This is ready for review.
Two existing issues were found while preparing this PR. I'm flagging them for future work, since I didn't address them here:
cp -aLcan suppress a hard-link failure for a dereferenced symlink. Two existing tests can still pass when the destination is missing because they only assert that it is not a symlink.