[dovecot/core] 1728ff: lib-storage: Add mail_location=..:ITERINDEX

GitHub noreply at github.com
Mon Jul 3 15:30:09 EEST 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: 1728ff34ee03de825ad3aeed67d19f8ae140ee2e
      https://github.com/dovecot/core/commit/1728ff34ee03de825ad3aeed67d19f8ae140ee2e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/index/index-storage.c
    M src/lib-storage/list/mailbox-list-fs-flags.c
    M src/lib-storage/list/mailbox-list-fs-iter.c
    M src/lib-storage/list/mailbox-list-fs.c
    M src/lib-storage/list/mailbox-list-maildir-iter.c
    M src/lib-storage/mailbox-list.c
    M src/lib-storage/mailbox-list.h

  Log Message:
  -----------
  lib-storage: Add mail_location=..:ITERINDEX

This changes mailbox list iteration to work using INDEX directory instead of
the normal mail directory. This can be helpful when the indexes are stored
on a faster storage.


  Commit: 5069b6adc4acb0efb3c6e87e778b820bae9bae9b
      https://github.com/dovecot/core/commit/5069b6adc4acb0efb3c6e87e778b820bae9bae9b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/mailbox-list-private.h
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: Add mailbox_permissions_copy()


  Commit: 2f552aa8fb0fc86473c2d7dea85d8237373fb35f
      https://github.com/dovecot/core/commit/2f552aa8fb0fc86473c2d7dea85d8237373fb35f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/mail-storage.c
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: Cleanup - Use mailbox_permissions_copy() instead of duplicating it


  Commit: 4225ae95dd2110fe678ee70c64be14784a53c364
      https://github.com/dovecot/core/commit/4225ae95dd2110fe678ee70c64be14784a53c364
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: Cleanup - move code to mailbox_list_get_permissions_stat()

Comments changed also a bit, but no functional changes.


  Commit: 6763c5f6246a0705b141d99d32fe9e2096042bd3
      https://github.com/dovecot/core/commit/6763c5f6246a0705b141d99d32fe9e2096042bd3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: mailbox_list_get_permissions() - Use index dir for storage without mails

The index dir might still exist.


  Commit: 4fce6ce68d13836faf6d68f35855eba4573b42b2
      https://github.com/dovecot/core/commit/4fce6ce68d13836faf6d68f35855eba4573b42b2
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: mailbox_list_get_permissions() - Use index dir with ITERINDEX


  Commit: a62e12ba4afefb302ef87faf6173aef012c3b5d6
      https://github.com/dovecot/core/commit/a62e12ba4afefb302ef87faf6173aef012c3b5d6
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/mail-storage.c

  Log Message:
  -----------
  lib-storage: Check for storage existence from index dir with ITERINDEX

The root path creation doesn't really even seem to be necessary, because any
mailbox access will automatically mkdir the missing directories anyway.
Although writing other files might not work so well, such as
mail_attribute_dict that points inside the mail directory.

This change simply changes the mailboxes/ directory to be looked up from
index directory instead of the mail root directory. It also mkdirs the
index/mailboxes/ directory afterwards if it didn't exist. So practically
this change shouldn't break anything, since the mailboxes/ directory should
always exist for both root and the indexes.


  Commit: c5e2aa3148bc73f766c4a3a435c9dac2b45133e7
      https://github.com/dovecot/core/commit/c5e2aa3148bc73f766c4a3a435c9dac2b45133e7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/index/dbox-common/dbox-storage.c

  Log Message:
  -----------
  dbox: Cleanup - reorganize old temp file cleanup code

No functional changes. In preparation for the next commits.


  Commit: 2ecee6ed2bfd5c9bc5c6cc8a675b9db4cbbcd81f
      https://github.com/dovecot/core/commit/2ecee6ed2bfd5c9bc5c6cc8a675b9db4cbbcd81f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-index/mail-index-map-hdr.c
    M src/lib-index/mail-index.h
    M src/lib-storage/index/index-storage.c
    M src/lib-storage/index/index-storage.h

  Log Message:
  -----------
  lib-index, lib-storage: Add mail_index_header.last_temp_file_scan

Also add index_mailbox_update_last_temp_file_scan() for easily updating it.

This is reusing an old "sync timestamp" field. Because it was a timestamp,
it doesn't matter if the old data still exists in it. This field could have
been added as an extension, but that's more work and this feature is generic
enough that it should be useful for many of the mail storage backends.


  Commit: 7b15788793354ca0fd4fdb4dda8e426ca1e9e9d7
      https://github.com/dovecot/core/commit/7b15788793354ca0fd4fdb4dda8e426ca1e9e9d7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/index/dbox-common/dbox-storage.c
    M src/lib-storage/index/dbox-common/dbox-storage.h
    M src/lib-storage/index/dbox-multi/mdbox-storage.c
    M src/lib-storage/index/dbox-single/sdbox-storage.c

  Log Message:
  -----------
  dbox: Use mail_index_header.last_temp_file_scan instead of directory's atime

This will be required for the following ITERINDEX change.


  Commit: 265ca08926833c86de4311164ed031e5f5b42fcd
      https://github.com/dovecot/core/commit/265ca08926833c86de4311164ed031e5f5b42fcd
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/index/dbox-common/dbox-storage.c

  Log Message:
  -----------
  dbox: Check mailbox existence from index directory with ITERINDEX


  Commit: 3aa1816a6b10a137c8f6242d02e31d479123c8b5
      https://github.com/dovecot/core/commit/3aa1816a6b10a137c8f6242d02e31d479123c8b5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-07-03 (Mon, 03 Jul 2017)

  Changed paths:
    M src/lib-storage/list/mailbox-list-delete.c

  Log Message:
  -----------
  lib-storage: Fix ITERINDEX to leave \NoSelect parents after deleting child mailbox

For example if "a/b" was created and deleted, "a" should be left behind.
(Or at least it shouldn't have left "a" to mail root directory and kept it
invisible since it didn't exist in index dir.)


Compare: https://github.com/dovecot/core/compare/8b2d740b8182...3aa1816a6b10


More information about the dovecot-cvs mailing list