From: Marco Bettini Date: Fri, 15 Sep 2023 09:12:24 +0000 (+0000) Subject: lib-index: mail_transaction_log_file_lock() - Set last_error.error on readonly indexes X-Git-Tag: 2.4.0~2553 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3b0b14c801a4a2d6cb81a61c6d4b0103ce5448d;p=thirdparty%2Fdovecot%2Fcore.git lib-index: mail_transaction_log_file_lock() - Set last_error.error on readonly indexes --- 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);