[Dovecot] Bug? Expunging Symlinked Maildir w/ Lazy_expunge Enabled

Timo Sirainen tss at iki.fi
Sat Sep 22 17:40:22 EEST 2007


On Mon, 2007-09-10 at 14:05 -0700, Rich at Whidbey Telecom wrote:
> Timo Sirainen wrote:
> > On Wed, 2007-08-29 at 09:04 -0700, Rich at Whidbey Telecom wrote:
> >> Hi all,
> >>
> >> Using Dovecot 1.0.3 on RedHat Enterprise 5 (kernel 2.6.18-8.1.6.el5PAE), 
> >> and NFS storage, we symlinked a Maildir folder:
> >>
> >> /mailstore/user/Maildir/.Junk -> /junkstore/user/Junkmaildir
> >>
> >> Everything works fine, until we try to expunge, which produces:
> > 
> > You really mean EXPUNGE, not DELETE command?
> > 
> >>    A04 NO BUG: Unknown internal error

http://hg.dovecot.org/dovecot-1.0/rev/f0ea8a04225d changes this to a
proper error message.

> EXPUNGE fails only with "lazy_expunge" enabled, and you have symlinked a 
> folder to a different file system:
> 
>    ln -s /mailstore/user/Maildir/.Junk -> /junkstore/user/JunkMail

Right. The symlink isn't the problem, the problem is that it's on a
different filesystem so rename() fails. There are two ways to handle
this:

1) Copy the message to the other filesystem. This is slow.
2) Just unlink() the message.

Perhaps this could be configurable.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070922/c337e43f/attachment.bin 


More information about the dovecot mailing list