Mercurial > dovecot > core-2.2
diff src/lib-index/mail-index.c @ 5278:d569caa88a66 HEAD
If we run out of disk space, move to in-memory indexes.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 11 Mar 2007 18:10:41 +0200 |
parents | 7641e625fbd5 |
children | 09b5de33144e |
line wrap: on
line diff
--- a/src/lib-index/mail-index.c Sun Mar 11 18:02:23 2007 +0200 +++ b/src/lib-index/mail-index.c Sun Mar 11 18:10:41 2007 +0200 @@ -1579,7 +1579,7 @@ return -1; } - if (index->fd == -1) { + if (index->map == NULL) { mail_index_header_init(&hdr); index->hdr = &hdr; @@ -1912,10 +1912,13 @@ } /* move index map to memory */ - map = mail_index_map_clone(index->map, index->map->hdr.record_size); - mail_index_unmap(index, &index->map); - index->map = map; - index->hdr = &map->hdr; + if (!MAIL_INDEX_MAP_IS_IN_MEMORY(index->map)) { + map = mail_index_map_clone(index->map, + index->map->hdr.record_size); + mail_index_unmap(index, &index->map); + index->map = map; + index->hdr = &map->hdr; + } if (index->log != NULL) { /* move transaction log to memory */