Remove mailbox_transaction_set_reason().
this guarantees that mails aren't expunged without actually having
been copied. */
desttrans = mailbox_transaction_begin(destbox,
- MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
while (doveadm_mail_iter_next(iter, &mail)) {
save_ctx = mailbox_save_alloc(desttrans);
arg = mail_search_build_add(search_args, SEARCH_UIDSET);
arg->value.seqset = uids;
- trans = mailbox_transaction_begin(box, 0);
+ trans = mailbox_transaction_begin(box, 0, __func__);
search_ctx = mailbox_search_init(trans, search_args, NULL, 0, NULL);
mail_search_args_unref(&search_args);
int ret = 0;
dest_trans = mailbox_transaction_begin(dest_box,
- MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
do {
if (doveadm_debug) {
i_debug("import: box=%s uid=%u",
mailbox_get_vname(box), seq, status.messages);
}
- trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC);
+ trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC,
+ __func__);
search_args = mail_search_build_init();
mail_search_build_add_seqset(search_args, seq, status.messages);
ctx = mailbox_search_init(trans, search_args, NULL,
NULL : mailbox_header_lookup_init(iter->box, wanted_headers);
mail_search_args_init(search_args, iter->box, FALSE, NULL);
- iter->t = mailbox_transaction_begin(iter->box, 0);
+ iter->t = mailbox_transaction_begin(iter->box, 0, __func__);
iter->search_ctx = mailbox_search_init(iter->t, search_args, NULL,
wanted_fields, headers_ctx);
*iter_r = iter;
return ret;
trans = mailbox_transaction_begin(box, ctx->empty_mailbox_name ?
- MAILBOX_TRANSACTION_FLAG_EXTERNAL : 0);
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL : 0,
+ __func__);
ret = ctx->value.value == NULL ?
mailbox_attribute_unset(trans, ctx->key_type, ctx->key) :
return -1;
}
- trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
save_ctx = mailbox_save_alloc(trans);
if (mailbox_save_begin(&save_ctx, input) < 0) {
i_error("Saving failed: %s",
}
exporter->trans = mailbox_transaction_begin(exporter->box,
- MAILBOX_TRANSACTION_FLAG_SYNC);
+ MAILBOX_TRANSACTION_FLAG_SYNC,
+ __func__);
search_ctx = mailbox_search_init(exporter->trans, search_args, NULL,
wanted_fields, wanted_headers);
mail_search_args_unref(&search_args);
MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS;
importer->trans = mailbox_transaction_begin(importer->box,
- importer->transaction_flags);
+ importer->transaction_flags,
+ "dsync import");
importer->ext_trans = mailbox_transaction_begin(importer->box,
- ext_trans_flags);
+ ext_trans_flags,
+ "dsync ext import");
importer->mail = mail_alloc(importer->trans, 0, NULL);
importer->ext_mail = mail_alloc(importer->ext_trans, 0, NULL);
}
importer->virtual_trans =
mailbox_transaction_begin(importer->virtual_all_box,
- importer->transaction_flags);
+ importer->transaction_flags,
+ __func__);
search_ctx = mailbox_search_init(importer->virtual_trans, search_args,
NULL, MAIL_FETCH_GUID, NULL);
mail_search_args_unref(&search_args);
array_count(unwanted_uids));
array_append_array(&arg->value.seqset, unwanted_uids);
- trans = mailbox_transaction_begin(box, trans_flags);
+ trans = mailbox_transaction_begin(box, trans_flags, __func__);
search_ctx = mailbox_search_init(trans, search_args, NULL, 0, NULL);
mail_search_args_unref(&search_args);
else {
ctx->t = mailbox_transaction_begin(ctx->box,
MAILBOX_TRANSACTION_FLAG_EXTERNAL |
- MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS);
- imap_transaction_set_cmd_reason(ctx->t, cmd);
+ MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS,
+ imap_client_command_get_reason(cmd));
}
io_remove(&client->io);
src_uidset = t_str_new(256);
msgset_generator_init(&srcset_ctx, src_uidset);
- src_trans = mailbox_transaction_begin(client->mailbox, 0);
- imap_transaction_set_cmd_reason(src_trans, cmd);
+ src_trans = mailbox_transaction_begin(client->mailbox, 0,
+ imap_client_command_get_reason(cmd));
search_ctx = mailbox_search_init(src_trans, search_args, NULL, 0, NULL);
ret = 1;
t = mailbox_transaction_begin(destbox,
MAILBOX_TRANSACTION_FLAG_EXTERNAL |
- MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS);
- imap_transaction_set_cmd_reason(t, cmd);
+ MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS,
+ imap_client_command_get_reason(cmd));
ret = fetch_and_copy(cmd, move, t, &src_trans, search_args,
&src_uidset, ©_count);
mail_search_args_unref(&search_args);
flags |= MAILBOX_TRANSACTION_FLAG_REFRESH;
}
- t = mailbox_transaction_begin(client->mailbox, flags);
- imap_transaction_set_cmd_reason(t, cmd);
+ t = mailbox_transaction_begin(client->mailbox, flags,
+ imap_client_command_get_reason(cmd));
+
search_ctx = mailbox_search_init(t, search_args, NULL,
MAIL_FETCH_FLAGS, NULL);
mail_search_args_unref(&search_args);
/* first read all of the threads into memory */
pool = pool_alloconly_create("orderedsubject thread", 1024);
i_array_init(&threads, 128);
- trans = mailbox_transaction_begin(cmd->client->mailbox, 0);
- imap_transaction_set_cmd_reason(trans, cmd);
+ trans = mailbox_transaction_begin(cmd->client->mailbox, 0,
+ imap_client_command_get_reason(cmd));
search_ctx = mailbox_search_init(trans, search_args, sort_program,
0, NULL);
while (mailbox_search_next(search_ctx, &mail)) {
t_strdup_printf("%s %s", cmd->name, cmd->human_args);
}
-void imap_transaction_set_cmd_reason(struct mailbox_transaction_context *trans,
- struct client_command_context *cmd)
-{
- mailbox_transaction_set_reason(trans, imap_client_command_get_reason(cmd));
-}
-
const char *
imap_get_error_string(struct client_command_context *cmd,
const char *error_string, enum mail_error error)
/* Refresh the flags so we'll expunge all messages marked as \Deleted
by any session. */
- t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_REFRESH);
- mailbox_transaction_set_reason(t, "EXPUNGE");
+ t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_REFRESH,
+ "EXPUNGE");
ctx = mailbox_search_init(t, search_args, NULL, 0, NULL);
mail_search_args_unref(&search_args);
i_array_init(&search_args->args->value.seqset, count);
array_append_array(&search_args->args->value.seqset, uid_filter_arr);
- trans = mailbox_transaction_begin(box, 0);
- mailbox_transaction_set_reason(trans, "FETCH send VANISHED");
+ trans = mailbox_transaction_begin(box, 0, "FETCH send VANISHED");
search_ctx = mailbox_search_init(trans, search_args, NULL, 0, NULL);
mail_search_args_unref(&search_args);
are added, other flag changes are also hidden.) */
trans_flags |= MAILBOX_TRANSACTION_FLAG_HIDE;
}
- ctx->state.trans = mailbox_transaction_begin(box, trans_flags);
- mailbox_transaction_set_reason(ctx->state.trans, ctx->reason);
+ ctx->state.trans = mailbox_transaction_begin(box, trans_flags,
+ ctx->reason);
mail_search_args_init(search_args, box, TRUE,
&ctx->client->search_saved_uidset);
}
ctx->box = cmd->client->mailbox;
- ctx->trans = mailbox_transaction_begin(ctx->box, 0);
- imap_transaction_set_cmd_reason(ctx->trans, cmd);
+ ctx->trans = mailbox_transaction_begin(ctx->box, 0,
+ imap_client_command_get_reason(cmd));
ctx->sargs = sargs;
ctx->search_ctx =
mailbox_search_init(ctx->trans, sargs, sort_program, 0, NULL);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
- trans = mailbox_transaction_begin(box, 0);
- mailbox_transaction_set_reason(trans, "unhibernate");
+ trans = mailbox_transaction_begin(box, 0,
+ "unhibernate imap_state_export_mailbox_mails");
search_ctx = mailbox_search_init(trans, search_args, NULL, 0, NULL);
mail_search_args_unref(&search_args);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
- trans = mailbox_transaction_begin(client->mailbox, 0);
- mailbox_transaction_set_reason(trans, "unhibernate");
+ trans = mailbox_transaction_begin(client->mailbox, 0,
+ "unhibernate import_send_expunges");
search_ctx = mailbox_search_init(trans, search_args, NULL, 0, NULL);
mail_search_args_unref(&search_args);
mail_user_drop_useless_namespaces(client->user);
ctx->sync_ctx = mailbox_sync_init(box, flags);
- ctx->t = mailbox_transaction_begin(box, 0);
- mailbox_transaction_set_reason(ctx->t, "Mailbox sync");
+ ctx->t = mailbox_transaction_begin(box, 0, "Mailbox sync");
ctx->mail = mail_alloc(ctx->t, MAIL_FETCH_FLAGS, NULL);
ctx->messages_count = client->messages_count;
i_array_init(&ctx->tmp_keywords, client->keywords.announce_count + 8);
}
seq = status.last_cached_seq + 1;
- trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC);
- mailbox_transaction_set_reason(trans, "indexing");
+ trans = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_NO_CACHE_DEC,
+ "indexing");
search_args = mail_search_build_init();
mail_search_build_add_seqset(search_args, seq, status.messages);
ctx = mailbox_search_init(trans, search_args, NULL,
}
mail_user_unref(&raw_mail_user);
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
headers_ctx = mailbox_header_lookup_init(box, wanted_headers);
mail = mail_alloc(t, 0, headers_ctx);
mailbox_header_lookup_unref(&headers_ctx);
if (imtrans->box == NULL || mailbox_open(imtrans->box) < 0)
return -1;
- imtrans->trans = mailbox_transaction_begin(imtrans->box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ imtrans->trans = mailbox_transaction_begin(imtrans->box,
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL, __func__);
return 0;
}
return ret;
/* start transaction */
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
mail = mail_alloc(t, MAIL_FETCH_MESSAGE_PARTS |
MAIL_FETCH_IMAP_BODYSTRUCTURE, NULL);
}
struct mailbox_transaction_context *t =
- mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ mailbox_transaction_begin(box,
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
/* create new key */
random_fill(mailbox_key_r, IMAP_URLAUTH_KEY_LEN);
struct mailbox_transaction_context *t;
int ret;
- t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
ret = mailbox_attribute_unset(t, MAIL_ATTRIBUTE_TYPE_PRIVATE,
IMAP_URLAUTH_KEY);
if (mailbox_transaction_commit(&t) < 0)
if (mailbox_sync(box, MAILBOX_SYNC_FLAG_FAST) < 0)
return NULL;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
mail = mail_alloc(t, wanted_fields, NULL);
if (!mail_set_uid(mail, uid)) {
trans_flags = MAILBOX_TRANSACTION_FLAG_EXTERNAL;
if (ctx->save_dest_mail)
trans_flags |= MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS;
- t = mailbox_transaction_begin(box, trans_flags);
+ t = mailbox_transaction_begin(box, trans_flags, __func__);
kw = str_array_length(keywords) == 0 ? NULL :
mailbox_keywords_create_valid(box, keywords);
}
mail_search_build_add_seqset(search_args, seq1, seq2);
- trans = mailbox_transaction_begin(update->box, 0);
- mailbox_transaction_set_reason(trans, "vsize update");
+ trans = mailbox_transaction_begin(update->box, 0, "vsize update");
search_ctx = mailbox_search_init(trans, search_args, NULL,
MAIL_FETCH_VIRTUAL_SIZE, NULL);
if (!require_result)
if (mailbox_sync(box, MAILBOX_SYNC_FLAG_FULL_READ) < 0)
return -1;
- trans = mailbox_transaction_begin(box, 0);
- mailbox_transaction_set_reason(trans, "mailbox physical size");
+ trans = mailbox_transaction_begin(box, 0, "mailbox physical size");
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
mail_search_args_init(result->search_args, result->box, FALSE, NULL);
- t = mailbox_transaction_begin(result->box, 0);
+ t = mailbox_transaction_begin(result->box, 0, __func__);
search_ctx = mailbox_search_init(t, result->search_args, NULL, 0, NULL);
/* tell search that we're updating an existing search result,
so it can do some optimizations based on it */
result->search_args->args = &search_arg;
/* add all messages matching the search to search result */
- t = mailbox_transaction_begin(result->box, 0);
+ t = mailbox_transaction_begin(result->box, 0, __func__);
search_ctx = mailbox_search_init(t, result->search_args, NULL, 0, NULL);
while (mailbox_search_next(search_ctx, &mail))
return 0;
}
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
mail = mail_alloc(t, 0, NULL);
for (seq = 1; seq <= hdr->messages_count; seq++) {
mail_set_seq(mail, seq);
(void)mailbox_sync(box, MAILBOX_SYNC_FLAG_FULL_READ);
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
ctx = i_new(struct mail_thread_context, 1);
ctx->box = box;
ctx->search_args = args;
- ctx->t = mailbox_transaction_begin(ctx->box, 0);
+ ctx->t = mailbox_transaction_begin(ctx->box, 0, __func__);
/* perform search first, so we don't break if there are INTHREAD keys */
search_ctx = mailbox_search_init(ctx->t, args, NULL, 0, NULL);
first_saved.timestamp = (uint32_t)-1;
if (changes->first_uid != 0) {
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
mail = mail_alloc(t, MAIL_FETCH_SAVE_DATE, NULL);
messages_count = mail_index_view_get_messages_count(box->view);
for (seq = 1; seq <= messages_count; seq++) {
if (size >= sizeof(uint32_t))
last_rename_stamp = *(const uint32_t*)data;
- t = mailbox_transaction_begin(box, 0);
- mailbox_transaction_set_reason(t, "autoexpunge");
+ t = mailbox_transaction_begin(box, 0, "autoexpunge");
mail = mail_alloc(t, 0, NULL);
hdr = mail_index_get_header(box->view);
struct mailbox_transaction_context *
mailbox_transaction_begin(struct mailbox *box,
- enum mailbox_transaction_flags flags)
+ enum mailbox_transaction_flags flags,
+ const char *reason)
{
struct mailbox_transaction_context *trans;
(box->flags & MAILBOX_FLAG_USE_STUBS) != 0);
i_assert(box->opened);
+ i_assert(reason != NULL);
box->transaction_count++;
trans = box->v.transaction_begin(box, flags);
+ trans->reason = i_strdup(reason);
trans->flags = flags;
return trans;
}
box->transaction_count--;
}
-void mailbox_transaction_set_reason(struct mailbox_transaction_context *t,
- const char *reason)
-{
- i_assert(reason != NULL);
-
- i_free(t->reason);
- t->reason = i_strdup(reason);
-}
-
unsigned int mailbox_transaction_get_count(const struct mailbox *box)
{
return box->transaction_count;
struct mailbox_transaction_context *
mailbox_transaction_begin(struct mailbox *box,
- enum mailbox_transaction_flags flags);
+ enum mailbox_transaction_flags flags,
+ const char *reason);
int mailbox_transaction_commit(struct mailbox_transaction_context **t);
int mailbox_transaction_commit_get_changes(
struct mailbox_transaction_context **t,
struct mail_transaction_commit_changes *changes_r);
void mailbox_transaction_rollback(struct mailbox_transaction_context **t);
-/* Set a reason for why the transaction is created. This is used for
- logging purposes. */
-void mailbox_transaction_set_reason(struct mailbox_transaction_context *t,
- const char *reason);
/* Return the number of active transactions for the mailbox. */
unsigned int mailbox_transaction_get_count(const struct mailbox *box) ATTR_PURE;
/* When committing transaction, drop flag/keyword updates for messages whose
return -1;
}
- trans = mailbox_transaction_begin(box, 0);
+ trans = mailbox_transaction_begin(box, 0, __func__);
headers_ctx = mailbox_header_lookup_init(box, wanted_headers);
client->state.raw_mail = mail_alloc(trans, 0, headers_ctx);
struct mailbox_transaction_context *t;
int ret;
- t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
ret = acl_mailbox_update_acl(t, update);
if (mailbox_transaction_commit(&t) < 0)
ret = -1;
*stamp_r = ioloop_time;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
mail = mail_alloc(t, 0, NULL);
/* find the first non-expunged mail. we're here because the first
struct mail *mail;
int ret;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
return -1;
}
- t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ t = mailbox_transaction_begin(box, MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
ret = acl_mailbox_update_acl(t, update);
if (mailbox_transaction_commit(&t) < 0)
ret = -1;
}
lt->dest_trans = mailbox_transaction_begin(lt->dest_box,
- MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ __func__);
}
save_ctx = mailbox_save_alloc(lt->dest_trans);
string_t *uid = t_str_new(64);
struct mailbox_transaction_context *t =
- mailbox_transaction_begin(box, 0);
+ mailbox_transaction_begin(box, 0, __func__);
ret = 0;
if (ret == 1) {
struct mailbox_transaction_context *t =
- mailbox_transaction_begin(box, 0);
+ mailbox_transaction_begin(box, 0, __func__);
struct dcrypt_private_key *key;
const struct raw_key *raw_key;
const char *algo = ctx->new_password != NULL ?
}
struct mailbox_transaction_context *t;
- t = mailbox_transaction_begin(src_box, 0);
+ t = mailbox_transaction_begin(src_box, 0, __func__);
const char *const *hash;
array_foreach(&digests, hash) {
t_array_init(&keys, 8);
struct mailbox_transaction_context *t =
- mailbox_transaction_begin(src_box, 0);
+ mailbox_transaction_begin(src_box, 0, __func__);
/* get private keys from box */
if (mail_crypt_box_get_private_keys(src_box, &keys, error_r) < 0 ||
return -1;
}
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
if ((ret = mail_crypt_set_private_key(t, TRUE, FALSE, pubid, enc_key, key,
error_r)) < 0) {
int ret;
struct mailbox_transaction_context *t;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
if ((ret = mail_crypt_set_private_key(t, FALSE, FALSE, pubid, user_key,
key, error_r)) < 0) {
mailbox_transaction_rollback(&t);
return -1;
}
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
if ((ret = mail_crypt_set_public_key(t, TRUE, pubid, key,
error_r)) == 0) {
struct mailbox_transaction_context *t;
struct mail_attribute_value value;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
if ((ret = mail_crypt_set_public_key(t, FALSE, pubid, key,
error_r)) == 0) {
value.value_stream = NULL;
i_fatal("mailbox_open(INBOX) failed: %s",
mailbox_get_last_internal_error(box, NULL));
- struct mailbox_transaction_context *t = mailbox_transaction_begin(box, 0);
+ struct mailbox_transaction_context *t =
+ mailbox_transaction_begin(box, 0, __func__);
test_mail_attribute_set(t, TRUE, FALSE, mcp_old_user_key_id,
mcp_old_user_key, &error);
return -1;
}
- t = mailbox_transaction_begin(pop3_box, 0);
+ t = mailbox_transaction_begin(pop3_box, 0, __func__);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
ctx = mailbox_search_init(t, search_args, NULL,
struct msg_map_common *map;
int ret = 0;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
/* get all the cached hashes */
search_args = mail_search_build_init();
mail_search_build_add_seqset(search_args, seq1, array_count_i(msg_map));
i_assert(!array_is_created(&mbox->imap_msg_map));
p_array_init(&mbox->imap_msg_map, box->pool, status.messages);
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
ctx = mailbox_search_init(t, search_args, NULL,
unsigned int i, count;
unsigned int field_idx;
- t = mailbox_transaction_begin(box, 0);
+ t = mailbox_transaction_begin(box, 0, __func__);
mail = mail_alloc(t, 0, NULL);
imail = INDEX_MAIL(mail);
field_idx = imail->ibox->cache_fields[MAIL_CACHE_POP3_UIDL].idx;
struct mail_index_view *box_view = box->view;
if (box->tmp_sync_view != NULL)
box->view = box->tmp_sync_view;
- qbox->expunge_trans = mailbox_transaction_begin(box, 0);
- mailbox_transaction_set_reason(qbox->expunge_trans, "quota");
+ qbox->expunge_trans = mailbox_transaction_begin(box, 0, "quota");
box->view = box_view;
qbox->expunge_qt->tmp_mail =
mail_alloc(qbox->expunge_trans,
if (mailbox_sync(srcbox, MAILBOX_SYNC_FLAG_FULL_READ) < 0)
return -1;
- src_trans = mailbox_transaction_begin(srcbox, 0);
+ src_trans = mailbox_transaction_begin(srcbox, 0, "snarf src_trans");
dest_trans = mailbox_transaction_begin(destbox,
- MAILBOX_TRANSACTION_FLAG_EXTERNAL);
+ MAILBOX_TRANSACTION_FLAG_EXTERNAL,
+ "snarf dest_trans");
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
if (mailbox_sync(trash->box, MAILBOX_SYNC_FLAG_FULL_READ) < 0)
return -1;
- trash->trans = mailbox_transaction_begin(trash->box, 0);
+ trash->trans = mailbox_transaction_begin(trash->box, 0, __func__);
search_args = mail_search_build_init();
mail_search_build_add_all(search_args);
struct mailbox_transaction_context *trans;
if (bbox->sync_mail == NULL) {
- trans = mailbox_transaction_begin(bbox->box, 0);
+ trans = mailbox_transaction_begin(bbox->box, 0, __func__);
bbox->sync_mail = mail_alloc(trans, 0, NULL);
}
}
enum mailbox_search_result_flags result_flags;
int ret;
- trans = mailbox_transaction_begin(bbox->box, 0);
+ trans = mailbox_transaction_begin(bbox->box, 0, __func__);
if (!bbox->search_args_initialized) {
mail_search_args_init(bbox->search_args, bbox->box, FALSE, NULL);
return bt[i];
}
- new_bt = mailbox_transaction_begin(backend_box, trans->flags);
+ new_bt = mailbox_transaction_begin(backend_box, trans->flags, __func__);
array_append(&vt->backend_transactions, &new_bt, 1);
return new_bt;
}
}
(void)mailbox_transaction_commit(&client->trans);
- client->trans = mailbox_transaction_begin(client->mailbox, 0);
+ client->trans = mailbox_transaction_begin(client->mailbox, 0, __func__);
}
static void client_idle_timeout(struct client *client)
client->uid_validity = status.uidvalidity;
client->messages_count = status.messages;
- t = mailbox_transaction_begin(client->mailbox, 0);
+ t = mailbox_transaction_begin(client->mailbox, 0, __func__);
search_args = mail_search_build_init();
if (client->deleted_kw != NULL) {
(void)mailbox_search_deinit(&search_ctx);
(void)mailbox_transaction_commit(&client->trans);
- client->trans = mailbox_transaction_begin(client->mailbox, 0);
+ client->trans = mailbox_transaction_begin(client->mailbox, 0,
+ __func__);
}
client_send_line(client, "+OK");