That's a reasonable thing to try.  I'm not aware of any example projects
that have done it.  I don't see any problems with it off hand, as long
as you take care to avoid both dsi's returning calls for a single op.

I think you'd need to load the file dsi within your dsi, in order to get
the pointer to the file dsi's globus_gfs_storage_iface_t with the
function pointers.  If you check the server source,
globus_i_gfs_data_new_dsi in globus_i_gfs_data.c shows how to do that.

Mike

On 1/25/2016 2:38 PM, Andrew Melo wrote:
> Hello,
> 
> In a DSI we've been developing against our distributed storage system,
> we would like for only certain directories to be handled via our
> storage system, but fallback to the regular POSIX
> open/read/write/etc.. calls for other directories.
> 
> That functionality ends up just duplicating the functionality that
> already exists elsewhere in gridftp-server, so it seems like the
> better idea would be to somehow grab function pointers to the file DSI
> and have an "if (regular_file): return *file_dsi_cmd()" to just use
> the other DSIs code.
> 
> Is that a sensible thing to do? Is there an example out there of the
> same thing being implemented elsewhere?
> 
> Cheers,
> Andrew
> 

Reply via email to