Jeremy Bongio [[email protected]] wrote: > How do the recovery directories work? > > if (gsp->event == EVENT_UPDATE_CLIENTS) > snprintf(path, sizeof(path), "%s", v4_recov_dir); > > else if (gsp->event == EVENT_TAKE_IP) > snprintf(path, sizeof(path), "%s/%s/%s", NFS_V4_RECOV_ROOT, > gsp->ipaddr, NFS_V4_RECOV_DIR);
See, we have "/var/lib/nfs/ganesha/<IP>/v4recov" above. That looks like a bug. In any case, I don't see any one creating /var/lib/nfs/ganesha/<IP>/clientid either. So the only way all this works is somehow gluster scripts are calling TAKEIP such a way that the gsp->ipaddr is NULL, ".", or other string that makes the above path's normalized path as "/var/lib/nfs/ganesha/v4recov". I would call that TAKE_ALL instead of TAPE_IP! :-) <rant> Also, I forget as soon as I finish reading admin_dbus_grace() on what the actual argument syntax is. It would have been lot easier to just use event:eventArg rather than allowing things without colon. Can't we use ftw()/fts()/find instead of inventing our own directory traversal version in nfs4_read_recov_clids()? I may be wrong but it looks needlessly complex though. </rant> Regards, Malahal. ------------------------------------------------------------------------------ _______________________________________________ Nfs-ganesha-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
