]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
remove mail_index_reset() completely
authorTimo Sirainen <tss@iki.fi>
Sat, 1 May 2004 16:30:58 +0000 (19:30 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 1 May 2004 16:30:58 +0000 (19:30 +0300)
--HG--
branch : HEAD

src/lib-index/Makefile.am
src/lib-index/mail-index-private.h
src/lib-index/mail-index-reset.c [deleted file]
src/lib-index/mail-index.h
src/lib-storage/index/maildir/maildir-sync.c

index e3af7586daffe0888a82c061f5ca7dce1ed777c6..9860919d790ac1db363f39d7a075e0ac9ad4a880 100644 (file)
@@ -12,7 +12,6 @@ libindex_a_SOURCES = \
         mail-index-fsck.c \
         mail-index-lock.c \
         mail-index-transaction.c \
-        mail-index-reset.c \
         mail-index-sync.c \
         mail-index-sync-update.c \
         mail-index-view.c \
index 4f79678051007115704370f841f03f1769dbd54d..fcc9d8a6673e14446313f37482ce462d1cc9f119 100644 (file)
@@ -128,7 +128,6 @@ int mail_index_sync_get_rec(struct mail_index_view *view,
                            const void *data, size_t *data_offset);
 
 void mail_index_set_inconsistent(struct mail_index *index);
-int mail_index_mark_corrupted(struct mail_index *index);
 
 int mail_index_set_error(struct mail_index *index, const char *fmt, ...)
        __attr_format__(2, 3);
diff --git a/src/lib-index/mail-index-reset.c b/src/lib-index/mail-index-reset.c
deleted file mode 100644 (file)
index 626902a..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright (C) 2004 Timo Sirainen */
-
-#include "lib.h"
-#include "mmap-util.h"
-#include "write-full.h"
-#include "mail-index-private.h"
-#include "mail-transaction-log.h"
-
-static int mail_index_mark_corrupted(struct mail_index *index)
-{
-       struct mail_index_header hdr;
-
-       if (index->readonly)
-               return 0;
-
-       /* make sure we can write the header */
-       if (!MAIL_INDEX_MAP_IS_IN_MEMORY(index->map)) {
-               if (mprotect(index->map->mmap_base, sizeof(hdr),
-                            PROT_READ | PROT_WRITE) < 0) {
-                       mail_index_set_syscall_error(index, "mprotect()");
-                       return -1;
-               }
-       }
-
-       hdr = *index->hdr;
-       hdr.flags |= MAIL_INDEX_HDR_FLAG_CORRUPTED;
-       if (mail_index_write_header(index, &hdr) < 0)
-               return -1;
-
-       if (fsync(index->fd) < 0)
-               return mail_index_set_syscall_error(index, "fsync()");
-
-       mail_index_set_inconsistent(index);
-       return 0;
-}
-
-int mail_index_reset(struct mail_index *index)
-{
-       struct mail_transaction_log *log;
-       struct mail_index_header hdr;
-       uint32_t file_seq;
-       uoff_t file_offset;
-       int log_locked;
-
-       mail_index_header_init(&hdr);
-       if (hdr.indexid == index->indexid)
-               hdr.indexid++;
-
-       if (mail_index_mark_corrupted(index) < 0)
-               return -1;
-
-       /*log_locked = index->log_locked;
-       if (log_locked)
-                mail_transaction_log_sync_unlock(index->log);
-
-       log = index->log;
-       mail_index_close(index);
-       index->log = log;
-
-       if (mail_index_open(index, MAIL_INDEX_OPEN_FLAG_CREATE |
-                           MAIL_INDEX_OPEN_FLAG_REOPEN) < 0)
-               return -1;
-
-       if (log_locked) {
-               if (mail_transaction_log_sync_lock(index->log,
-                                                  &file_seq, &file_offset) < 0)
-                       return -1;
-       }*/
-
-       return 0;
-}
index 02d813a77f25636e8d2096e834f9d39d41f9df71..119ccf1affb8297d24dd99669ba6f83bd2ea2b4f 100644 (file)
@@ -212,8 +212,8 @@ int mail_index_sync_have_more(struct mail_index_sync_ctx *ctx);
 /* End synchronization by unlocking the index and closing the view. */
 int mail_index_sync_end(struct mail_index_sync_ctx *ctx);
 
-/* Reset index by erasing everything in it. Invalidates all views. */
-int mail_index_reset(struct mail_index *index);
+/* Mark index file corrupted. Invalidates all views. */
+int mail_index_mark_corrupted(struct mail_index *index);
 /* Check and fix any found problems. If index is broken beyond repair, calls
    mail_index_reset() and returns 0. Otherwise returns -1 if there was some
    I/O error or 1 if everything went ok. */
index 7e255287c173a0cc20b6f7568929b09c5649a4ff..9bba79d5a6b1f286be0b6c8adde037bb48cb9a4b 100644 (file)
@@ -347,7 +347,7 @@ static int maildir_sync_index(struct maildir_sync_context *ctx)
                        mail_storage_set_critical(ibox->box.storage,
                                "Maildir sync: UID inserted in the middle "
                                "of mailbox (%u > %u)", rec->uid, uid);
-                       (void)mail_index_reset(ibox->index);
+                       mail_index_mark_corrupted(ibox->index);
                        ret = -1;
                        break;
                }