diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-06-28 09:39:21 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-06-28 09:39:21 +0200 |
commit | 5a659ccc0ec217ab02a4c273a1f6d346a359560a (patch) | |
tree | f82ef13a75f14209cbc97ecee79336d8bb4df37c /ChangeLog | |
parent | 1626f499d159f17d5d99dc41497b52074f3850df (diff) | |
download | glibc-5a659ccc0ec217ab02a4c273a1f6d346a359560a.tar.gz glibc-5a659ccc0ec217ab02a4c273a1f6d346a359560a.tar.xz glibc-5a659ccc0ec217ab02a4c273a1f6d346a359560a.zip |
io: Remove copy_file_range emulation [BZ #24744]
The kernel is evolving this interface (e.g., removal of the restriction on cross-device copies), and keeping up with that is difficult. Applications which need the function should run kernels which support the system call instead of relying on the imperfect glibc emulation. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 24057036a4..a354988151 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,45 @@ +2019-06-28 Florian Weimer <fweimer@redhat.com> + + [BZ #24744] + io: Remove the copy_file_range emulation. + * sysdeps/unix/sysv/linux/copy_file_range.c (copy_file_range): Do + not define and call copy_file_range_compat. + * io/Makefile (tests-static, tests-internal): Do not add + tst-copy_file_range-compat. + * io/copy_file_range-compat.c: Remove file. + * io/copy_file_range.c (copy_file_range): Define as stub. + * io/tst-copy_file_range-compat.c: Remove file. + * io/tst-copy_file_range.c (xdevfile): Remove variable. + (typical_sizes): Update comment. Remove 16K sizes. + (maximum_offset, maximum_offset_errno, maximum_offset_hard_limit): + Remove variables. + (find_maximum_offset, pipe_as_source, pipe_as_destination) + (delayed_write_failure_beginning, delayed_write_failure_end) + (cross_device_failure, enospc_failure_1, enospc_failure) + (oappend_failure): Remove functions. + (tests): Adjust test case list. + (do_test): Remove file system search code. Check for ENOSYS from + copy_file_range. Do not free xdevfile. + * manual/llio.texi (Copying File Data): Document ENOSYS error from + copy_file_range. Do not document the EXDEV error, which future + kernels may not report. Update the wording to reflect that + further errors are possible. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040D00] (__ASSUME_COPY_FILE_RANGE): Do + not undefine. + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE): + Likewise. + * sysdeps/unix/sysv/linux/kernel-features.h + [__LINUX_KERNEL_VERSION >= 0x040500] (__ASSUME_COPY_FILE_RANGE): + Remove definition. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040A00] (__ASSUME_COPY_FILE_RANGE): Do + not undefine. + * sysdeps/unix/sysv/linux/sh/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE): + Likewise. + 2019-06-27 Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> * libio/libioP.h (PRINTF_LDBL_USES_FLOAT128): New macro to be |