From d3b0b14c801a4a2d6cb81a61c6d4b0103ce5448d Mon Sep 17 00:00:00 2001 From: Marco Bettini Date: Fri, 15 Sep 2023 09:12:24 +0000 Subject: [PATCH] lib-index: mail_transaction_log_file_lock() - Set last_error.error on readonly indexes --- src/lib-index/mail-transaction-log-file.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib-index/mail-transaction-log-file.c b/src/lib-index/mail-transaction-log-file.c index 3a1849d320..2659aacc99 100644 --- a/src/lib-index/mail-transaction-log-file.c +++ b/src/lib-index/mail-transaction-log-file.c @@ -372,16 +372,17 @@ int mail_transaction_log_file_lock(struct mail_transaction_log_file *file) return 0; } - if (index->set.lock_method == FILE_LOCK_METHOD_DOTLOCK) - return mail_transaction_log_file_dotlock(file); - if (index->readonly) { - mail_index_set_error(index, + mail_index_set_error_code( + index, MAIL_INDEX_ERROR_CODE_NO_ACCESS, "Index is read-only, can't write-lock %s", file->filepath); return -1; } + if (index->set.lock_method == FILE_LOCK_METHOD_DOTLOCK) + return mail_transaction_log_file_dotlock(file); + i_assert(file->file_lock == NULL); lock_timeout_secs = I_MIN(MAIL_TRANSACTION_LOG_LOCK_TIMEOUT, index->set.max_lock_timeout_secs); -- 2.47.3