On Wed, Dec 24, 2014 at 12:18 PM, Ivan Zhakov <ivan_at_visualsvn.com> wrote:
> On 23 December 2014 at 19:10, <stefan2_at_apache.org> wrote:
> > Author: stefan2
> > Date: Tue Dec 23 16:10:57 2014
> > New Revision: 1647605
> > URL: http://svn.apache.org/r1647605
> > Log:
> > On the fsx-id branch: Begin using our own dirent type within FSX.
> > There a number of reasons to do this:
> > - Decouple the implementation from the interface definition.
> > - Allow for getting rid of the svn_fs_id_t member within the struct
> > while most times we would only need the dirents within FSX itself.
> > - Reduce the typical size of a dirent from 88 to 48 bytes under 64 bits.
> > Compared to FSFS' 120 bytes, this grows RAM / cache capacity 2.5x.
> > - Eliminate ID construction and conversion overhead.
> > This patch will simply introduce dirent_t as a copy of svn_fs_dirent_t
> > and use it throughout FSX. Convert at the interface. Most of it is
> > one giant search & replace spree.
> > * subversion/libsvn_fs_x/fs.h
> > (fs_x_data_t): Update commentary.
> > (dirent_t): New struct, copied from svn_fs_dirent_t.
> All library-internal declarations made in a library-private header
> file (such as libsvn_wc/wc.h) must be signified by two underscores
> after the library prefix (such as svn_wc__ensure_directory). All
> declarations private to a single file (such as the static function
> get_entry_url inside of libsvn_wc/update_editor.c) do not require any
> additional namespace decorations.
> So proper name for dirent_t in FSX is svn_fs_x__dirent_t.
I'm in the last stages of the rework planned for the fsx-id branch.
Around this weekend, I'll give everything its final name, such
as "svn_fs_x__id_t, svn_fs_x__dirent_t" etc.
Meanwhile, you can take up the task and fix the same problems
in FSFS (basically everything in fs.h).
Received on 2014-12-25 17:45:34 CET