diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2015-12-05 23:36:22 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2015-12-06 00:14:55 +0200 |
commit | b684326e6958f3a8a58202df933e925571d2fcbf (patch) | |
tree | 44673c8beef12356b87d09bf48d42aa753f231f4 /tests/sparse02.at | |
parent | 589ba77faf60e4632771d80e2b25d9e3778d4a3f (diff) | |
download | tar-b684326e6958f3a8a58202df933e925571d2fcbf.tar.gz |
Use SEEK_HOLE for hole detection
Based on patch by Pavel Raiskup.
Use SEEK_HOLE/SEEK_DATA feature of lseek on systems that support
it. This can make archiving of sparse files much faster.
Implement the --hole-detection option to allow users to select
hole-detection method.
* src/common.h (hole_detection_method): New enum.
(hole_detection): New global.
* src/sparse.c (sparse_scan_file_wholesparse): New function as a
method for detecting sparse files without any data.
(sparse_scan_file_raw): Rename from sparse_scan_file; with edits.
(sparse_scan_file_seek): New function.
(sparse_scan_file): Reimplement function.
* src/tar.c: New option --hole-detection
* tests/checkseekhole.c: New file.
* tests/.gitignore: Mention two test binaries.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at (AT_SEEKHOLE_PREREQ): New macro.
Include sparse06.at.
* tests/sparse06.at: New test case.
* tests/sparse02.at: Force raw hole-detection method.
* tests/sparsemv.at: Likewise.
* tests/sparsemvp.at: Likewise.
* doc/tar.1: Document --hole-detection option.
* doc/tar.texi: Document hole-detection algorithms and
command-line options.
* NEWS: Document hole-detection.
Diffstat (limited to 'tests/sparse02.at')
-rw-r--r-- | tests/sparse02.at | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/sparse02.at b/tests/sparse02.at index 1f044914..16bb31bd 100644 --- a/tests/sparse02.at +++ b/tests/sparse02.at @@ -27,7 +27,7 @@ AT_KEYWORDS([sparse sparse02]) AT_TAR_CHECK([ genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || AT_SKIP_TEST -tar -c -f archive --sparse sparsefile || exit 1 +tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 |