[dovecot-cvs]
dovecot/src/imap cmd-append.c,1.25,1.26 cmd-capability.c,1.3,1.4
cmd-copy.c,1.6,1.7 cmd-fetch.c,1.16,1.17 cmd-search.c,1.15,1.16
cmd-sort.c,1.10,1.11 cmd-store.c,1.13,1.14 cmd-thread.c,1.3,1.4
commands-util.c,1.25,1.26 commands-util.h,1.11,1.12
cras at procontrol.fi
cras at procontrol.fi
Sun Jun 15 07:42:31 EEST 2003
- Previous message: [dovecot-cvs] dovecot/src/lib-index mail-index-open.c,1.37,1.38
mail-index.h,1.80,1.81
- Next message: [dovecot-cvs]
dovecot/src/lib-index/maildir maildir-index.h,1.22,1.23
maildir-rebuild.c,1.13,1.14 maildir-sync.c,1.53,1.54
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/dovecot/src/imap
In directory danu:/tmp/cvs-serv23333/imap
Modified Files:
cmd-append.c cmd-capability.c cmd-copy.c cmd-fetch.c
cmd-search.c cmd-sort.c cmd-store.c cmd-thread.c
commands-util.c commands-util.h
Log Message:
Only NOOP and CHECK will now always do a real mailbox sync. Other commands
will also do it but no often than once in 5 seconds. Also with maildir we
don't anymore try to sync it before running commands since syncing is now
done automatically whenever we try to access a file that doesn't exist.
Index: cmd-append.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-append.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- cmd-append.c 28 May 2003 11:04:28 -0000 1.25
+++ cmd-append.c 15 Jun 2003 03:42:28 -0000 1.26
@@ -207,7 +207,7 @@
box->close(box);
if (!failed) {
- client_sync_full(client);
+ client_sync_full_fast(client);
client_send_tagline(client, "OK Append completed.");
}
return TRUE;
Index: cmd-capability.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-capability.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cmd-capability.c 5 Jan 2003 13:09:51 -0000 1.3
+++ cmd-capability.c 15 Jun 2003 03:42:28 -0000 1.4
@@ -7,7 +7,7 @@
{
client_send_line(client, "* CAPABILITY " CAPABILITY_STRING);
- client_sync_full(client);
+ client_sync_full_fast(client);
client_send_tagline(client, "OK Capability completed.");
return TRUE;
}
Index: cmd-copy.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-copy.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- cmd-copy.c 22 Jan 2003 19:23:28 -0000 1.6
+++ cmd-copy.c 15 Jun 2003 03:42:28 -0000 1.7
@@ -31,14 +31,14 @@
ret = client->mailbox->copy(client->mailbox, destbox,
messageset, client->cmd_uid);
- /* sync always - if COPY fails because of expunges they'll get
- synced here */
- client_sync_full(client);
-
- if (ret)
+ if (ret) {
+ client_sync_full_fast(client);
client_send_tagline(client, "OK Copy completed.");
- else
+ } else {
+ /* if COPY fails because of expunges they'll get synced here */
+ client_sync_full(client);
client_send_storage_error(client);
+ }
destbox->close(destbox);
return TRUE;
Index: cmd-fetch.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-fetch.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- cmd-fetch.c 4 Jun 2003 16:35:11 -0000 1.16
+++ cmd-fetch.c 15 Jun 2003 03:42:28 -0000 1.17
@@ -354,7 +354,7 @@
if ((client_workarounds &
WORKAROUND_OE6_FETCH_NO_NEWMAIL) == 0) {
if (client->cmd_uid)
- client_sync_full(client);
+ client_sync_full_fast(client);
else
client_sync_without_expunges(client);
}
Index: cmd-search.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-search.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- cmd-search.c 21 Feb 2003 18:13:14 -0000 1.15
+++ cmd-search.c 15 Jun 2003 03:42:28 -0000 1.16
@@ -92,7 +92,7 @@
client_send_tagline(client, t_strconcat("NO ", error, NULL));
} else if (imap_search(client, charset, sargs)) {
if (client->cmd_uid)
- client_sync_full(client);
+ client_sync_full_fast(client);
else
client_sync_without_expunges(client);
client_send_tagline(client, "OK Search completed.");
Index: cmd-sort.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-sort.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- cmd-sort.c 21 Jan 2003 21:51:24 -0000 1.10
+++ cmd-sort.c 15 Jun 2003 03:42:28 -0000 1.11
@@ -123,7 +123,7 @@
} else if (imap_sort(client, charset, sargs, sorting)) {
/* NOTE: syncing is allowed when returning UIDs */
if (client->cmd_uid)
- client_sync_full(client);
+ client_sync_full_fast(client);
else
client_sync_without_expunges(client);
client_send_tagline(client, "OK Sort completed.");
Index: cmd-store.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-store.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- cmd-store.c 4 Jun 2003 16:35:11 -0000 1.13
+++ cmd-store.c 15 Jun 2003 03:42:28 -0000 1.14
@@ -75,7 +75,7 @@
client->cmd_uid, &flags,
modify_type, !silent, &all_found)) {
if (client->cmd_uid)
- client_sync_full(client);
+ client_sync_full_fast(client);
else
client_sync_without_expunges(client);
client_send_tagline(client, all_found ? "OK Store completed." :
Index: cmd-thread.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/cmd-thread.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cmd-thread.c 20 Jan 2003 14:52:51 -0000 1.3
+++ cmd-thread.c 15 Jun 2003 03:42:28 -0000 1.4
@@ -65,7 +65,7 @@
} else if (imap_thread(client, charset, sargs, threading)) {
/* NOTE: syncing is allowed when returning UIDs */
if (client->cmd_uid)
- client_sync_full(client);
+ client_sync_full_fast(client);
else
client_sync_without_expunges(client);
client_send_tagline(client, "OK Search completed.");
Index: commands-util.c
===================================================================
RCS file: /home/cvs/dovecot/src/imap/commands-util.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- commands-util.c 28 Apr 2003 16:31:59 -0000 1.25
+++ commands-util.c 15 Jun 2003 03:42:28 -0000 1.26
@@ -94,7 +94,16 @@
void client_sync_full(struct client *client)
{
if (client->mailbox != NULL) {
- if (!client->mailbox->sync(client->mailbox, TRUE))
+ if (!client->mailbox->sync(client->mailbox, 0))
+ client_send_untagged_storage_error(client);
+ }
+}
+
+void client_sync_full_fast(struct client *client)
+{
+ if (client->mailbox != NULL) {
+ if (!client->mailbox->sync(client->mailbox,
+ MAIL_SYNC_FLAG_FAST))
client_send_untagged_storage_error(client);
}
}
@@ -102,7 +111,9 @@
void client_sync_without_expunges(struct client *client)
{
if (client->mailbox != NULL) {
- if (!client->mailbox->sync(client->mailbox, FALSE))
+ if (!client->mailbox->sync(client->mailbox,
+ MAIL_SYNC_FLAG_NO_EXPUNGES |
+ MAIL_SYNC_FLAG_FAST))
client_send_untagged_storage_error(client);
}
}
Index: commands-util.h
===================================================================
RCS file: /home/cvs/dovecot/src/imap/commands-util.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- commands-util.h 20 Feb 2003 00:46:17 -0000 1.11
+++ commands-util.h 15 Jun 2003 03:42:28 -0000 1.12
@@ -20,6 +20,9 @@
FETCH FLAGS, EXISTS and RECENT responses. */
void client_sync_full(struct client *client);
+/* Synchronize fast. */
+void client_sync_full_fast(struct client *client);
+
/* Synchronize all but expunges with client. */
void client_sync_without_expunges(struct client *client);
- Previous message: [dovecot-cvs] dovecot/src/lib-index mail-index-open.c,1.37,1.38
mail-index.h,1.80,1.81
- Next message: [dovecot-cvs]
dovecot/src/lib-index/maildir maildir-index.h,1.22,1.23
maildir-rebuild.c,1.13,1.14 maildir-sync.c,1.53,1.54
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list