Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

io: Copy leaves file zero bytes in Azure AKS with CIFS — Go1.15 regression [1.15 backport] #42550

Closed
gopherbot opened this issue Nov 12, 2020 · 3 comments
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link

@networkimprov requested issue #42400 to be considered for backport to the next 1.15 minor release.

@gopherbot please backport to 1.15. This is a regression which may be undetectable.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Nov 12, 2020
@gopherbot gopherbot added this to the Go1.15.6 milestone Nov 12, 2020
@gopherbot
Copy link
Author

Change https://golang.org/cl/269759 mentions this issue: [release-branch.go1.15] internal/poll: use copy_file_range only on Linux kernel >= 5.3

@dmitshur
Copy link
Contributor

Approving per discussion in a release meeting. Only Go 1.15 needs this backport.

I left a comment on the CL that should be addressed as part of code review.

@dmitshur dmitshur added CherryPickApproved Used during the release process for point releases and removed CherryPickCandidate Used during the release process for point releases labels Nov 19, 2020
@gopherbot
Copy link
Author

Closed by merging 20f50bb to release-branch.go1.15.

gopherbot pushed a commit that referenced this issue Nov 20, 2020
…nux kernel >= 5.3

https://man7.org/linux/man-pages/man2/copy_file_range.2.html#VERSIONS states:

  A major rework of the kernel implementation occurred in 5.3.  Areas
  of the API that weren't clearly defined were clarified and the API
  bounds are much more strictly checked than on earlier kernels.
  Applications should target the behaviour and requirements of 5.3
  kernels.

Rather than attempting to detect the file system for source and
destination files (which means two additional statfs syscalls) and skip
copy_file_range in case of known defects (e.g. CIFS -> CIFS), just
assume copy_file_range to be broken on kernels < 5.3.

Fixes #42550

Change-Id: I3a531296182c1d6e341772cc9d2be5bf83e52575
Reviewed-on: https://go-review.googlesource.com/c/go/+/268338
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
(cherry picked from commit 1c7650a)
Reviewed-on: https://go-review.googlesource.com/c/go/+/269759
Trust: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@golang golang locked and limited conversation to collaborators Nov 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

2 participants