Question regarding exclude and invalid arg messages

jw schultz jw at pegasys.ws
Wed Jul 2 18:33:33 EST 2003


On Wed, Jul 02, 2003 at 10:03:00AM +0200, Morten Primdahl wrote:
> 
> >>Tried to enable -vvv but this makes rsync hang on the same file each
> >>time:
> >
> >
> > -vvv is known to cause hanging.  It is, however the
> > verbosity level needed to get some info out of that part of
> > the code.  Lets not try to debug the hang.  Reduce the level one notch.
> > Narrow the scope somewhat. And answer the questions asked in
> > my previous email.
> 
> I still get some garbage on stderr:
> 
> .qsJ4iC failed: Invalid argumentsp_ind/Emails ind/.Icon
> .klS8j3 failed: Invalid argumentsp_ud/Emails ud/.Icon
> 
> The garbage lines only come for the .Icon folder.

Is there actually a directory (we have no folders in
UNIX/Linux filesystems) at the location indicated?

> But also more valid messages like (still on stderr):
> 
> mkstemp 2001_12_Villa_OpNed/01_Korrespondance ind/01 Bygherre/Emails/.Villa 
> "up and go".1.N0LkFe failed: Invalid argument
> mkstemp 2001_12_Villa_OpNed/01_Korrespondance ind/01 Bygherre/Emails/.nyt 
> på tegnefronten?.1.8ZzfZ6 failed: Invalid argument
> 
> If I look for these files on the source filesystem, I find that:
> 
> [samba at fserv SAGER_igangvaerende]# find . -name "Villa*up and go*"
> ./2001_12_Villa_OpNed/01_Korrespondance ind/01 
> Bygherre/Emails/.AppleDouble/Villa "up and go".1
> ./2001_12_Villa_OpNed/01_Korrespondance ind/01 Bygherre/Emails/Villa "up 
> and go".1
> 
> And as I have .AppleDouble in my exclude file (no trailing slash), the 
> problem appears

The trailing slash is not necessary to exclude a directory.

> to be due to my naive usage of the exclude file. As far as I under stand 
> now, the
> behaviour is due to the .AppleDouble directory not getting created on the 
> destination,
> and due to the lacking slash in the exclude file, rsync still tries to copy 
> the files within
> this directory. The only thing I do not understand now, is the prepended 
> dot, so eg. Villa
> becomes .Villa.

To make the temp files a template is created by prepending
dot and appending .XXXXXX, the XXXXXX is replaced by
simi-random chars by mkstemp or in the absence of mkstemp
tempfile.

If correctly built on a Linux box rsync will call mkstemp
followed by fchmod.  The only way you could get a invalid
arguments error without .XXXXXX at the end of the file name
would be if mkstemp succeeded but with preserve_perms
enabled fchmod failed which is nearly impossible in this
context.

If incorrectly built or on a some non-Linux platforms it
does a mktemp followed by do_open which could produce the
error condition you present.

Based on this i have to conclude that your binary was
incorrectly built.

I am curious though as to what is causing the problem.  It
would help tremendously if you could narrow it down to a
small test case that strace could be run on.

Also, try it to a native filesystem on a reliable interface.
In other words ext[23], reiserfs, jfs or xfs on IDE or SCSI;
no FAT, USB or firewire.




-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw at pegasys.ws

		Remember Cernan and Schmitt



More information about the rsync mailing list