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 >
