You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ivan Zhakov <iv...@visualsvn.com> on 2014/12/24 12:18:51 UTC

Re: svn commit: r1647605 - in /subversion/branches/fsx-id/subversion/libsvn_fs_x: cached_data.c cached_data.h dag.c dag.h fs.h temp_serializer.c temp_serializer.h transaction.c tree.c

On 23 December 2014 at 19:10,  <st...@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.
>
http://subversion.apache.org/docs/community-guide/conventions.html#other-conventions
[[[[
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.

-- 
Ivan Zhakov

Re: svn commit: r1647605 - in /subversion/branches/fsx-id/subversion/libsvn_fs_x: cached_data.c cached_data.h dag.c dag.h fs.h temp_serializer.c temp_serializer.h transaction.c tree.c

Posted by Branko Čibej <br...@wandisco.com>.
On 24.12.2014 12:18, Ivan Zhakov wrote:
> On 23 December 2014 at 19:10,  <st...@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.
>>
> http://subversion.apache.org/docs/community-guide/conventions.html#other-conventions
> [[[[
> 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.

And similarly for fs_x_data_t.

-- Brane

Re: svn commit: r1647605 - in /subversion/branches/fsx-id/subversion/libsvn_fs_x: cached_data.c cached_data.h dag.c dag.h fs.h temp_serializer.c temp_serializer.h transaction.c tree.c

Posted by Stefan Fuhrmann <st...@wandisco.com>.
On Wed, Dec 24, 2014 at 12:18 PM, Ivan Zhakov <iv...@visualsvn.com> wrote:

> On 23 December 2014 at 19:10,  <st...@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.
> >
>
> http://subversion.apache.org/docs/community-guide/conventions.html#other-conventions
> [[[[
> 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).

-- Stefan^2.