Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6086:e562c6359cd1 HEAD
Added increasing file_seq field to list index.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 19 Jul 2007 01:55:14 +0300 |
parents | cc8b6e73e830 |
children | f479a774a416 |
files | src/lib-index/mailbox-list-index-private.h src/lib-index/mailbox-list-index-sync.c src/lib-index/mailbox-list-index.c |
diffstat | 3 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mailbox-list-index-private.h Thu Jul 19 00:29:35 2007 +0300 +++ b/src/lib-index/mailbox-list-index-private.h Thu Jul 19 01:55:14 2007 +0300 @@ -15,6 +15,7 @@ uint8_t minor_version; uint8_t unused[2]; + uint32_t file_seq; uint32_t header_size; uint32_t uid_validity;
--- a/src/lib-index/mailbox-list-index-sync.c Thu Jul 19 00:29:35 2007 +0300 +++ b/src/lib-index/mailbox-list-index-sync.c Thu Jul 19 01:55:14 2007 +0300 @@ -987,6 +987,7 @@ return -1; /* reset header */ + ctx->hdr.file_seq++; ctx->hdr.used_space = sizeof(ctx->hdr); ctx->hdr.deleted_space = 0;
--- a/src/lib-index/mailbox-list-index.c Thu Jul 19 00:29:35 2007 +0300 +++ b/src/lib-index/mailbox-list-index.c Thu Jul 19 01:55:14 2007 +0300 @@ -197,13 +197,15 @@ } static void -mailbox_list_index_init_header(struct mailbox_list_index_header *hdr, +mailbox_list_index_init_header(struct mailbox_list_index *index, + struct mailbox_list_index_header *hdr, uint32_t uid_validity) { memset(hdr, 0, sizeof(*hdr)); hdr->major_version = MAILBOX_LIST_INDEX_MAJOR_VERSION; hdr->minor_version = MAILBOX_LIST_INDEX_MINOR_VERSION; + hdr->file_seq = index->hdr == NULL ? 1 : index->hdr->file_seq + 1; hdr->header_size = sizeof(*hdr); hdr->used_space = hdr->header_size; @@ -262,7 +264,7 @@ } } - mailbox_list_index_init_header(&hdr, uid_validity); + mailbox_list_index_init_header(index, &hdr, uid_validity); if (write_full(fd, &hdr, sizeof(hdr)) < 0) { mailbox_list_index_set_syscall_error(index, "write_full()"); (void)file_dotlock_delete(&dotlock);