On Mon, 2007-06-18 at 20:50 +0200, Erland Nylend wrote: > On 2007-06-18, 18:47, Timo Sirainen wrote: > > So I guess nothing before this? > > There is one more log line, which I missed: > > Jun 18 19:47:54 smtp2 deliver([EMAIL PROTECTED]): copy: mailbox_save_finish() > failed > Jun 18 19:47:54 smtp2 deliver([EMAIL PROTECTED]): quota_copy(): super.copy > failed
Oh, one of my earlier patches was supposed to catch quota_save_finish(), not quota_copy(). Attached. Also added some more checks.. It has to be related to quota code.
diff -r 86766f448e50 src/plugins/quota/quota-storage.c --- a/src/plugins/quota/quota-storage.c Sun Jun 17 22:08:49 2007 +0300 +++ b/src/plugins/quota/quota-storage.c Tue Jun 19 03:49:59 2007 +0300 @@ -121,9 +121,12 @@ static int quota_check(struct mailbox_tr if (ret > 0) return 0; else if (ret == 0) { + i_error("quota_check(): quota exceeded"); mail_storage_set_error(t->box->storage, "Quota exceeded"); return -1; } else { + i_error("quota_check(): failed: %s", + quota_last_error(quota_set)); mail_storage_set_error(t->box->storage, "%s", quota_last_error(quota_set)); return -1; @@ -215,11 +218,15 @@ static int quota_save_finish(struct mail MAIL_FETCH_PHYSICAL_SIZE, NULL); } - if (qbox->super.save_finish(ctx, save_dest_mail) < 0) - return -1; + if (qbox->super.save_finish(ctx, save_dest_mail) < 0) { + i_error("quota.save_finish() failed"); + return -1; + } qbox->save_hack = TRUE; ret = quota_check(ctx->transaction, save_dest_mail); + if (ret < 0) + i_error("quota.save_finish() quota_check() failed"); if (save_dest_mail != dest_mail) mail_free(&save_dest_mail);
signature.asc
Description: This is a digitally signed message part