bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#8061: Introduce SEEK_DATA/SEEK_HOLE to extent_scan module


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.

Attachment: 0001-maint-typo-fix.patch
Description: Text Data

Attachment: 0002-cp-refactor-extent_copy.patch
Description: Text Data

Attachment: 0003-cp-avoid-copy_reg-goto.patch
Description: Text Data

Attachment: 0004-cp-use-SEEK_DATA-SEEK_HOLE-if-available.patch
Description: Text Data

Attachment: 0005-cp-use-copy_file_range-if-available.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]