Skip to content

Commit

Permalink
dbox: Revert cache changes if some save/copy fails but transaction is…
Browse files Browse the repository at this point in the history
… committed.
  • Loading branch information
sirainen committed May 27, 2016
1 parent f819faf commit c866a03
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/lib-storage/index/dbox-multi/mdbox-save.c
Expand Up @@ -216,6 +216,7 @@ static int mdbox_save_finish_write(struct mail_save_context *_ctx)

if (ctx->ctx.failed) {
mail_index_expunge(ctx->ctx.trans, ctx->ctx.seq);
mail_cache_transaction_reset(ctx->ctx.ctx.transaction->cache_trans);
mdbox_map_append_abort(ctx->append_ctx);
array_delete(&ctx->mails, array_count(&ctx->mails) - 1, 1);
return -1;
Expand Down
1 change: 1 addition & 0 deletions src/lib-storage/index/dbox-single/sdbox-save.c
Expand Up @@ -195,6 +195,7 @@ static int dbox_save_finish_write(struct mail_save_context *_ctx)

if (ctx->ctx.failed) {
mail_index_expunge(ctx->ctx.trans, ctx->ctx.seq);
mail_cache_transaction_reset(ctx->ctx.ctx.transaction->cache_trans);
dbox_file_append_rollback(&ctx->append_ctx);
dbox_file_unlink(*files);
dbox_file_unref(files);
Expand Down

0 comments on commit c866a03

Please sign in to comment.