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.");
223 if ( (!
Config.Configure(configfn, parms, envP)) ) ending =
"failed!";
228 Elog.Say(
"------ Archive Storage System initialization ", ending);
246 {
if ((
int)strlen(
Path) >= blen) rc = -ENAMETOOLONG;
247 else strcpy(buff,
Path);
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);
static XrdSysLogger Logger
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)
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
void * GetPtr(const char *varname)
XrdSysTrace ArcTrace("OssArc")
XrdSysError Elog(0, "OssArc_")