Mercurial > dovecot > core-2.2
changeset 12594:f7e4d46e980f
lib-storage: Don't fail mailbox deletion if backend doesn't support mailbox GUIDs.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 23 Jan 2011 23:32:34 +0200 |
parents | ad3abe06954b |
children | 5d97dfa9d86c |
files | src/lib-storage/index/index-storage.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/index-storage.c Sun Jan 23 22:58:34 2011 +0200 +++ b/src/lib-storage/index/index-storage.c Sun Jan 23 23:32:34 2011 +0200 @@ -446,6 +446,7 @@ int index_storage_mailbox_delete(struct mailbox *box) { struct mailbox_metadata metadata; + int ret_guid; if (!box->opened) { /* \noselect mailbox, try deleting only the directory */ @@ -455,8 +456,7 @@ if (mailbox_mark_index_deleted(box, TRUE) < 0) return -1; - if (mailbox_get_metadata(box, MAILBOX_METADATA_GUID, &metadata) < 0) - return -1; + ret_guid = mailbox_get_metadata(box, MAILBOX_METADATA_GUID, &metadata); /* Make sure the indexes are closed before trying to delete the directory that contains them. It can still fail with some NFS @@ -470,8 +470,11 @@ return -1; } - mailbox_list_add_change(box->list, MAILBOX_LOG_RECORD_DELETE_MAILBOX, - metadata.guid); + if (ret_guid == 0) { + mailbox_list_add_change(box->list, + MAILBOX_LOG_RECORD_DELETE_MAILBOX, + metadata.guid); + } return index_storage_mailbox_delete_dir(box, TRUE); }