Dovecot version: 2.2.34
doveadm import tries to call open() on the source indexes/logs of mdbox data, but even if it should work as it is just a read-related call, it fails on read-only filesystems.
The main use case for read-only filesystem is restoring from backup: the massive deduplicated backup data is exposed using FUSE. For deduplication to work efficiently, we have to backup the whole mail storage and thus the only way to handle the restore to mount the whole data.
I would like to ask for some proper solution for this problem.
Suggestions: first, the doveadm import should never modify the indexes, and second: the open() calls should respect the read-only filesystem and should fall back to "r" flag when using open. The problem goes further when using SIS (which goes beyond multiple terrabytes).
The only workaround currently is to export the whole mdbox data to a writeable storage, and parametrize the import command to use that and the mounted SIS data separately for import...which is just problematic, ugly and error prune.
Thank you for the continous work on dovecot, I hope you get this feedback in a good way.