On Mon, May 04, 2026 at 12:35:43PM -0400, Michael Greenberg wrote:
> The offending code is in `src/global/mail_queue.c`:
> 
> ```C
>     for (;;) {
>       GETTIMEOFDAY(tp);
>       vstring_sprintf(temp_path, "%s/%d.%d", queue_name,
>                       (int) tp->tv_usec, pid);
>       if ((fd = open(STR(temp_path), O_RDWR | O_CREAT | O_EXCL, mode)) >= 0)
>           break;
>       if (errno == EEXIST || errno == EISDIR)
>           continue;
>       msg_warn("%s: create file %s: %m", myname, STR(temp_path));
>       sleep(10);
>     }
> ```
> 
> It must be the case that `open` is returning `EROFS`, which causes `%m`
> to generate that message. Others online (e.g.,
> <https://unix.stackexchange.com/questions/670080/postfix-thinks-its-on-a-read-only-filesystem>)
> seem to point to systemd as well---something about the system protection
> level causes the postfix process to see a read-only filesystem.

Learn to live. Yes, it seems systemd does protection by playing mount
tricks. Thanks for the clarification.

Cheers
-- 
t

Attachment: signature.asc
Description: PGP signature

Reply via email to