On 03/13/2012 03:00 AM, Leena Heino wrote:
On 13.3.2012 3:59, Patrick Boutilier wrote:
I just updated my replication server from 2.4.12 to 2.4.14 and then got
nothing but "System I/O error" errors in the logs. I took a look at
http://bugzilla.cyrusimap.org/show_bug.cgi?id=3381 and noticed this:
You can convert your mail directory hashing scheme from 32bit
fulldirhash to
64bit fulldirhash with following commands:
% tools/rehash basic
% tools/rehash full
Unfortunately I have almost 5TB of mail spread out on 23 different mount
points. All the letters in /imap/mail are individual mount points so
rehashing would mean lots of moves across the mount points which won't
be quick.
Is there a way to force Cyrus to use the old 32bit way, other than just
removing the patch?
Unfortunately there does not seem to be way to force either 32bit or
64bit fulldirhash.
You have to remove this patch from 2.4.14:
diff --git a/lib/util.c b/lib/util.c
index 8bcb00e..c96caa5 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -269,7 +269,7 @@ int dir_hash_c(const char *name, int full)
if (full) {
unsigned char *pt;
- unsigned int n;
+ unsigned long long int n;
enum {
DIR_X = 3,
DIR_Y = 5,
Removed the patch last night and all was fine.
begin:vcard
fn:Patrick Boutilier
n:Boutilier;Patrick
org:;Nova Scotia Department of Education
adr:;;2021 Brunswick Street;Halifax;NS;B3K 2Y5;Canada
email;internet:boutilpj@xxxxxxxxxxx
title:WAN Communications Specialist
tel;work:902-424-6800
tel;fax:902-424-0874
version:2.1
end:vcard
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/