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 /NEWS | |
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 'NEWS')
-rw-r--r-- | NEWS | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -10,6 +10,8 @@ GNU coreutils NEWS -*- outline -*- ** Bug fixes + cp uses much less memory in some situations + seq 9223372036854775807 9223372036854775808 now prints only two numbers on systems with extended long double support and good library support. Even with this patch, on some systems, it still produces invalid output, |