changeset 7383:9d6d555950dd HEAD

Flags weren't passed correctly to squat.
author Timo Sirainen <tss@iki.fi>
date Sun, 09 Mar 2008 01:07:08 +0200
parents 631fd6f25e41
children 899127b7c7e6
files src/plugins/fts-squat/fts-backend-squat.c
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts-squat/fts-backend-squat.c	Sat Mar 08 14:16:43 2008 +0200
+++ b/src/plugins/fts-squat/fts-backend-squat.c	Sun Mar 09 01:07:08 2008 +0200
@@ -25,7 +25,7 @@
 	struct mail_storage *storage;
 	struct mailbox_status status;
 	const char *path;
-	bool mmap_disable;
+	enum squat_index_flags flags = 0;
 
 	storage = mailbox_get_storage(box);
 	path = mail_storage_get_mailbox_index_dir(storage,
@@ -36,16 +36,20 @@
 	}
 
 	mailbox_get_status(box, STATUS_UIDVALIDITY, &status);
-	mmap_disable = (storage->flags &
-			(MAIL_STORAGE_FLAG_MMAP_DISABLE |
-			 MAIL_STORAGE_FLAG_MMAP_NO_WRITE)) != 0;
+	if ((storage->flags & (MAIL_STORAGE_FLAG_MMAP_DISABLE |
+			       MAIL_STORAGE_FLAG_MMAP_NO_WRITE)) != 0)
+		flags |= SQUAT_INDEX_FLAG_MMAP_DISABLE;
+	if ((storage->flags & MAIL_STORAGE_FLAG_NFS_FLUSH_INDEX) != 0)
+		flags |= SQUAT_INDEX_FLAG_NFS_FLUSH;
+	if ((storage->flags & MAIL_STORAGE_FLAG_DOTLOCK_USE_EXCL) != 0)
+		flags |= SQUAT_INDEX_FLAG_DOTLOCK_USE_EXCL;
 
 	backend = i_new(struct squat_fts_backend, 1);
 	backend->backend = fts_backend_squat;
 	backend->trie =
 		squat_trie_init(t_strconcat(path, "/"SQUAT_FILE_PREFIX, NULL),
 				status.uidvalidity, storage->lock_method,
-				mmap_disable);
+				flags);
 	return &backend->backend;
 }