From: Timo Sirainen Date: Sun, 23 Jan 2011 21:32:34 +0000 (+0200) Subject: lib-storage: Don't fail mailbox deletion if backend doesn't support mailbox GUIDs. X-Git-Tag: 2.1.alpha1~411 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=56c0277dcb4e6052499f15cc172e9403bfe33eca;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Don't fail mailbox deletion if backend doesn't support mailbox GUIDs. --- diff --git a/src/lib-storage/index/index-storage.c b/src/lib-storage/index/index-storage.c index 74fbe083c2..9a37abb321 100644 --- a/src/lib-storage/index/index-storage.c +++ b/src/lib-storage/index/index-storage.c @@ -446,6 +446,7 @@ int index_storage_mailbox_delete_dir(struct mailbox *box, bool mailbox_deleted) 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 @@ int index_storage_mailbox_delete(struct mailbox *box) 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 @@ int index_storage_mailbox_delete(struct mailbox *box) 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); }