[Gluster-devel] question on glustershd

Ravishankar N ravishankar at redhat.com
Wed Dec 3 04:28:44 UTC 2014


On 12/03/2014 09:46 AM, Emmanuel Dreyfus wrote:
> Emmanuel Dreyfus <manu at netbsd.org> wrote:
> 
>> I have not yet understood where is the code that retries when
>> afr_selfheal_tryinodelk() reports failure. I understand the healer
>> completes its sweep without attempting again to fix the entry later.
> 
> Indeed, we have a sleep() and a startover in afr_shd_index_healer() but
> not in afr_shd_full_healer().
> 
Right. Index healer threads do a traversal (readdir) of the entries inside .glusterfs/indices/xattrop and attempt heal for each entry.
These threads run  (i) in the while loop, (ii) when a brick process comes back up, (iii)when we explicitly run 'gluster vol heal <volname>'


afr_shd_full_healer() is run only when we run 'gluster vol heal <volname> full`, doing a full brick traversal (readdirp) from the root and attempting heal for each entry.

-Ravi


More information about the Gluster-devel mailing list