Your message dated Sun, 27 Oct 2019 19:59:11 +0100
with message-id <[email protected]>
and subject line Fixed in coreutils 8.13-1
has caused the Debian Bug report #589970,
regarding /bin/cp: cp -al does not hardlink symlinks
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
589970: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=589970
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: coreutils
Version: 8.5-1
Severity: minor
File: /bin/cp


I have a backup script that does the typical "rsync followed by cp
-al" to maintain snapshots of the backup.  I unexpectedly ran out of
inodes on the destination filesystem the other day...one of the
machines I back up has hundreds of thousands of symlinks on it.  These symlinks 
all seem to get their inode for each snapshot.  I've trivially reproduced the 
problem:
$ mkdir sym; cd sym
$ ln -s xxx yyy
$ ln yyy zzz
$ echo foo > aaa
$ ln aaa bbb
$ ls -li
3015279 -rw-r--r-- 2 cchiappa cchiappa 4 Jul 22 09:34 aaa
3015279 -rw-r--r-- 2 cchiappa cchiappa 4 Jul 22 09:34 bbb
 659196 lrwxrwxrwx 2 cchiappa cchiappa 3 Jul 22 09:32 yyy -> xxx
 659196 lrwxrwxrwx 2 cchiappa cchiappa 3 Jul 22 09:32 zzz -> xxx
$ cd ..
$ cp -al sym sym2
$ ls -li sym sym2
sym:
3015279 -rw-r--r-- 4 cchiappa cchiappa 4 Jul 22 09:34 aaa
3015279 -rw-r--r-- 4 cchiappa cchiappa 4 Jul 22 09:34 bbb
 659196 lrwxrwxrwx 2 cchiappa cchiappa 3 Jul 22 09:32 yyy -> xxx
 659196 lrwxrwxrwx 2 cchiappa cchiappa 3 Jul 22 09:32 zzz -> xxx

sym2:
3015279 -rw-r--r-- 4 cchiappa cchiappa 4 Jul 22 09:34 aaa
3015279 -rw-r--r-- 4 cchiappa cchiappa 4 Jul 22 09:34 bbb
3015281 lrwxrwxrwx 1 cchiappa cchiappa 3 Jul 22 09:35 yyy -> xxx
3015284 lrwxrwxrwx 1 cchiappa cchiappa 3 Jul 22 09:35 zzz -> xxx

Notice that the regular files in sym2 share an inode with their
source, but but we now have three inodes for the symlinks (1 for
sym/{yyy,zzz} and 1 each for sym2/{yyy,zzz}).

Workaround: eliminate the cp -al and use rsync's --list-dest support
(which is a little bit tricky but I suppose more integrated anyhow)

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages coreutils depends on:
ii  libacl1                       2.2.49-3   Access control list shared library
ii  libattr1                      1:2.4.44-2 Extended attribute shared library
ii  libc6                         2.11.2-2   Embedded GNU C Library: Shared lib
ii  libselinux1                   2.0.94-1   SELinux runtime shared libraries

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information



--- End Message ---
--- Begin Message ---
Package: coreutils
Version: 8.13-1

This bug has been fixed in coreutils 8.11.  From the NEWS file:

,----
| * Noteworthy changes in release 8.11 (2011-04-13) [stable]
|
| ** Bug fixes
|
|   cp -a --link would not create a hardlink to a symlink, instead
|   copying the symlink and then not preserving its timestamp.
|   [bug introduced in coreutils-8.0]
`----

The first version in Debian containing this fix was apparently 8.13-1.

--- End Message ---

Reply via email to