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
I couldn't reproduce this myself. I can't also think of why it would work any differently with symlinks. Does it happen if you don't use acl or quota plugins?
OK, we can still reproduce this error even without quota's or ACL's, but we were able to narrow it down.
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
When we symlink to the same filesystem, it works:
ln -s /mailstore/user/Maildir/.Junk -> /mailstore/user/JunkMail
The /mailstore and /junkstore are separate NFS-mounted filesystems.
Here is the transaction log when it fails, using Dovecot 1.0.3:
- OK System ready. a a BAD Error in IMAP command received by server. a001 LOGIN testuser testpw a001 OK Logged in. a002 SELECT Junk
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk $Junk)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk $Junk \*)] Flags permitted.
- 5 EXISTS
- 1 RECENT
- OK [UNSEEN 1] First unseen.
- OK [UIDVALIDITY 1186687991] UIDs valid
- OK [UIDNEXT 3777] Predicted next UID a002 OK [READ-WRITE] Select completed. a003 FETCH 1:* (UID)
- 1 FETCH (UID 3772)
- 2 FETCH (UID 3773)
- 3 FETCH (UID 3774)
- 4 FETCH (UID 3775)
- 5 FETCH (UID 3776) a003 OK Fetch completed. a004 STORE 1 +flags \Deleted
- 1 FETCH (FLAGS (\Deleted $NotJunk)) a004 OK Store completed. a005 EXPUNGE a005 NO BUG: Unknown internal error a006 LOGOUT
BYE Logging out a006 OK Logout completed.
We appreciate your help! :)
Rich