2.3 Replication and lost Hardlinks

Roland Pope rpope at jadeworld.com
Thu Mar 30 16:37:57 EST 2006

Hi All,

It would appear from my testing of the new 2.3 Replication code, that you 
lose any 'SingleInstanceStore' benefits on the replica as hardlinks on the 
master cannot be reproduced on the replica.
In my situation, I often have large emails sent to multiple recipients on 
the same server and I am relying on hardlinks to keep my disk usage down.
In addition, I also have a small pipe between my master and my replica and 
any large emails sent to hundreds of users gets copied over the link 
hundreds times rather that the single delivery done by LMTP.
I was thinking that maybe one way to solve this might be to have Cyrus to 
keep it's own DB of hardlinked Messages and then it could send a replication 
message that effectively resolves to "If you don't have message user.xxxx 
'nnnn', see if you can create it by hardlinking to one of the following 
messages 'user.foo nnnn,user.bar.Filed nnnn' (if the message hash is the 
same), otherwise I will send you a copy".
Then when you subsequently replicate "user.bar.Filed nnnnn", you should be 
able to link the message in from the copy you replicated to 'user.xxxx'.
It would obviously be a little more complicated to deal with some corner 
cases, but what are people's thoughts?
Is it worth trying to build something like this?
Do any others on the list make heavy use of hardlinking who would be 
adversely effected by the current replication methodology?


More information about the Info-cyrus mailing list