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.
<<attachment: boutilpj.vcf>>
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/