[Gluster-devel] Gluster internals

Ian Latter ian.latter at midnightcode.org
Sun May 20 06:12:39 UTC 2012


  Couple of questions that might help make my
module a little more sane;

    0) Is there any developer docco?  I've just done
        another quick search and I can't see any.  Let
        me know if there is and I'll try and answer the
        below myself.

    1) What is the difference between STACK_WIND
        and STACK_WIND_COOKIE?  I.e. I've only
        ever used STACK_WIND, when should I use
        it versus the other?

    2) Is there a way to write linearly within a single
        function within Gluster (or is there a reason
        why I wouldn't want to do that)?  

RE 2: 

  This may stem from my lack of understanding 
of the broader Gluster internals.  I am performing 
multiple fops per fop, which is creating structural
inelegances in the code that make me think I'm
heading down the wrong rabbit hole.  I want to 

   read() {
     // pull in other content
     while(want more) {
     return iovec

But the way I've understood the Gluster internal
structure is that I need to operate in a chain of
related functions;

  _read_lookup_cbk_open_cbk_read_cbk() {
       wind _close()

  _read_lookup_cbk_open_cbk() {
       wind _read()
       add to local->iovec

  _lookup_cbk() {
       wind _open()

  read() {
     while(want more) {
       wind _lookup()
     return local->iovec

Am I missing something - or is there a nicer way of 
doing this?


Ian Latter
Late night coder ..

More information about the Gluster-devel mailing list