Should work now with latest hg (tomorrow's nightly build).
No, it doesn't. After update to 20130123:
doveadm(vmail): Debug: Loading modules from directory: /usr/lib64/dovecot doveadm(vmail): Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so doveadm(vmail): Debug: Loading modules from directory: /usr/lib64/dovecot/doveadm doveadm(vmail): Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message) doveadm(vmail): Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/lib64/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_deinit (this is usually intentional, so just ignore this message) doveadm(vmail): Debug: Module loaded: /usr/lib64/dovecot/doveadm/lib10_doveadm_quota_plugin.so doveadm(vmail): Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib64/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_backend_rescan (this is usually intentional, so just ignore this message) doveadm(user@example.org): Debug: auth input: user@example.org home=/var/vmail/example.org/user/ quota2_rule=*:storage=400000M nodelay=Y uid=999 gid=999 doveadm(user@example.org): Debug: Added userdb setting: plugin/nodelay=Y doveadm(user@example.org): Debug: Added userdb setting: plugin/quota2_rule=*:storage=400000M doveadm(user@example.org): Debug: Effective uid=999, gid=999, home=/var/vmail/example.org/user/ doveadm(user@example.org): Debug: Quota root: name=Domain quota backend=dict args=example.org:redis:host=127.0.0.1:prefix=domain/ doveadm(user@example.org): Debug: Quota rule: root=Domain quota mailbox=* bytes=0 messages=0 doveadm(user@example.org): Debug: Quota rule: root=Domain quota mailbox=Trash bytes=0 (5%) messages=0 doveadm(user@example.org): Debug: Quota root: name=User quota backend=dict args=:redis:host=127.0.0.1:prefix=user/ doveadm(user@example.org): Debug: Quota rule: root=User quota mailbox=* bytes=419430400000 messages=0 doveadm(user@example.org): Debug: Quota rule: root=User quota mailbox=Trash bytes=+20971520000 (5%) messages=0 doveadm(user@example.org): Debug: dict quota: user=example.org, uri=redis:host=127.0.0.1:prefix=domain/, noenforcing=0 doveadm(user@example.org): Debug: dict quota: user=user@example.org, uri=redis:host=127.0.0.1:prefix=user/, noenforcing=0 doveadm(user@example.org): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/var/vmail/example.org/user:INDEX=/var/vmail_indexes/example.org/user/ doveadm(user@example.org): Debug: fs: root=/var/vmail/example.org/user, index=/var/vmail_indexes/example.org/user, indexpvt=, control=, inbox=, alt= doveadm(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Effective uid=999, gid=999, home=/var/vmail/example.org/user/ dsync(user@example.org): Debug: Quota root: name=Domain quota backend=dict args=example.org:redis:host=127.0.0.1:prefix=domain/ dsync(user@example.org): Debug: Quota rule: root=Domain quota mailbox=* bytes=0 messages=0 dsync(user@example.org): Debug: Quota rule: root=Domain quota mailbox=Trash bytes=0 (5%) messages=0 dsync(user@example.org): Debug: Quota root: name=User quota backend=dict args=:redis:host=127.0.0.1:prefix=user/ dsync(user@example.org): Debug: Quota rule: root=User quota mailbox=* bytes=419430400000 messages=0 dsync(user@example.org): Debug: Quota rule: root=User quota mailbox=Trash bytes=+20971520000 (5%) messages=0 dsync(user@example.org): Debug: dict quota: user=example.org, uri=redis:host=127.0.0.1:prefix=domain/, noenforcing=0 dsync(user@example.org): Debug: dict quota: user=user@example.org, uri=redis:host=127.0.0.1:prefix=user/, noenforcing=0 dsync(user@example.org): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=imapc: dsync(user@example.org): Debug: imapc: root=, index=, indexpvt=, control=, inbox=, alt= dsync(user@example.org): Debug: imapc(imap.example.org:143): Looking up IP address dsync(user@example.org): Debug: imapc(imap.example.org:143): Connecting to 111.222.333.444:143 dsync(user@example.org): Debug: imapc(imap.example.org:143): Server capabilities: IMAP4rev1 LITERAL+ ID ENABLE STARTTLS AUTH=PLAIN AUTH=DIGEST-MD5 AUTH=CRAM-MD5 AUTH=LOGIN AUTH=SRP SASL-IR dsync(user@example.org): Debug: imapc(imap.example.org:143): Authenticating as user@example.org dsync(user@example.org): Debug: imapc(imap.example.org:143): Server capabilities: IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE LIST-EXTENDED WITHIN QRESYNC SCAN XLIST URLAUTH URLAUTH=BINARY X-NETSCAPE LOGINDISABLED COMPRESS=DEFLATE IDLE dsync(user@example.org): Debug: imapc(imap.example.org:143): Authenticated successfully dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree dsync(user@example.org): Debug: brain M: out state=send_mailbox_tree_deletes changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=send_mailbox_tree_deletes dsync(user@example.org): Debug: brain M: out state=recv_mailbox_tree changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree dsync(user@example.org): Debug: brain S: out state=send_mailbox_tree_deletes changed=1 dsync(user@example.org): Debug: brain M: in state=recv_mailbox_tree dsync(user@example.org): Debug: brain M: out state=recv_mailbox_tree_deletes changed=1 dsync(user@example.org): Debug: brain S: in state=send_mailbox_tree_deletes dsync(user@example.org): Debug: brain S: out state=recv_mailbox_tree changed=1 dsync(user@example.org): Debug: brain M: in state=recv_mailbox_tree_deletes dsync(user@example.org): Error: Mailbox INBOX sync: mailbox_delete failed: INBOX can't be deleted. dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/Drafts doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/Junk doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/Postmaster doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/Sent doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/Templates doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/Trash doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: Namespace : /var/vmail/example.org/user/mailboxes/&BBoEPgRABDcEOAQ9BDA- doesn't exist yet, using default permissions dsync(user@example.org): Debug: Namespace : Using permissions from /var/vmail/example.org/user: mode=0700 gid=default dsync(user@example.org): Debug: brain M: out state=master_send_mailbox changed=1 dsync(user@example.org): Debug: brain S: in state=recv_mailbox_tree dsync(user@example.org): Debug: brain S: out state=recv_mailbox_tree_deletes changed=1 dsync(user@example.org): Debug: imapc(imap.example.org:143): Disconnected
What's mean
dsync(user@example.org): Error: Mailbox INBOX sync: mailbox_delete failed: INBOX can't be deleted.
?! Why dsync tried to delete(!) INBOX?