[Gluster-devel] Developer Documentation for datastructures in gluster

Jeff Darcy jdarcy at redhat.com
Tue Jul 15 12:45:45 UTC 2014


>        Please respond if you guys volunteer to add documentation for any
> of the following things that are not already taken.

I think the most important thing to describe for each of these is the
"life cycle" rules.  When I've tried to teach people about translators,
one of the biggest stumbling blocks has been the question of what gets
freed after the fop, what gets freed after the callback, and what lives
on even longer.  There are different rules for dict_t, loc_t, inode_t,
etc.  Dict_set_*str is one of the worst offenders; even after all this
time, I have to go back and re-check which variants do what when the
dict itself is freed.  If the only thing that comes out of this effort
is greater clarity regarding what should be freed when, it will be
worth it.

> client_t - pranith
> integration with statedump - pranith
> mempool - Pranith
> 
> event-hostory + circ-buff - Raghavendra Bhat
> inode - Raghavendra Bhat
> 
> call-stub
> fd
> iobuf
> graph
> xlator
> option-framework
> rbthash
> runner-framework
> stack/frame
> strfd
> timer
> store
> gid-cache(source is heavily documented)
> dict
> event-poll

My "Translator" 101 series already covers xlators and call frames,
so I might as well continue with those.  I might as well take dicts
too.  I'd like to take fd and/or graph, but I don't want to
over-extend myself and both involve some aspects I don't understand.


More information about the Gluster-devel mailing list