Mercurial > dovecot > original-hg > dovecot-2.2
changeset 17087:e322c40a82a9
mdbox: When purging writes new data, flush them to disk before locking the map index.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 20 Dec 2013 19:59:22 +0200 |
parents | bfee9f413844 |
children | 6b8ae0ba5959 |
files | src/lib-storage/index/dbox-multi/mdbox-purge.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/dbox-multi/mdbox-purge.c Fri Dec 20 04:57:25 2013 +0200 +++ b/src/lib-storage/index/dbox-multi/mdbox-purge.c Fri Dec 20 19:59:22 2013 +0200 @@ -383,6 +383,11 @@ "(%"PRIuUOFF_T" < %"PRIuUOFF_T")", offset, st.st_size); ret = 0; } + if (ret > 0 && ctx->append_ctx != NULL) { + /* flush writes before locking the map */ + if (mdbox_map_append_flush(ctx->append_ctx) < 0) + ret = -1; + } if (ret <= 0) ret = -1;