3.0.2: make_bak_dir mkdir ...: File exists (17)

Wayne Davison wayned at samba.org
Sat May 17 15:31:31 GMT 2008

On Fri, May 16, 2008 at 12:07:47PM -0500, Jordan Russell wrote:
> rsync: make_bak_dir mkdir "/backup/server/../server-before-5/var" failed: File exists (17)
> rsync: keep_backup failed: "/backup/server/var/lib/rpcbind/rpcbind.file" -> "../server-before-5/var/lib/rpcbind/rpcbind.file": Success (0)

I tried to duplicate your failure, but rsync didn't fail for me.

The above errors indicate that the keep_backup() function tried to
rename the file into the backup dir, got an ENOENT error (which is the
only time it tries to call make_bak_dir()) and the attempt to make the
parent directory of the file failed with an EEXIST error (and then the
errno got reset to 0 due to the outputting of the error message, a bug
that I have fixed).  Is it possible that the file rpcbind.file caused an
ETXTBSY errno when rsync tried to rename it?  The only way I can see the
above happening is if the rename() call got ETXTBSY, tried to remove the
destination file (which didn't exist), and then returned the ENOENT
error from the unlink() instead of the ETXTBSY error from the rename().
That would lead to the above deceptive series of messages.  I have fixed
that too.

Is the backup problem reproducible?  If so, please try the latest
nightly tar file (or git checkout) and see what error you get.


More information about the rsync mailing list