Prevent a possible FSFS repository corruption with power or network disk
failures during 'svnadmin pack'.
* subversion/libsvn_fs_fs/pack.c
(close_pack_context): Call svn_io_file_flush_to_disk() for pack file.
(pack_phys_addressed): Use svn_io_file_open() to open pack and manifest
file and call svn_io_file_flush_to_disk() before closing them.
* subversion/libsvn_fs_fs/revprops.c
(svn_fs_fs__copy_revprops): Use apr_file_t to write pack file and flush
changes to disk before close.
(svn_fs_fs__pack_revprops_shard): Use svn_io_file_open() to packed revision
properties manifest file and call svn_io_file_flush_to_disk()
before closing it.
|