Hello,
I'm currently using dovecot 1.2.11 on FreeBSD 8.0 with ZFS filesystems.
So far, so good, it works quite nicely, but I have a couple glitches.
Each user has his own zfs partition, mounted on /home/<user> (easier to set per user quotas) and mail is stored in their home.
From day one, when people check their mail via imap, a lot of indexes corruption occured :
dovecot: IMAP(<user>@domain.org): Corrupted transaction log file /home/<user>/Mail/Maildir/INBOX/dovecot.index.log seq 13: record size too small +(type=0x0, offset=5560, size=0) (sync_offset=5652) dovecot: IMAP(<user>@domain.org): fscking index file /home/<user>/Mail/Maildir/INBOX/dovecot.index dovecot: IMAP(<user>@domain.org): /home/<user>/Mail/Maildir/INBOX/dovecot.index log position went backwards (13,132 < 13,5560) dovecot: IMAP(<user>@domain.org): Transaction log file /home/<user>/Mail/Maildir/INBOX/dovecot.index.log: marked corrupted
etc, etc...
After some digging, I "solved" this problem with mmap_disable = yes in dovecot.conf. Index corruption doesn't seem to occur anymore.
Is this normal? I thought this problem occured only on NFS filesystem and eventually on old versions of ZFS. Hasn't this been fixed?
Is there an option in ZFS that would allow mmap calls without corruption. Has it something to do with compression ?
The options of the zfs filesystem are :
zhome/username type filesystem - zhome/username creation Thu Mar 18 11:10 2010 - zhome/username used 750M - zhome/username available 61.0G - zhome/username referenced 750M - zhome/username compressratio 1.20x - zhome/username mounted yes - zhome/username quota none default zhome/username reservation none default zhome/username recordsize 128K default zhome/username mountpoint /usr/home/username inherited from zhome zhome/username sharenfs off default zhome/username checksum on default zhome/username compression lzjb inherited from zhome zhome/username atime off inherited from zhome zhome/username devices on default zhome/username exec on default zhome/username setuid on default zhome/username readonly off default zhome/username jailed off default zhome/username snapdir hidden default zhome/username aclmode groupmask default zhome/username aclinherit restricted default zhome/username canmount on default zhome/username shareiscsi off default zhome/username xattr off temporary zhome/username copies 1 default zhome/username version 3 - zhome/username utf8only off - zhome/username normalization none - zhome/username casesensitivity sensitive - zhome/username vscan off default zhome/username nbmand off default zhome/username sharesmb off default zhome/username refquota none default zhome/username refreservation none default zhome/username primarycache all default zhome/username secondarycache all default zhome/username usedbysnapshots 0 - zhome/username usedbydataset 750M - zhome/username usedbychildren 0 - zhome/username usedbyrefreservation 0 -
Other problem, that I have been unable to solve so far, is that a lot of entries show up in my logs about :
dovecot: imap-login: net_disconnect() failed: Connection reset by peer
It doesn't seem to have any adverse effect, except it's filling up the logs. It seem to appear when a client closes the imap connection? Is there a way to suppress this error?
Regard
P.C.