Skip to content
Snippets Groups Projects
Commit a3baaed3 authored by Steven Murray's avatar Steven Murray
Browse files

Fixed missing FSctl symbol

This commit fixes the following error encountered by the
Continuous Integration system and discovered and
reported by Eric:

Config Falling back to using libXrdCtaOfs.so
Plugin /lib64/libXrdCtaOfs.so: undefined symbol: _ZN3cta13xroot_plugins16XrdCtaFilesystem5FSctlEiR11XrdSfsFSctlR13XrdOucErrInfoPK12XrdSecEntity fslib libXrdCtaOfs.so
Config Unable to load fslib plugin libXrdCtaOfs.so
170804 02:37:03 558 XrootdConfig: Unable to create file system object via libXrdCtaOfs.so
170804 02:37:03 558 XrootdConfig: Unable to load file system.
------ xrootd protocol initialization failed.

The origin of the problem is the following commit that
completed removed the implemention of the
XrdCtaFilesystem::FSctl() method:

commit ea8d5241
Author: Michael Davis <michael.davis@cern.ch>
Date:   Thu Aug 3 10:54:49 2017 +0200

    [XrdSsi] Updates eos_messages.proto and deletes Opaque Query

    Update the protobuf file to the version required by EOS-CTA SSI
    interface and delete all source code that depends on the previous
    version (i.e. all the opaque query code).

This removal should have been a replacement as opposed
to a hard delete.  The XrdCtaFilesystem::FSctl() method
should have been re-implemented as follows:

int XrdCtaFilesystem::FSctl(const int cmd, XrdSfsFSctl &args, XrdOucErrInfo &eI
  (void)cmd; (void)args; (void)eInfo; (void)client;
  eInfo.setErrInfo(ENOTSUP, "Not supported.");
  return SFS_ERROR;
}
parent ae6db658
No related branches found
No related tags found
No related merge requests found
......@@ -89,6 +89,15 @@ XrdSfsDirectory * XrdCtaFilesystem::newDir(char *user, int MonID)
return new cta::xrootPlugins::XrdCtaDir(m_catalogue.get(), m_log.get(), user, MonID);;
}
//------------------------------------------------------------------------------
// FSctl
//------------------------------------------------------------------------------
int XrdCtaFilesystem::FSctl(const int cmd, XrdSfsFSctl &args, XrdOucErrInfo &eInfo, const XrdSecEntity *client) {
(void)cmd; (void)args; (void)eInfo; (void)client;
eInfo.setErrInfo(ENOTSUP, "Not supported.");
return SFS_ERROR;
}
//------------------------------------------------------------------------------
// fsctl
//------------------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment