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 /gnulib-tests | |
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 'gnulib-tests')
0 files changed, 0 insertions, 0 deletions