Uh oh!
There was an error while loading. Please reload this page.
[beta] always disable copy_file_range to avoid EOVERFLOW errors - #79008
Conversation
rust-highfive
commented
Nov 12, 2020
(rust_highfive has picked a reviewer for you, use r? to override) |
rust-highfive
commented
Nov 12, 2020
|
Mark-Simulacrum
commented
Nov 12, 2020
This is going to just be a (possible) performance hit, right? Do we have numbers on it (perhaps from a past PR)? I am wondering basically if the fix here is worth the performance loss; maybe we should gate the disable on e.g. mips or something like that. cc @pietroalbini this or #79007 will likely want to land into 1.48 |
the8472
commented
Nov 12, 2020
It's not just performance. copy_file_range can also save disk space if you're on btrfs or xfs by creating reflink copies, That might also be relevant for anything running in certain container setups. As for the performance numbers: |
Mark-Simulacrum
commented
Nov 14, 2020
Ok, the performance impact is not too big and this is the most minimal patch, so I think it's the right thing to backport to 1.48 and 1.49 (once that branches). @bors r+ rollup=never p=1 |
bors
commented
Nov 14, 2020
📌 Commit d19e2de has been approved by |
I find this statement a bit confusing when looking at the results. That said it's not a regression/performance degradation but an optimisation delayed by few more weeks (with proper reason) so the decision is understandable. |
Mark-Simulacrum
commented
Nov 14, 2020
Yes, and ultimately (AFAIK) use of such file systems is somewhat unusual, though not entirely unexpected. I also somewhat expect that the specialization here is likely not used by cases where it is absolutely critical to get this behavior - those likely want to call the relevant APIs directly. Once we get more assurance that this all works and roll it out for a while we may provide more guarantees here |
bors
commented
Nov 15, 2020
⌛ Testing commit d19e2de with merge a238a370d9a199d57826b528681c572fa0929f03... |
bors
commented
Nov 15, 2020
💔 Test failed - checks-actions |
Mark-Simulacrum
commented
Nov 15, 2020
@bors retry spurious apple lldb error |
bors
commented
Nov 15, 2020
bors
commented
Nov 15, 2020
☀️ Test successful - checks-actions |
Mark-Simulacrum
commented
Nov 17, 2020
beta-nominating & accepting this for backport (really forward port) to 1.49, which has just branched. |
the8472
commented
Nov 17, 2020
Do you need a separate PR for that? |
Mark-Simulacrum
commented
Nov 17, 2020
No, I will pick it up as a part of regular beta backports, likely sometime in the next week or two. |
…ulacrum [beta] backports * [beta] always disable copy_file_range to avoid EOVERFLOW errors rust-lang#79008 * Enforce no-move rule of ReentrantMutex using Pin and fix UB in stdio rust-lang#77801 * bootstrap: use the same version number for rustc and cargo rust-lang#79133 * [beta] Revert "Enable ASLR for windows-gnu" rust-lang#79141 * [beta] revert rust-lang#78790, vendor libtest for rustc-src rust-lang#79571 * Mirror centos vault to S3 rust-lang#79435 * [beta] Update cargo rust-lang#79739 This also bumps to non-dev stable compiler. r? `@ghost`
A bigger hammer as alternative to #79007
Pro: will certainly fix the issue
Cons: will disable copy_file_range for everyone
Resolves#78979