dovecot-2.2: lib-storage: mail_never_cache_fields=* means now to...
dovecot at dovecot.org
dovecot at dovecot.org
Wed Apr 30 15:47:24 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/c1719de47d5e
changeset: 17298:c1719de47d5e
user: Timo Sirainen <tss at iki.fi>
date: Wed Apr 30 18:46:55 2014 +0300
description:
lib-storage: mail_never_cache_fields=* means now to disable all caching.
diffstat:
src/lib-storage/index/index-mail.c | 3 ++-
src/lib-storage/index/index-storage.c | 7 +++++++
src/lib-storage/mail-storage-private.h | 2 ++
3 files changed, 11 insertions(+), 1 deletions(-)
diffs (42 lines):
diff -r 5c4205a95028 -r c1719de47d5e src/lib-storage/index/index-mail.c
--- a/src/lib-storage/index/index-mail.c Wed Apr 30 17:37:43 2014 +0300
+++ b/src/lib-storage/index/index-mail.c Wed Apr 30 18:46:55 2014 +0300
@@ -512,7 +512,8 @@
}
if (!mail->data.no_caching &&
- mail->data.dont_cache_field_idx != field_idx) {
+ mail->data.dont_cache_field_idx != field_idx &&
+ !_mail->box->mail_cache_disabled) {
mail_cache_add(_mail->transaction->cache_trans, _mail->seq,
field_idx, data, data_size);
}
diff -r 5c4205a95028 -r c1719de47d5e src/lib-storage/index/index-storage.c
--- a/src/lib-storage/index/index-storage.c Wed Apr 30 17:37:43 2014 +0300
+++ b/src/lib-storage/index/index-storage.c Wed Apr 30 18:46:55 2014 +0300
@@ -71,6 +71,13 @@
sizeof(global_cache_fields));
mail_cache_register_fields(cache, ibox->cache_fields,
MAIL_INDEX_CACHE_FIELD_COUNT);
+
+ if (strcmp(set->mail_never_cache_fields, "*") == 0) {
+ /* all caching disabled for now */
+ box->mail_cache_disabled = TRUE;
+ return;
+ }
+
set_cache_decisions(cache, "mail_cache_fields",
set->mail_cache_fields,
MAIL_CACHE_DECISION_TEMP);
diff -r 5c4205a95028 -r c1719de47d5e src/lib-storage/mail-storage-private.h
--- a/src/lib-storage/mail-storage-private.h Wed Apr 30 17:37:43 2014 +0300
+++ b/src/lib-storage/mail-storage-private.h Wed Apr 30 18:46:55 2014 +0300
@@ -343,6 +343,8 @@
unsigned int disallow_new_keywords:1;
/* Mailbox has been synced at least once */
unsigned int synced:1;
+ /* Updating cache file is disabled */
+ unsigned int mail_cache_disabled:1;
};
struct mail_vfuncs {
More information about the dovecot-cvs
mailing list