1 diff -Naur cyrus-imapd-2.2.12/imap/append.c cyrus-imapd-2.2.12.cvs/imap/append.c
2 --- cyrus-imapd-2.2.12/imap/append.c 2004-05-22 05:45:48.000000000 +0200
3 +++ cyrus-imapd-2.2.12.cvs/imap/append.c 2005-06-03 07:10:24.000000000 +0200
5 /* append.c -- Routines for appending messages to a mailbox
6 - * $Id: append.c,v 1.107 2004/05/22 03:45:48 rjs3 Exp $
7 + * $Id: append.c,v 1.108 2005/06/02 15:47:50 ken3 Exp $
9 * Copyright (c)1998, 2000 Carnegie Mellon University. All rights reserved.
12 int append_copy(struct mailbox *mailbox,
13 struct appendstate *as,
15 - struct copymsg *copymsg)
16 + struct copymsg *copymsg,
19 struct mailbox *append_mailbox = &as->m;
22 mailbox_message_get_fname(mailbox, copymsg[msg].uid, fnamebuf,
24 /* Link/copy message file */
25 - r = mailbox_copyfile(fnamebuf, fname, 0);
26 + r = mailbox_copyfile(fnamebuf, fname, nolink);
29 /* Write out cache info, copy other info */
30 diff -Naur cyrus-imapd-2.2.12/imap/append.h cyrus-imapd-2.2.12.cvs/imap/append.h
31 --- cyrus-imapd-2.2.12/imap/append.h 2004-01-22 22:17:07.000000000 +0100
32 +++ cyrus-imapd-2.2.12.cvs/imap/append.h 2005-06-03 07:10:24.000000000 +0200
34 /* append.h -- Description of messages to be copied
35 - * $Id: append.h,v 1.26 2004/01/22 21:17:07 ken3 Exp $
36 + * $Id: append.h,v 1.27 2005/06/02 15:47:51 ken3 Exp $
38 * Copyright (c) 1998, 2000 Carnegie Mellon University. All rights reserved.
42 extern int append_copy(struct mailbox *mailbox,
43 struct appendstate *append_mailbox,
44 - int nummsg, struct copymsg *copymsg);
45 + int nummsg, struct copymsg *copymsg, int nolink);
47 extern int append_collectnews(struct appendstate *mailbox,
48 const char *group, unsigned long feeduid);
49 diff -Naur cyrus-imapd-2.2.12/imap/imapd.c cyrus-imapd-2.2.12.cvs/imap/imapd.c
50 --- cyrus-imapd-2.2.12/imap/imapd.c 2005-02-14 07:39:55.000000000 +0100
51 +++ cyrus-imapd-2.2.12.cvs/imap/imapd.c 2005-06-03 07:11:52.000000000 +0200
53 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
56 -/* $Id: imapd.c,v 1.490 2005/02/14 06:39:55 shadow Exp $ */
57 +/* $Id: imapd.c,v 1.493 2005/06/02 15:47:51 ken3 Exp $ */
62 imapd_userid, mailboxname);
64 r = index_copy(imapd_mailbox, sequence, usinguid, mailboxname,
66 + ©uid, !config_getswitch(IMAPOPT_SINGLEINSTANCESTORE));
69 index_check(imapd_mailbox, usinguid, 0);
70 diff -Naur cyrus-imapd-2.2.12/imap/imapd.h cyrus-imapd-2.2.12.cvs/imap/imapd.h
71 --- cyrus-imapd-2.2.12/imap/imapd.h 2004-06-22 23:36:18.000000000 +0200
72 +++ cyrus-imapd-2.2.12.cvs/imap/imapd.h 2005-06-03 07:10:24.000000000 +0200
74 /* imapd.h -- Common state for IMAP daemon
75 - * $Id: imapd.h,v 1.61 2004/06/22 21:36:18 rjs3 Exp $
76 + * $Id: imapd.h,v 1.62 2005/06/02 15:47:57 ken3 Exp $
78 * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
81 extern int index_thread(struct mailbox *mailbox, int algorithm,
82 struct searchargs *searchargs, int usinguid);
83 extern int index_copy(struct mailbox *mailbox, char *sequence,
84 - int usinguid, char *name, char **copyuidp);
85 + int usinguid, char *name, char **copyuidp, int nolink);
86 extern int index_status(struct mailbox *mailbox, char *name,
89 diff -Naur cyrus-imapd-2.2.12/imap/index.c cyrus-imapd-2.2.12.cvs/imap/index.c
90 --- cyrus-imapd-2.2.12/imap/index.c 2005-02-14 17:42:08.000000000 +0100
91 +++ cyrus-imapd-2.2.12.cvs/imap/index.c 2005-06-03 07:13:04.000000000 +0200
96 - * $Id: index.c,v 1.213 2005/02/14 16:42:08 shadow Exp $
97 + * $Id: index.c,v 1.218 2005/06/02 15:47:58 ken3 Exp $
101 @@ -1145,7 +1145,8 @@
109 static struct copyargs copyargs;
111 @@ -1176,7 +1177,7 @@
114 r = append_copy(mailbox, &append_mailbox, copyargs.nummsg,
116 + copyargs.copymsg, nolink);
117 if (!r) append_commit(&append_mailbox, totalsize,
118 &uidvalidity, &startuid, &num);
120 diff -Naur cyrus-imapd-2.2.12/lib/imapoptions cyrus-imapd-2.2.12.cvs/lib/imapoptions
121 --- cyrus-imapd-2.2.12/lib/imapoptions 2004-07-21 21:07:45.000000000 +0200
122 +++ cyrus-imapd-2.2.12.cvs/lib/imapoptions 2005-06-03 07:14:07.000000000 +0200
124 .\" AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
125 .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
127 -.\" $Id: imapoptions,v 1.30 2004/07/21 19:07:45 rjs3 Exp $
128 +.\" $Id: imapoptions,v 1.33 2005/06/02 15:47:59 ken3 Exp $
130 imapd.conf \- IMAP configuration file
133 directories: ~user/.sieve. */
135 { "singleinstancestore", 1, SWITCH }
136 -/* If enabled, lmtpd and nntpd attempt to only write one copy of a message per
137 - partition and create hard links, resulting in a potentially large
139 +/* If enabled, imapd, lmtpd and nntpd attempt to only write one copy
140 + of a message per partition and create hard links, resulting in a
141 + potentially large disk savings. */
143 { "skiplist_unsafe", 0, SWITCH }
144 /* If enabled, this option forces the skiplist cyrusdb backend to