Hi list, can someone please explain me the following behaviour of deliver in combination with fs-quota and reading from stdin:> # repquota -a | grep ud_3p5 > ud_3p5 -- 4464 10240 12288 10 0 0 > # stat -c "%s" /tmp/mymail > 4524853so there's enough space for this mail> # su ud_3p5 -s/bin/sh -c "cat /tmp/mymail | /usr/libexec/dovecot/deliver -e; echo \$?" > sda6: warning, user block quota exceeded. > sda6: write failed, user block limit reached. > Not enough disk space > 77vs.> # su ud_3p5 -s/bin/sh -c "/usr/libexec/dovecot/deliver -p /tmp/mymail -e; echo \$?" > 0Must have something to do with create_raw_stream inside deliver.c System is running Dovecot v1.2.13 Thanks, / manuel
On Wed, 2010-10-27 at 19:52 +0200, Manuel Mausz wrote:> > # su ud_3p5 -s/bin/sh -c "cat /tmp/mymail | /usr/libexec/dovecot/deliver -e; echo \$?"..> > # su ud_3p5 -s/bin/sh -c "/usr/libexec/dovecot/deliver -p /tmp/mymail -e; echo \$?" > > 0 > > Must have something to do with create_raw_stream inside deliver.c > > System is running Dovecot v1.2.13Yeah. With v1.2 without -p parameter it's first creating a temporary file into the user's home dir, which increases quota. In v2.0 /tmp is again the default, but it's now configurable: # Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. #mail_temp_dir = /tmp The reason why it was moved away from /tmp in the first place was because someone complained that their /tmp was too small for it.