Local end (receiving): 3.0.2, 3.0.3pre2
Remote end (sending): 2.6.9

Under 3.0.x, rsync sometimes prints an "Invalid argument" error when
moving sockets to the backup directory (--backup-dir):

rsync: mknod "/backup/machine/../machine-before-4/var/run/audit_events"
failed: Invalid argument (22)

The problem appears to be that, at least with sockets, keep_backup() is
calling do_mknod() with garbage in the third parameter (dev).

When I add some debug output to do_mknod():

  printf("mknod pathname=%s, mode=%d, dev=%llu\n", pathname, mode, dev);
  int mknodres = mknod(pathname, mode, dev);
  printf("mknod result: %d, errno=%d\n", mknodres, errno);
  return mknodres;

3.0.2 and 3.0.3pre2 show:

mknod pathname=../machine-before-4/var/run/audit_events, mode=49645,
dev=89016461384865329
mknod result: -1, errno=22
rsync: mknod "/backup/machine/../machine-before-4/var/run/audit_events"
failed: Invalid argument (22)

while 2.6.9 shows:

mknod pathname=../machine-before-4/var/run/audit_events, mode=49645, dev=0
mknod result: -1, errno=2
mknod pathname=../machine-before-4/var/run/audit_events, mode=49645, dev=0
mknod result: 0, errno=2

and no error messages.

-- 
Jordan Russell
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to