possible bug rsync-2.5.5 rsyncd.conf option "max connections"

tim.conway at philips.com tim.conway at philips.com
Thu May 16 12:04:04 EST 2002

     lock file
          The "lock file" option specifies the  file  to  use  to
          support  the "max connections" option. The rsync server
          uses record locking on this file to ensure that the max
          connections  limit  is  not  exceeded.  The  default is

SunOS 5.7           Last change: 12 Feb 1999                    4

Headers, Environments, and Macros                  rsyncd.conf(5)

If you don't specify a lock file for each module, they all will share one 
lockfile, and all the locks will count together.

Tim Conway
tim.conway at philips.com
Philips Semiconductor - Longmont TC
1880 Industrial Circle, Suite D
Longmont, CO 80501
Available via SameTime Connect within Philips, n9hmg on AIM
perl -e 'print pack(nnnnnnnnnnnn, 
".\n" '
"There are some who call me.... Tim?"

Dick Snippe <Dick.Snippe at tech.omroep.nl>
Sent by: rsync-admin at lists.samba.org
05/16/2002 05:46 AM

        To:     rsync at lists.samba.org
        cc:     (bcc: Tim Conway/LMT/SC/PHILIPS)
        Subject:        possible bug rsync-2.5.5 rsyncd.conf option "max connections"


I think i may have found a bug in the "max clients" option in rsyncd.conf
[we use rsync-2.5.5; All platforms I tried (Irix-6.5.14 and various linux
flavours) show the behaviour explained below]

The manpage says:

|max connections
|      The  "max connections" option allows you to specify
|      the maximum number of simultaneous connections  you
|      will allow to this module of your rsync server. Any

However, it appears that the check also counts connections to other 

Simple example:

|        path = /
|        max connections = 1
|        path = /
|        max connections = 2

Now try these two modules in parallel, where the first line is
started before the second line:
|shell1 $ rsync -an server::foo /tmp/foo
|<starts spewing output>
|shell2 $ rsync -an server::bar /tmp/bar
|<starts spewing output>

This works, as expected.
Now for a new experiment:

|shell2 $ rsync -an server::bar /tmp/bar
|<starts spewing output>
|shell1 $ rsync -an server::foo /tmp/foo
|@ERROR: max connections (1) reached - try again later

Imho module foo complains about the connection to module bar;
Could this be a bug?

After some browsing in the code I guess that the problem might be that
only one lockfile /var/run/rsyncd.lock) is used for all modules.

Dick Snippe Unix Beheerder/Specialist
NOS Internet beheer: beheer at omroep.nl            \ fight war
Gateway C -- Kamer 110 -- 035 6774093             \ not wars
Infosite http://intra.omroep.nl/info/            []()

To unsubscribe or change options: 
Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html

More information about the rsync mailing list