[Gluster-devel] Re: A few questions

Anand Avati avati at zresearch.com
Mon Jan 21 00:45:27 UTC 2008


> hi,
>
> 1- What's the best time to chat with people at IRC?? (I am on
> Europe/Madrid GMT+1)
>
> Every time ive tried to log in no one responded, i suspected client
> problems but logs on web page show little interacction


If you had waited a bit longer you would have had a reply :)

2- In presence of IO-Theads are all other xlator functions ran a in a
> threaded safe enviroment??


It is necessary to understand the impact of io-threads and what kind of
races it can introduce. io-threads only puts read/write and related calls to
a seperate thread.

I just hope that args passed on calls are protected againts so
> this->private. but data returned
> upwards should not be private but calloc'ed on destination (usually
> posix-storage)  and freed by
> the caller (usually fuse).


This is not exactly how things are done.  storage/posix allocates read
buffers. but freeing is done according to refs() and unref()s done by
various translators. this is necessary to hold the buffer persistantly in
memory by read-ahead io-cache io-threads etc. There are some thoughts about
bringing in more stricter rules about allocation and freeing within the code
base. Like, all data structures, including data buffers are in a pool of
preallocated lists, which are used/unused dynamically. This gives a more
predictable memory footprint, but has other impact.

avati



More information about the Gluster-devel mailing list