History log of /dovecot/src/lib/file-lock.h
Revision Date Author Comments Expand
f27a51cd9a66685b63357de25e733c37eb03b07c 07-Feb-2018 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add file_lock_from_dotlock() The dotlock creation requires various settings, so the file-lock.h API can't easily be used to create it. But once created, it's simpler to keep all lock types in the same struct file_lock, which can be unlocked/freed once finished.

3581ece16eb740a5003c4c11dd3c7d02839a24a4 13-Sep-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: file_lock_set_unlink_on_free() - Avoid unlink() if another process is waiting on the lock

65f9a90ef5ed4c86fb9e44f22e472509126ae9f5 28-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add file_lock_set_close_on_free()

68332e3a49dea15013aa8f4daa16b5e07eb3d543 28-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add file_lock_set_unlink_on_free()

d8d93ecd89efa7c84a3a21264a550449619f715b 28-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add file_lock_set_path()

f1243d7759a3dddc1c3eaf7eda8a153c8ef0112b 28-Jun-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add file_lock_get_path() This allows getting the file path from the lock without having to preserve it separately.

f83fd83f9c6708d198748e714aa947cad9362c02 24-Oct-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add FILE_LOCK_SLOW_WARNING_MSECS environment. Log a warning if any locking takes longer than the specified number of milliseconds. This can be enabled globally with: import_environment = $import_environment FILE_LOCK_SLOW_WARNING_MSECS=1000

4a7e04d325db0c03f575f98f045246fceb0de279 23-Aug-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Track how much time has been spent on waiting for locks.

cac6b8b1a2bcf672fe43d3fb91a7278877f8cf09 24-May-2015 Timo Sirainen <tss@iki.fi>

lib: file_lock_try_update() comment updated. It should possibly be removed entirely from the API.

1107c86ff3fa4f29796c2e76134b78d0b4a0db50 09-Oct-2014 Timo Sirainen <tss@iki.fi>

lib: Added file_lock_find() to find which process has a file locked.

0dc7891233a973829f00371b27810f849b987c66 25-Sep-2014 Timo Sirainen <tss@iki.fi>

lib: Added file_wait_lock_error() and file_try_lock_error()

8c8f7ac580b661aee3d8b8dd37df4a9b41c77000 09-Aug-2012 Timo Sirainen <tss@iki.fi>

Added file_lock_method_to_str()

6e77746e501c2b45850b1c530836058ed75e09ee 12-Oct-2008 Timo Sirainen <tss@iki.fi>

Moved file lock type string parsing code to file-lock.c --HG-- branch : HEAD

c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed .h ifdef/defines to use <NAME>_H format. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-client-interface.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech.h /dovecot/src/auth/mycrypt.h /dovecot/src/auth/otp-skey-common.h /dovecot/src/auth/passdb-blocking.h /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.h /dovecot/src/auth/plain-common.h /dovecot/src/auth/userdb-blocking.h /dovecot/src/auth/userdb-static.h /dovecot/src/auth/userdb-vpopmail.h /dovecot/src/auth/userdb.h /dovecot/src/deliver/auth-client.h /dovecot/src/deliver/deliver.h /dovecot/src/deliver/duplicate.h /dovecot/src/deliver/mail-send.h /dovecot/src/deliver/smtp-client.h /dovecot/src/dict/dict-cache.h /dovecot/src/dict/dict-server.h /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.h /dovecot/src/imap/client.h /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.h /dovecot/src/imap/common.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.h /dovecot/src/imap/imap-status.h /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.h /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index.h /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-id.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-ntlm/ntlm-byteorder.h /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-ntlm/ntlm-flags.h /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-otp/otp-dictionary.h /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-otp/otp-parity.h /dovecot/src/lib-otp/otp-parse.h /dovecot/src/lib-otp/otp.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.h /dovecot/src/lib-storage/index/dbox/dbox-file.h /dovecot/src/lib-storage/index/dbox/dbox-index.h /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename.h /dovecot/src/lib-storage/index/maildir/maildir-keywords.h /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-from.h /dovecot/src/lib-storage/index/mbox/mbox-lock.h /dovecot/src/lib-storage/index/mbox/mbox-md5.h /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/list/mailbox-list-fs.h /dovecot/src/lib-storage/list/mailbox-list-maildir.h /dovecot/src/lib-storage/list/mailbox-list-subscriptions.h /dovecot/src/lib-storage/list/subscription-file.h /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-error.h /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.h array-decl.h array.h backtrace-string.h base64.h bsearch-insert-pos.h buffer.h close-keep-errno.h compat.h crc32.h data-stack.h env-util.h failures.h fd-close-on-exec.h fd-set-nonblock.h fdpass.h file-cache.h file-copy.h file-dotlock.h file-lock.h file-set-size.h hash.h hex-binary.h hex-dec.h hmac-md5.h home-expand.h hostpid.h imem.h ioloop-internal.h ioloop-iolist.h ioloop-notify-fd.h ioloop.h iostream-internal.h istream-internal.h istream-seekable.h istream-tee.h istream.h lib-signals.h lib.h macros.h md4.h md5.h mempool.h mkdir-parents.h mmap-util.h module-context.h module-dir.h mountpoint.h network.h nfs-workarounds.h ostream-crlf.h ostream-internal.h ostream.h primes.h printf-format-fix.h process-title.h randgen.h read-full.h restrict-access.h restrict-process-size.h safe-memset.h safe-mkdir.h safe-mkstemp.h sendfile-util.h seq-range-array.h sha1.h str-find.h str-sanitize.h str.h strescape.h strfuncs.h unichar.h unix-socket-create.h unlink-directory.h unlink-lockfiles.h utc-mktime.h utc-offset.h var-expand.h write-full.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.h /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/askpass.h /dovecot/src/master/auth-process.h /dovecot/src/master/capabilities.h /dovecot/src/master/child-process.h /dovecot/src/master/common.h /dovecot/src/master/dict-process.h /dovecot/src/master/dup2-array.h /dovecot/src/master/listener.h /dovecot/src/master/log.h /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.h /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.h /dovecot/src/master/syslog-util.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.h /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/expire/auth-client.h /dovecot/src/plugins/expire/expire-env.h /dovecot/src/plugins/expire/expire-plugin.h /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts-squat/squat-uidlist.h /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/quota/quota-fs.h /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.h /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.h /dovecot/src/pop3/capability.h /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.h /dovecot/src/pop3/common.h
d9fdacd5fb3e07997e5c389739d2054f0c8441d8 06-Dec-2006 Timo Sirainen <tss@iki.fi>

