]>
Commit | Line | Data |
---|---|---|
b40388bb MT |
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 | |
4 | @@ -1,5 +1,5 @@ | |
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 $ | |
8 | * | |
9 | * Copyright (c)1998, 2000 Carnegie Mellon University. All rights reserved. | |
10 | * | |
11 | @@ -801,7 +801,8 @@ | |
12 | int append_copy(struct mailbox *mailbox, | |
13 | struct appendstate *as, | |
14 | int nummsg, | |
15 | - struct copymsg *copymsg) | |
16 | + struct copymsg *copymsg, | |
17 | + int nolink) | |
18 | { | |
19 | struct mailbox *append_mailbox = &as->m; | |
20 | int msg; | |
21 | @@ -845,7 +846,7 @@ | |
22 | mailbox_message_get_fname(mailbox, copymsg[msg].uid, fnamebuf, | |
23 | sizeof(fnamebuf)); | |
24 | /* Link/copy message file */ | |
25 | - r = mailbox_copyfile(fnamebuf, fname, 0); | |
26 | + r = mailbox_copyfile(fnamebuf, fname, nolink); | |
27 | if (r) goto fail; | |
28 | ||
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 | |
33 | @@ -1,5 +1,5 @@ | |
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 $ | |
37 | * | |
38 | * Copyright (c) 1998, 2000 Carnegie Mellon University. All rights reserved. | |
39 | * | |
40 | @@ -137,7 +137,7 @@ | |
41 | ||
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); | |
46 | ||
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 | |
52 | @@ -38,7 +38,7 @@ | |
53 | * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
54 | */ | |
55 | ||
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 $ */ | |
58 | ||
59 | #include <config.h> | |
60 | ||
61 | @@ -3593,7 +3593,7 @@ | |
62 | imapd_userid, mailboxname); | |
63 | if (!r) { | |
64 | r = index_copy(imapd_mailbox, sequence, usinguid, mailboxname, | |
65 | - ©uid); | |
66 | + ©uid, !config_getswitch(IMAPOPT_SINGLEINSTANCESTORE)); | |
67 | } | |
68 | ||
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 | |
73 | @@ -1,5 +1,5 @@ | |
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 $ | |
77 | * | |
78 | * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved. | |
79 | * | |
80 | @@ -249,7 +249,7 @@ | |
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, | |
87 | int statusitems); | |
88 | ||
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 | |
92 | @@ -41,7 +41,7 @@ | |
93 | * | |
94 | */ | |
95 | /* | |
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 $ | |
98 | */ | |
99 | #include <config.h> | |
100 | ||
101 | @@ -1145,7 +1145,8 @@ | |
102 | char *sequence, | |
103 | int usinguid, | |
104 | char *name, | |
105 | - char **copyuidp) | |
106 | + char **copyuidp, | |
107 | + int nolink) | |
108 | { | |
109 | static struct copyargs copyargs; | |
110 | int i; | |
111 | @@ -1176,7 +1177,7 @@ | |
112 | if (r) return r; | |
113 | ||
114 | r = append_copy(mailbox, &append_mailbox, copyargs.nummsg, | |
115 | - copyargs.copymsg); | |
116 | + copyargs.copymsg, nolink); | |
117 | if (!r) append_commit(&append_mailbox, totalsize, | |
118 | &uidvalidity, &startuid, &num); | |
119 | if (!r) { | |
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 | |
123 | @@ -42,7 +42,7 @@ | |
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. | |
126 | .\" | |
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 $ | |
129 | .SH NAME | |
130 | imapd.conf \- IMAP configuration file | |
131 | .SH DESCRIPTION | |
132 | @@ -753,9 +753,9 @@ | |
133 | directories: ~user/.sieve. */ | |
134 | ||
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 | |
138 | - disk savings. */ | |
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. */ | |
142 | ||
143 | { "skiplist_unsafe", 0, SWITCH } | |
144 | /* If enabled, this option forces the skiplist cyrusdb backend to |