GNU bug report logs - #8061
Introduce SEEK_DATA/SEEK_HOLE to extent_scan module

Previous Next

Package: coreutils;

Reported by: Jeff liu <jeff.liu <at> oracle.com>

Date: Thu, 17 Feb 2011 13:50:03 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #22 received at 8061-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jeff liu <jeff.liu <at> oracle.com>
Cc: Pádraig Brady <P <at> draigBrady.com>,
 Jim Meyering <jim <at> meyering.net>, 8061-done <at> debbugs.gnu.org
Subject: Re: Introduce SEEK_DATA/SEEK_HOLE to extent_scan module
Date: Thu, 25 Jun 2020 19:15:21 -0700
[Message part 1 (text/plain, inline)]
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 (text/x-patch, attachment)]
[0002-cp-refactor-extent_copy.patch (text/x-patch, attachment)]
[0003-cp-avoid-copy_reg-goto.patch (text/x-patch, attachment)]
[0004-cp-use-SEEK_DATA-SEEK_HOLE-if-available.patch (text/x-patch, attachment)]
[0005-cp-use-copy_file_range-if-available.patch (text/x-patch, attachment)]

This bug report was last modified 4 years and 353 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.