Lock handling changes. Everything goes through file-lock API now and there's only a single enum listing the different lock methods. This change exposed some unneeded (or possibly even wrong?) unlock calls in index file handling which were fixed. --HG-- branch : HEAD

/dovecot/src/deliver/deliver.c /dovecot/src/imap/namespace.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-hash.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/list/index-mailbox-list.c /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h file-lock.c file-lock.h /dovecot/src/plugins/convert/convert-storage.c /dovecot/src/plugins/expire/expire-tool.c /dovecot/src/pop3/main.c
f923659c0e5298263d80622c99f4dc4132b4675b 11-Jan-2003 Timo Sirainen <tss@iki.fi>

Naming change for function typedefs. --HG-- branch : HEAD

/dovecot/src/auth/auth-cyrus-sasl2.c /dovecot/src/auth/auth-digest-md5.c /dovecot/src/auth/auth-plain.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/cookie.h /dovecot/src/auth/userinfo-passwd-file.c /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-list.c /dovecot/src/imap/commands.c /dovecot/src/imap/commands.h /dovecot/src/lib-imap/imap-message-cache.c /dovecot/src/lib-index/mail-index-update.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/maildir/maildir-sync.c /dovecot/src/lib-index/mbox/mbox-append.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-index.h /dovecot/src/lib-index/mbox/mbox-lock.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-index/mbox/mbox-sync-full.c /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-tokenize.c /dovecot/src/lib-mail/message-tokenize.h /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-messageset.h /dovecot/src/lib-storage/index/index-update-flags.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-sort.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-thread.c /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h failures.c failures.h file-lock.c file-lock.h hash.c hash.h ioloop-internal.h ioloop-poll.c ioloop-select.c ioloop.c ioloop.h iostream-internal.h iostream.c istream-data.c istream-file.c istream-mmap.c istream.c istream.h ostream-file.c ostream.c ostream.h /dovecot/src/login/auth-connection.c /dovecot/src/login/auth-connection.h /dovecot/src/login/common.h /dovecot/src/login/master.c /dovecot/src/login/master.h /dovecot/src/master/auth-process.c /dovecot/src/master/auth-process.h /dovecot/src/master/ssl-init.c
c2bb1764c359ce85a7f7f789ead11dd613ff9769 25-Nov-2002 Timo Sirainen <tss@iki.fi>

Locking changes triggered a bit larger cleanup :) If we have to wait for a lock longer, the client is now notified about it every 30 seconds. Also if mailbox opening fails because of lock timeout, we won't overwrite the index anymore. Finally user gets a clear error message about lock timeout instead of "internal error". --HG-- branch : HEAD

/dovecot/TODO /dovecot/src/imap/Makefile.am /dovecot/src/imap/client.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/imap/mailbox-sync.c /dovecot/src/lib-index/mail-custom-flags.c /dovecot/src/lib-index/mail-index-open.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-index/mail-index-util.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-modifylog.c /dovecot/src/lib-index/maildir/maildir-index.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-expunge.c /dovecot/src/lib-storage/index/index-fetch.c /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/index-update-flags.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/subscription-file/subscription-file.c file-lock.c file-lock.h
9e86ad9eb313004cd4c8b5427daeb4c241b57af6 23-Oct-2002 Timo Sirainen <tss@iki.fi>

file_wait_lock() now takes timeout-parameter so one badly behaving process won't start creating tons of lock-waiting processes. --HG-- branch : HEAD

02b32cf39a098edf60981fc228e4b034f11f3b90 14-Sep-2002 Timo Sirainen <tss@iki.fi>

lots of cleanups. also index/datafile is now capable of staying in memory, as long as it's noticed while opening the index. --HG-- branch : HEAD

/dovecot/src/imap/client.c /dovecot/src/lib-imap/imap-message-cache.c /dovecot/src/lib-index/Makefile.am /dovecot/src/lib-index/mail-custom-flags.c /dovecot/src/lib-index/mail-hash.c /dovecot/src/lib-index/mail-index-compress.c /dovecot/src/lib-index/mail-index-data.c /dovecot/src/lib-index/mail-index-data.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-open.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-index/mail-index-util.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-modifylog.c /dovecot/src/lib-index/maildir/maildir-build.c /dovecot/src/lib-index/maildir/maildir-index.c /dovecot/src/lib-index/maildir/maildir-open.c /dovecot/src/lib-index/maildir/maildir-rebuild.c /dovecot/src/lib-index/maildir/maildir-sync.c /dovecot/src/lib-index/maildir/maildir-update.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-index.h /dovecot/src/lib-index/mbox/mbox-open.c /dovecot/src/lib-index/mbox/mbox-rebuild.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-fetch-section.c /dovecot/src/lib-storage/index/index-fetch.c /dovecot/src/lib-storage/index/index-fetch.h /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/subscription-file/subscription-file.c Makefile.am file-lock.c file-lock.h file-set-size.c file-set-size.h mmap-anon.c mmap-util.c mmap-util.h