Print

Print


Hi Andy,

Our OFS plugin in built on top of the default OFS one. Therefore, in our library I have implemented the entry point for the plugin which has the following signature:

XrdSfsFileSystem XrdSfsGetFileSystem (XrdSfsFileSystem* native_fs,
XrdSysLogger* lp,
const char* configfn)

which is called from XrdXrootdLoadLib.cc using the function XrdXrootdloadFileSystem which in turn is called from XrdXrootdConfig.cc:294. At this point in the file you can notice the difference on how the default OFS implementation and the plugin one are called (i.e the EnvInfo object at the end):

osFS = XrdSfsGetDefaultFileSystem(0,eDest.logger(),pi->ConfigFN,&myEnv);

Therefore in the entry point function XrdSfsGetFileSystem, I create my OFS plugin object and I also call its Configure methods which in turn calls the Configure for the default OFS object (this was our choice). But since I don't have the EnvInfo object which holds information about EnvInfo->GetPtr("XrdNetIF*"), it crashes in line XrdOfsConfig.cc:116.

The only difference comes from the fact that in the default OFS object you have access to the env variable holding information about the networking interface while in the plugin object I have but only after the initialisation and the configuration step ....

Yes, the solution sounds fine for me, I can implement both entry points and if the first one retrurns 0 then you try to call the second one.

Thanks,
Elvin


Reply to this email directly or view it on GitHub.



Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1