Stefan Fuhrmann wrote: > On 15.06.2011 10:25, Julian Foad wrote: > > Stefan2, I'm posting this attempt to add more detail to some of the FSFS > > caching doc strings. It's incomplete but I've had this sitting in my WC > > for a couple of weeks now and am unlikely to look deeper in the short > > term. > Thanks for the suggestions! > > [[[ > > Index: subversion/libsvn_fs_fs/fs.h > > =================================================================== > > --- subversion/libsvn_fs_fs/fs.h (revision 1135952) > > +++ subversion/libsvn_fs_fs/fs.h (working copy) > > @@ -238,8 +238,12 @@ typedef struct fs_fs_data_t > > rep key to svn_string_t. */ > > svn_cache__t *fulltext_cache; > > > > - /* Pack manifest cache; maps revision numbers to offsets in their > > respective > > - pack files. */ > > + /* Pack manifest cache; a cache mapping (svn_revnum_t) shard number to > > + a manifest; and a manifest is a mapping from (svn_revnum_t) revision > > + number offset within a shard to (apr_off_t) byte-offset in the > > + respective pack file. > > + ### Is this right? > Spot on. > > + */ > > svn_cache__t *packed_offset_cache; > > > > /* Cache for txdelta_window_t objects; the key is (revFilePath, offset) > > */ > > Index: subversion/libsvn_fs_fs/temp_serializer.h > > =================================================================== > > --- subversion/libsvn_fs_fs/temp_serializer.h (revision 1135952) > > +++ subversion/libsvn_fs_fs/temp_serializer.h (working copy) > > @@ -93,8 +93,8 @@ svn_fs_fs__deserialize_txdelta_window(vo > > apr_pool_t *pool); > > > > /** > > - * Implements #svn_cache__serialize_func_t for manifests > > - * (#apr_array_header_t). > > + * Implements #svn_cache__serialize_func_t for a manifest > > + * (@a in is an #apr_array_header_t of apr_off_t elements). > > */ > > svn_error_t * > > svn_fs_fs__serialize_manifest(char **data, > > @@ -103,8 +103,8 @@ svn_fs_fs__serialize_manifest(char **dat > > apr_pool_t *pool); > > > > /** > > - * Implements #svn_cache__deserialize_func_t for manifests > > - * (#apr_array_header_t). > > + * Implements #svn_cache__deserialize_func_t for a manifest > > + * (@a *out is an #apr_array_header_t of apr_off_t elements). > > */ > > svn_error_t * > > svn_fs_fs__deserialize_manifest(void **out, > > @@ -167,8 +167,13 @@ svn_fs_fs__deserialize_dir_entries(void > > apr_pool_t *pool); > > > > /** > > - * Implements #svn_cache__partial_getter_func_t for a single element > > - * identified by its offset in @a baton within a serialized manifest array. > > + * Implements #svn_cache__partial_getter_func_t. > > + * Set @a *out to the (apr_off_t) byte-offset within a pack file of the > > + * revision > > + * Set (apr_off_t) @a *out to the element > > + * indexed by (apr_int64_t) @a *baton within the serialized manifest array > > + * @a data and @a data_len. > > + * ### Caller thinks *out is apr_off_t; impl thinks it is apr_int64_t. > > */ > Fixed in r1139945. > > svn_error_t * > > svn_fs_fs__get_sharded_offset(void **out, > > @@ -180,7 +185,7 @@ svn_fs_fs__get_sharded_offset(void **out > > /** > > * Implements #svn_cache__partial_getter_func_t for a single > > * #svn_fs_dirent_t within a serialized directory contents hash, > > - * identified by its name in @a baton. > > + * identified by its name (const char @a *baton). > > */ > > svn_error_t * > > svn_fs_fs__extract_dir_entry(void **out, > > ]]] > > > > - Julian > Docstring changes committed as r1139946.
Thanks! - Julian

