On 11/26/2015 05:49 AM, Jeff Darcy wrote:
> 
> In the process of debugging a test that relies on my translator’s “fini” 
> function being called, I discovered that these functions are not being called 
> for translators in glusterfsd.  The offending code seems to be at 
> glusterfsd.c:1274 (cleanup_and_exit).
> 
> 1274         if (ctx->process_mode == GF_GLUSTERD_PROCESS) {
GlusterD team enabled this code conditionally to fix its URCU related
crashes. Prior to that the entire code was commented out and it seems
like a pretty old commit (13c4f8d0) had disabled fini () for all the
translators with a commit message saying " calling 'fini()' of each
xlator needs more synchronization work to
be done. We will be doing a direct 'exit()' as of now."

Does anyone have background on this?

Thanks,
Atin

> 1275 
> 1276                 trav = NULL;
> 1277                 if (ctx->active)
> 1278                         trav = ctx->active->top;
> 1279                 while (trav) {
> 1280                         if (trav->fini) {
> 1281                                 THIS = trav;
> 1282                                 trav->fini (trav);
> 1283                         }
> 1284                         trav = trav->next;
> 1285                 }
> 1286
> 1287         }
> 
> This might have been a simple fix, except that when I changed the code to 
> call fini in glusterfsd as well as glusterd, I started getting segfaults.  It 
> seems that, since they haven’t been tested in a while, some of these 
> functions are also broken and nobody has known since May when this code was 
> changed.  (Actually it might be longer, since the commit message notes “clean 
> up issues” as a reason for the check on line 1274, but apparently addressing 
> this problem never got on anyone’s TODO list.)
> 
> The reason I’m mentioning this is not just to complain or assign blame.  
> Stuff happens.  I just want people to know so that, as this gets cleaned up, 
> it’s in people’s minds as a potential factor in other unexpected new behavior.
> _______________________________________________
> Gluster-devel mailing list
> [email protected]
> http://www.gluster.org/mailman/listinfo/gluster-devel
> 
_______________________________________________
Gluster-devel mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-devel

Reply via email to