[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Problem with new svn_fs_type() API

From: Max Bowsher <maxb_at_ukf.net>
Date: 2005-09-22 18:07:46 CEST

There is a problem with the current implementation of svn_fs_type().

I justified it's addition with the following two use-cases:

1. For libsvn_repos to perform the extra locking required for BDB FSes only
for FSes which are actually BDB.
For this use-case, the current API is no use at all, because you need an
open svn_fs_t to call svn_fs_type(), but libsvn_repos needs the information
*before* it opens the FS.

2. For administrative programs which need to perform backend specific
maintenance operations - e.g., backup, bdb log pruning.
For this use-case, the current API is not very helpful, since this kind of
application probably won't want a svn_fs_t for any other purpose, and it is
unnecessarily expensive to open the fs just to get its type.

Therefore I propose changing the interface from:
  const char *svn_fs_type (svn_fs_t *fs);
to:
  svn_error_t *svn_fs_type (const char **fs_type, const char *path,
apr_pool_t *pool);

and replacing the current implementation with one based on the 'read the
fs-type file' code in fs-loader.c:fs_library_vtable(), as I suggested in my
previous patch.

Max.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Sep 22 18:08:36 2005

This is an archived mail posted to the Subversion Dev mailing list.