I'd have to see the LMTP conversation between Postfix and Cyrus, but my guess would be that Postfix isn't sending the message to all of the recipients in one connection to Cyrus (with multiple RCPT TO). If Cyrus gets thems in separate connections, then it has no way of doing the links.


Bernd Nies wrote:
Hi Ken,

 > Its only possible for recipients that are on the same Cyrus partition.
 > If you have a message sent to n recipients on p partitions then you
 > should only have p copies of the message and n-p hardlinks (to one of
 > the p copies).

I know that hard links cannot cross partitions. ;-) At least on my installation the hard linking of identical messages does not work. Example of one message to a list:

[EMAIL PROTECTED]:/data/mail1/user> grep "Message-ID: <[EMAIL PROTECTED]>" */*
alex/304.:Message-ID: <[EMAIL PROTECTED]>
alfred/468.:Message-ID: <[EMAIL PROTECTED]>
alicia/102.:Message-ID: <[EMAIL PROTECTED]>
alvi/49.:Message-ID: <[EMAIL PROTECTED]>
andi/418.:Message-ID: <[EMAIL PROTECTED]>
...


[EMAIL PROTECTED]:/data/mail1/user> ls -ali alex/304. alfred/468. alicia/102. alvi/49. andi/418.
33932 -rw------- 1 cyrus cyrus 230395 Jun 3 05:45 alex/304.
33967 -rw------- 1 cyrus cyrus 230395 Jun 3 05:45 alfred/468.
33981 -rw------- 1 cyrus cyrus 230395 Jun 3 05:45 alicia/102.
34008 -rw------- 1 cyrus cyrus 230395 Jun 3 05:45 alvi/49.
33996 -rw------- 1 cyrus cyrus 230395 Jun 3 05:45 andi/418.
...


The inode number of the message files are different.



Here is the Postfix logfile:

Jun 3 05:45:01 mailhost postfix/smtpd[9629]: [ID 197553 mail.info] E7C93357BE: client=mailhost.domain.tld[123.123.123.123]
Jun 3 05:45:01 mailhost postfix/cleanup[9631]: [ID 197553 mail.info] E7C93357BE: message-id=<[EMAIL PROTECTED]>
Jun 3 05:45:02 mailhost postfix/qmgr[21170]: [ID 197553 mail.info] E7C93357BE: from=<[EMAIL PROTECTED]>, size=230208, nrcpt=1 (queue active)
Jun 3 05:45:03 mailhost postfix/lmtp[9636]: [ID 197553 mail.info] E7C93357BE: to=<[EMAIL PROTECTED]>, orig_to=<[EMAIL PROTECTED]>, relay=/var/cyrus/socket/lmtp[/var/cyrus/socket/lmtp], delay=2, status=sent (250 2.1.5 Ok)
Jun 3 05:45:03 mailhost postfix/lmtp[9636]: [ID 197553 mail.info] E7C93357BE: to=<[EMAIL PROTECTED]>, orig_to=<[EMAIL PROTECTED]>, relay=/var/cyrus/socket/lmtp[/var/cyrus/socket/lmtp], delay=2, status=sent (250 2.1.5 Ok)
Jun 3 05:45:04 mailhost postfix/lmtp[9636]: [ID 197553 mail.info] E7C93357BE: to=<[EMAIL PROTECTED]>, orig_to=<[EMAIL PROTECTED]>, relay=/var/cyrus/socket/lmtp[/var/cyrus/socket/lmtp], delay=3, status=sent (250 2.1.5 Ok)
Jun 3 05:45:05 mailhost postfix/lmtp[9636]: [ID 197553 mail.info] E7C93357BE: to=<[EMAIL PROTECTED]>, orig_to=<[EMAIL PROTECTED]>, relay=/var/cyrus/socket/lmtp[/var/cyrus/socket/lmtp], delay=4, status=sent (250 2.1.5 Ok)
Jun 3 05:45:05 mailhost postfix/lmtp[9636]: [ID 197553 mail.info] E7C93357BE: to=<[EMAIL PROTECTED]>, orig_to=<[EMAIL PROTECTED]>, relay=/var/cyrus/socket/lmtp[/var/cyrus/socket/lmtp], delay=4, status=sent (250 2.1.5 Ok)
Jun 3 05:45:06 mailhost postfix/lmtp[9636]: [ID 197553 mail.info] E7C93357BE: to=<[EMAIL PROTECTED]>, orig_to=<[EMAIL PROTECTED]>, relay=/var/cyrus/socket/lmtp[/var/cyrus/socket/lmtp], delay=5, status=sent (250 2.1.5 Ok)
...




And from Cyrus:

Jun 3 05:45:02 mailhost master[9637]: [ID 392559 local6.debug] about to exec /opt/cyrus-2.1.13/bin/lmtpd
Jun 3 05:45:02 mailhost lmtpunix[9637]: [ID 518349 local6.debug] executed
Jun 3 05:45:02 mailhost lmtpd[9637]: [ID 921384 local6.debug] accepted connection
Jun 3 05:45:02 mailhost lmtpd[9637]: [ID 685068 local6.debug] lmtp connection preauth'd as postman
Jun 3 05:45:02 mailhost lmtpd[9637]: [ID 100061 local6.debug] duplicate_check: <[EMAIL PROTECTED]> user.ove 0
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 516618 local6.debug] mystore: starting txn 2147509085
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 265043 local6.debug] mystore: committing txn 2147509085
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 516477 local6.debug] duplicate_mark: <[EMAIL PROTECTED]> user.ove 1054611902
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 100061 local6.debug] duplicate_check: <[EMAIL PROTECTED]> user.thomul 0
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 516618 local6.debug] mystore: starting txn 2147509086
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 265043 local6.debug] mystore: committing txn 2147509086
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 516477 local6.debug] duplicate_mark: <[EMAIL PROTECTED]> user.thomul 1054611903
Jun 3 05:45:03 mailhost lmtpd[9637]: [ID 100061 local6.debug] duplicate_check: <[EMAIL PROTECTED]> user.alex 0
Jun 3 05:45:04 mailhost lmtpd[9637]: [ID 516618 local6.debug] mystore: starting txn 2147509087
Jun 3 05:45:04 mailhost lmtpd[9637]: [ID 265043 local6.debug] mystore: committing txn 2147509087
Jun 3 05:45:04 mailhost lmtpd[9637]: [ID 516477 local6.debug] duplicate_mark: <[EMAIL PROTECTED]> user.alex 1054611903
Jun 3 05:45:04 mailhost lmtpd[9637]: [ID 100061 local6.debug] duplicate_check: <[EMAIL PROTECTED]> user.stefan 0
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 516618 local6.debug] mystore: starting txn 2147509088
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 265043 local6.debug] mystore: committing txn 2147509088
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 516477 local6.debug] duplicate_mark: <[EMAIL PROTECTED]> user.stefan 1054611904
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 100061 local6.debug] duplicate_check: <[EMAIL PROTECTED]> user.this 0
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 516618 local6.debug] mystore: starting txn 2147509089
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 265043 local6.debug] mystore: committing txn 2147509089
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 516477 local6.debug] duplicate_mark: <[EMAIL PROTECTED]> user.this 1054611905
Jun 3 05:45:05 mailhost lmtpd[9637]: [ID 100061 local6.debug] duplicate_check: <[EMAIL PROTECTED]> user.verena 0
Jun 3 05:45:06 mailhost lmtpd[9637]: [ID 516618 local6.debug] mystore: starting txn 2147509090
Jun 3 05:45:06 mailhost lmtpd[9637]: [ID 265043 local6.debug] mystore: committing txn 2147509090
Jun 3 05:45:06 mailhost lmtpd[9637]: [ID 516477 local6.debug] duplicate_mark: <[EMAIL PROTECTED]> user.verena 1054611905
...



The OS and how I compiled it:


[EMAIL PROTECTED]:~> uname -a
SunOS mailhost 5.8 Generic_108528-19 sun4u sparc SUNW,Ultra-4

cd cyrus-sasl-2.1.13
./configure --prefix=/opt/cyrus-2.1.13 \
            --with-dbpath=/opt/cyrus-2.1.13/sasldb2 \
            --with-dblib=berkeley \
            --with-bdb-libdir=/opt/db/lib \
            --with-bdb-incdir=/opt/db/include \
            --with-openssl=/opt/openssl \
            --with-plugindir=/opt/cyrus-2.1.13/lib/sasl2 \
            --with-saslauthd=/opt/cyrus-2.1.13/state \
            --enable-shared \
            --enable-static \
            --disable-gssapi \
            --disable-kerb5

cd cyrus-imapd-2.1.13
./configure --prefix=/opt/cyrus \
            --with-auth=unix \
            --with-cyrus-prefix=/opt/cyrus \
            --with-dbdir=/opt/db \
            --with-openssl=/opt/openssl \
            --with-sasl=/opt/cyrus \
            --with-perl=/usr/bin/perl \
            --disable-krb4 \
            --disable-cram \
            --disable-gssapi \
            --without-krb \
            --with-statedir=/opt/cyrus/state


Thanks in advance for help


Regards,
Bernd





--
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp



Reply via email to