|
From: | Paul Eggert |
Subject: | bug#8061: Introduce SEEK_DATA/SEEK_HOLE to extent_scan module |
Date: | Thu, 25 Jun 2020 19:15:21 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 |
This email is follow up to <https://bugs.gnu.org/8601> dated 2011-05-01. Jeff, thanks for reporting the problem. (There's a good chance this email will bounce but I'll send it to your 2011 email address anyway.) I recently ran into the same issue and derived the attached patches independently. I then found your bug report, made sure the attached patches fixed every problem that your proposal did, and installed the attached patches into Savannah. The attached patches 1-3 merely fix typos and refactor. Patch 4 corresponds to your proposal; however, it differs in that its basic idea is to use the FIEMAP code only as a fallback if SEEK_DATA doesn't work, rather than try to add to the already-too-complicated code that fiddles with FIEMAPs. (I don't observe any significant performance advantage to the FIEMAP stuff, but maybe that's just me.) Patch 5 adds opportunistic use of the copy_file_range syscall introduced in Linux kernel 4.5 (2016) and reworked in 5.3 (2019). This should improve 'cp' performance on kernels and file systems that support copy_file_range.
0001-maint-typo-fix.patch
Description: Text Data
0002-cp-refactor-extent_copy.patch
Description: Text Data
0003-cp-avoid-copy_reg-goto.patch
Description: Text Data
0004-cp-use-SEEK_DATA-SEEK_HOLE-if-available.patch
Description: Text Data
0005-cp-use-copy_file_range-if-available.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |