/* This implements the fs_library_vtable_t.create() API. Create a new fsfs-backed Subversion filesystem at path PATH and link it into *FS. Perform temporary allocations in POOL, and fs-global allocations in COMMON_POOL. */ static svn_error_t * fs_create(svn_fs_t *fs, const char *path, apr_pool_t *pool, apr_pool_t *common_pool) { SVN_ERR(svn_fs__check_fs(fs, FALSE)); initialize_fs_struct(fs); SVN_ERR(svn_fs_fs__create(fs, path, pool)); return fs_serialized_init(fs, common_pool, pool); }
/* This implements the fs_library_vtable_t.create() API. Create a new fsfs-backed Subversion filesystem at path PATH and link it into *FS. Perform temporary allocations in POOL, and fs-global allocations in COMMON_POOL. The latter must be serialized using COMMON_POOL_LOCK. */ static svn_error_t * fs_create(svn_fs_t *fs, const char *path, svn_mutex__t *common_pool_lock, apr_pool_t *pool, apr_pool_t *common_pool) { SVN_ERR(svn_fs__check_fs(fs, FALSE)); SVN_ERR(initialize_fs_struct(fs)); SVN_ERR(svn_fs_fs__create(fs, path, pool)); SVN_ERR(svn_fs_fs__initialize_caches(fs, pool)); SVN_MUTEX__WITH_LOCK(common_pool_lock, fs_serialized_init(fs, common_pool, pool)); return SVN_NO_ERROR; }