diff options
author | Jim Meyering <meyering@redhat.com> | 2008-11-19 19:36:45 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2008-11-20 10:21:52 +0100 |
commit | 3ece0355d52e41a1b079c0c46477a32250278c11 (patch) | |
tree | ea24ea4aae7129a936c291f29ee7b2724bed6d5c /tests/Makefile.am | |
parent | 1760ade090cbf8c854c1033399d51ff4fdde3ae0 (diff) | |
download | coreutils-3ece0355d52e41a1b079c0c46477a32250278c11.tar.xz |
cp: use far less memory in some cases
cp --link was "remembering" many name,dev,inode triples unnecessarily.
cp was doing the same, even without --link, for every directory in the
source hierarchy, while it can do its job with entries merely for the
command-line arguments. Prompted by a report from Patrick Shoenfeld.
Details <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15081>.
* src/copy.c (copy_internal): Refrain from remembering
name,dev,inode for most files, when invoked via cp --link.
Record an infloop-avoidance triple for each directory specified
on the command line, not for each directory in the source tree.
Don't record a dir-triple when x->hard_link is set.
* NEWS (Buf fixes): Mention it.
* tests/cp/link-heap: New file. Test for cp's lowered memory usage.
* tests/Makefile.am (TESTS): Add link-heap.
Diffstat (limited to 'tests/Makefile.am')
-rw-r--r-- | tests/Makefile.am | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index e955d9b77..f264bd0c6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -262,6 +262,7 @@ TESTS = \ cp/file-perm-race \ cp/into-self \ cp/link \ + cp/link-heap \ cp/link-no-deref \ cp/link-preserve \ cp/no-deref-link1 \ |