gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] Gluster internals


From: Ian Latter
Subject: Re: [Gluster-devel] Gluster internals
Date: Sun, 20 May 2012 17:40:54 +1000

> > The other method I can think of (not sure if it would suit your needs)
> > is to use the syncop framework (see libglusterfs/src/syncop.c).
> > This allows one to make a 'synchronous' glusterfs fop. inside a xlator.
> > The downside is that you can only make one call at a time. This may not
> > be acceptable for cluster xlators (ie, xlator with more than one child 
> > xlator).
> 
> In the syncop framework, how much gets affected when I
> use it in my xlator.  Does it mean that there's only one call 
> at a time in the whole xlator (so the current write will stop
> all other reads) or is the scope only the fop (so that within
> this write, my child->fops are serial, but neighbouring reads
> on my xlator will continue in other threads)?  And does that 
> then restrict what can go above and below my xlator?  I
> mean that my xlator isn't a cluster xlator but I would like it
> to be able to be used on top of (or underneath) a cluster
> xlator, will that no longer be possible?
> 

I've just taken a look at xlators/cluster/afr/src/pump.c for
some syncop usage examples and I really like what I see
there.  If syncop only serialises/syncs activity that I code 
within a given fop of my xlator and doesn't impose serial/
sync limits on the parents or children of my xlator then 
this looks like the right path.  I want to be sure that it 
won't result in a globally syncronous outcome though (like
ignoring a cache xlator under mine to get a true disk
read) - I just need the internals of my calls to be linear.




--
Ian Latter
Late night coder ..
http://midnightcode.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]