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,

-- 
  Leena Heino              University of Tampere / Computer Centre
  ( liinu at uta.fi )      ( http://www.uta.fi/laitokset/tkk )
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/

Reply via email to