-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Linux 6.8 compat: use splice_copy_file_range() for fallback #15931
Conversation
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available. Signed-off-by: Rob Norris <[email protected]> Sponsored-by: https://despairlabs.com/sponsor/
I take it we will have to wait for this to be backported to a 2.2.x point release for this to be officially released (or get distributions to get this added as an additional patch until that happens?) (It's working fine with my ppa, and on two local 6.8-rc6 systems that I have running.) |
@satmandu yep, once its landed I'll prepare the backport for 2.2.4. There's no particular urgency from the OpenZFS side, as 6.8 is not yet an officially-supported kernel. |
Just a friendly reminder, Linux 6.8 has been released
|
I meant, there is no particular urgency on the OpenZFS side - we currently only support up to 6.7 in official releases. |
Yes but compat patches already landed in stable releases and people are starting to use it with the recently released 6.8. Since this issue leads to data loss this is a potential bomb. I've already added a warning in the AUR and Gentoo is next. |
By the way while I can't review the patch I've already backported it in my own branch on tested it: it fixed the issue for me. |
I don't disagree in principle, but there's limits to what the OpenZFS project itself can provide, which is why there's an upper bound on the supported versions. If distribution or an individual decides to try and use OpenZFS in an unsupported configuration and it blows up, that sucks, but that's the warranty. Still, I've just posted #15986, which might at least make it clearer that you're entering the danger zone. Anyway, this patch is reviewed and approved; its just waiting to be merged. Nothing else to see. |
I think that #15986 is indeed the best solution to this issue. |
See openzfs/zfs#15931 for details
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available. Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Tony Hutter <[email protected]> Reviewed by: Brian Behlendorf <[email protected]> Signed-off-by: Rob Norris <[email protected]> Closes openzfs#15930 Closes openzfs#15931 (cherry picked from commit ef08a4d)
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available. Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Tony Hutter <[email protected]> Reviewed by: Brian Behlendorf <[email protected]> Signed-off-by: Rob Norris <[email protected]> Closes #15930 Closes #15931 (cherry picked from commit ef08a4d)
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available. Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Tony Hutter <[email protected]> Reviewed by: Brian Behlendorf <[email protected]> Signed-off-by: Rob Norris <[email protected]> Closes openzfs#15930 Closes openzfs#15931 (cherry picked from commit ef08a4d)
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available. Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Tony Hutter <[email protected]> Reviewed by: Brian Behlendorf <[email protected]> Signed-off-by: Rob Norris <[email protected]> Closes openzfs#15930 Closes openzfs#15931 (cherry picked from commit ef08a4d)
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available. Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Tony Hutter <[email protected]> Reviewed by: Brian Behlendorf <[email protected]> Signed-off-by: Rob Norris <[email protected]> Closes openzfs#15930 Closes openzfs#15931
Motivation and Context
Closes #15930.
Description
Linux 6.8 removes generic_copy_file_range(), which had been reduced to a simple wrapper around splice_copy_file_range(). Detect that function directly and use it if generic_ is not available.
How Has This Been Tested?
Run
block_cloning
tests against kernels: 6.8.0-rc3 6.7.1 6.6.15 6.4.15 5.10.170 4.9.337.6.8.0-rc3 fails without this patch, succeeds with. All others succeed without and with.
Types of changes
Checklist:
Signed-off-by
.