[Dovecot] ZFS Index corruption and Connection reset by peer
Philippe Chevalier
chevalier at dspnet.fr.eu.org
Tue Jun 8 15:20:00 EEST 2010
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.
More information about the dovecot
mailing list