Are you running any particular Postfix version on any particular platform, built from source or binary distribution?
The code in question is double smtpd_space_multf = 1.5; #define BLOCKS(x) ((x) / fsbuf.block_size) if (BLOCKS(var_queue_minfree) >= fsbuf.block_free || BLOCKS(var_message_limit) >= fsbuf.block_free / smtpd_space_multf) { (void) smtpd_check_reject(state, MAIL_ERROR_RESOURCE, 452, "4.3.1", "Insufficient system storage"); msg_warn("not enough free space in mail queue: %lu bytes < " "%g*message size limit", (unsigned long) fsbuf.block_free * fsbuf.block_size, smtpd_space_multf); The test has two conditions, and one of them is true. In addition we know that fsbuf.block_free * fsbuf.block_size = 908328873984 which is a plausible value (this number is logged in a warning message). So both fsbuf.block_free and fsbuf.block_size are likely good. - If the first condition is true, then the queue_minfree parameter has a small non-zero value. As this is parameter is not read from main.cf, perhaps its compiled-in default value has changed due to a bit-flip in non-ECC memory? A reboot would change that. - If the second condition is true, then the message_size_limit parameter has a very large value. As this is read from main.cf and converted to number every time a process starts, a bad bit-flip in the message_size_limit value is unlikely. Wietse