37 #include "XrdVersion.hh"
78 #define Neg(x) (x > 0 ? -x : x)
94 const char *config_fn,
130 {
Elog.
Emsg(
"Chmod", EROFS,
"chmod using", path);
136 return wrapPI.Chmod(path, mode,
envP);
150 {
Elog.
Emsg(
"create", EROFS,
"create file using", path);
156 return wrapPI.Create(tid, path, mode, env,
opts);
176 return wrapPI.FSctl(cmd, alen, args, resp);
207 const char *ending =
"completed.";
219 Elog.
Say(
"++++++ Archive Storage System initialization started.");
228 Elog.
Say(
"------ Archive Storage System initialization ", ending);
245 if (Lfn2Pfn(
Path, buff, blen, rc) ==
Path && !rc)
246 {
if ((
int)strlen(
Path) >= blen) rc = -ENAMETOOLONG;
247 else strcpy(buff,
Path);
270 return wrapPI.Lfn2Pfn(
Path, buff, blen, rc);
283 {
Elog.
Emsg(
"Mkdir", EROFS,
"create directory using", path);
289 return wrapPI.Mkdir(path, mode, mkpath,
envP);
302 {
Elog.
Emsg(
"Remdir", EROFS,
"remove", path);
308 return wrapPI.Remdir(path,
Opts,
envP);
322 {
Elog.
Emsg(
"Rename", EROFS,
"rename", newname);
328 return wrapPI.Rename(oldname, newname, old_env, new_env);
339 char buff[MAXPATHLEN];
350 {
Elog.
Emsg(
"Stat", rc,
"locate", path);
359 {
if ((rc = dsInfo.
ArcPath(buff,
sizeof(buff),
true)))
return -rc;
390 {
Elog.
Emsg(
"Truncate", EROFS,
"truncate", path);
396 return wrapPI.Truncate(path, size,
envP);
409 {
Elog.
Emsg(
"Rename", EROFS,
"remove", path);
415 return wrapPI.Unlink(path,
Opts,
envP);
XrdVERSIONINFO(XrdOssAddStorageSystem2, XrdOssArc) extern "C"
XrdOss * XrdOssAddStorageSystem2(XrdOss *curr_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)
const char * XrdSysE2T(int errcode)
static int Stat(const char *Scope, const char *Name, struct stat *Stat)
static bool isMine(const char *path)
int ArcPath(char *buff, int blen, bool addafn=false)
bool Configure(const char *cfn, const char *parms, XrdOucEnv *envP)
virtual int Chmod(const char *path, mode_t mode, XrdOucEnv *envP=0) override
virtual int Remdir(const char *path, int Opts=0, XrdOucEnv *envP=0) override
virtual int Rename(const char *oPath, const char *nPath, XrdOucEnv *oEnvP=0, XrdOucEnv *nEnvP=0) override
virtual bool getErrMsg(std::string &eText) override
virtual int Mkdir(const char *path, mode_t mode, int mkpath=0, XrdOucEnv *envP=0) override
virtual int Truncate(const char *path, unsigned long long fsize, XrdOucEnv *envP=0) override
virtual int Lfn2Pfn(const char *Path, char *buff, int blen) override
virtual uint64_t Features() override
virtual int FSctl(int cmd, int alen, const char *args, char **resp=0) override
virtual int Stat(const char *path, struct stat *buff, int opts=0, XrdOucEnv *envP=0) override
int InitArc(const char *, const char *parms, XrdOucEnv *envP)
virtual int Unlink(const char *path, int Opts=0, XrdOucEnv *envP=0) override
virtual int Create(const char *tid, const char *path, mode_t mode, XrdOucEnv &env, int opts=0) override
int Get(std::string &ecm, bool rst=true)
void * GetPtr(const char *varname)
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)
void Say(const char *text1, const char *text2=0, const char *txt3=0, const char *text4=0, const char *text5=0, const char *txt6=0)
XrdSysLogger * logger(XrdSysLogger *lp=0)
thread_local XrdOucECMsg ecMsg
XrdSysTrace ArcTrace("OssArc")
XrdSysError Elog(0, "OssArc_")