Disable creation of hardlinks in message store
ken at oceana.com
Thu Jun 2 12:16:24 EDT 2005
Simon Matter wrote:
>>Simon Matter wrote:
>>>>I've tried to get rid of hardlinked files in our cyrus spools to make
>>>>partial mailbox restores easier and more safe. My first idea was to set
>>>>"singleinstancestore: no" in imapd.conf and make all payload files
>>>>independant from each other. Unfortunately I realized later that while
>>>>incoming messages are stored in independant files, the IMAP COPY command
>>>>still creates hardlinked message files. Of course there is nothing wrong
>>>>with singleinstancestore because the manpage clearly states that only
>>>>delivery via lmtp/nntp is affected.
>>>>I have now looked at the code and found that mailbox_copyfile() has a
>>>>nolink parameter which controls the copy/link behaviour. My idea was to
>>>>create a new config option to disable hardlinks completely.
>>>>- is such an option a very bad idea?
>>>>- does such a patch already exist somewhere?
>>>>- what's the best name of a new config option?
>>>>- is there a chance to have such a patch accepted into the distribution?
>>>I'd like to include the following patch into my cyrus-imapd rpm packages
>>>to address the issue mentioned above. While testing it on a test box it
>>>seemed to work very well. Do the cyrus developers see any possible
>>Actually, your patch affects ALL mailbox_copyfile(), which means that
>>messages won't even be hardlinked from the stage./ to the destination
>>mailbox. I don't think we want to do this, since this will hurt
>>performance for all messages deliveries (even single recipient messages).
> That's why I was asking whether it's a good idea. IIRC mailbox_copyfile()
> is also used to handle other files, not only message files. So my solution
> was a dirty hack.
>>IMO, singleinstancestore *should* also govern IMAP COPY (does anyone
> That's what I expected first but found that it's only implemented for
> incoming messages for unknown reason. Your proposed solution looks like
> the way to go.
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
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus