'Invalid cross-device link' message on sparc
Werner Augustin
augustin at ira.uka.de
Mon Mar 15 13:31:40 GMT 2004
Hi,
I've got problems with a symlink to another device in a directory used
with '--link-dest'.
I've got something like
augustin at i90fs4:/tmp/rsync% ls -alR
.:
total 16
drwxr-xr-x 4 augustin augustin 4096 Mar 15 12:07 ./
drwxrwxrwt 4 root root 4096 Mar 15 10:56 ../
drwxr-xr-x 3 augustin augustin 4096 Mar 11 15:05 source/
drwxr-xr-x 2 augustin augustin 4096 Mar 11 15:06 unusable_link-dest/
./source:
total 12
drwxr-xr-x 3 augustin augustin 4096 Mar 11 15:05 ./
drwxr-xr-x 4 augustin augustin 4096 Mar 15 12:07 ../
drwxr-xr-x 2 augustin augustin 4096 Mar 11 15:05 dir/
./source/dir:
total 12
drwxr-xr-x 2 augustin augustin 4096 Mar 11 15:05 ./
drwxr-xr-x 3 augustin augustin 4096 Mar 11 15:05 ../
-rw-r--r-- 1 augustin augustin 9 Mar 11 12:17 foo
./unusable_link-dest:
total 8
drwxr-xr-x 2 augustin augustin 4096 Mar 11 15:06 ./
drwxr-xr-x 4 augustin augustin 4096 Mar 15 12:07 ../
lrwxrwxrwx 1 augustin augustin 19 Mar 11 15:06 dir -> /home2/augustin/dir/
and
augustin at i90fs4:/tmp/rsync% ls -alR /home2/augustin/dir
/home2/augustin/dir:
total 20
drwxr-xr-x 2 augustin augustin 4096 Mar 11 12:07 ./
drwxr-xr-x 229 augustin liinstud 12288 Mar 15 12:06 ../
-rw-r--r-- 1 augustin augustin 9 Mar 11 12:17 foo
and when I try:
e/ dest
building file list ... done
created directory dest
./
dir/
link /tmp/rsync/unusable_link-dest/dir/foo => dir/foo : Invalid cross-device link
wrote 106 bytes read 20 bytes 252.00 bytes/sec
total size is 9 speedup is 0.07
I get:
augustin at i90fs4:/tmp/rsync% ls -alR dest
dest:
total 12
drwxr-xr-x 3 augustin augustin 4096 Mar 11 15:05 ./
drwxr-xr-x 5 augustin augustin 4096 Mar 15 12:10 ../
drwxr-xr-x 2 augustin augustin 4096 Mar 11 15:05 dir/
dest/dir:
total 8
drwxr-xr-x 2 augustin augustin 4096 Mar 11 15:05 ./
drwxr-xr-x 3 augustin augustin 4096 Mar 11 15:05 ../
I've tested this with rsync-HEAD-20040311-1010GMT.tar.gz (no special
configure options) using Solaris 2.7 and Debian Woody on a UltraSparc I
box. Everything is fine using Debian on i386. Perhaps something with
32/64 bit? Linux-Kernel is 64bit the libraries used are 32bit:
augustin at i90fs4:/tmp/rsync% ldd /usr/local/rsync-20040311/bin/rsync
libpopt.so.0 => /lib/libpopt.so.0 (0x7002c000)
libresolv.so.2 => /lib/libresolv.so.2 (0x70044000)
libc.so.6 => /lib/libc.so.6 (0x70064000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x70000000)
/tmp is on a SCSI hard disk. Any hints, any ideas what might go wrong?
Btw. I had a look at the code in generator.c. Wouldn't it be a good
idea to report a critical error and not only a message in verbose
mode if do_link fails?
bye, Werner Augustin
More information about the rsync
mailing list