Log Message: |
The lifetime of the shared-memory based named atomics used for
revprop generation communication and storage may be as short as
that of the svn_fs_t. Cached revprops may live as long as the process,
though. Therefore, we must store the revprop generation on disk
and re-read it when we encounter un-initialized (having only the
default value of 0) the named atomics.
Please note that the revprop generation file is optional an may be
removed or remain unchanged when being used with older servers.
Therefore, no format bump is necessary.
* subversion/libsvn_fs_fs/fs.h
(PATH_REVPROP_GENERATION): define new file name
* subversion/libsvn_fs_fs/fs_fs.c
(path_revprop_generation): new path construction utility
(read_revprop_generation_file, write_revprop_generation_file):
read from / write to the new revprop generation file
(ensure_revprop_generation): use persistent info for the initialization
of the revprop geneneration
(end_revprop_change): update persistent revprop generation info
(has_revprop_cache, read_revprop_generation, begin_revprop_change,
set_revision_proplist, revision_proplist): pass pool to sub-functions
|