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

Reply via email to