XRootD
XrdThrottleFileSystem.cc
Go to the documentation of this file.
1 
2 #include "XrdOfs/XrdOfs.hh"
3 
5 
6 #include "XrdVersion.hh"
7 
8 using namespace XrdThrottle;
9 
10 /*
11  * A whole ton of pass-through functions which chain to the underlying SFS.
12  */
13 
15 FileSystem::newDir(char *user,
16  int monid)
17 {
18  return m_sfs_ptr->newDir(user, monid);
19 }
20 
21 XrdSfsFile *
23  int monid)
24 {
25  XrdSfsFile * chain_file = m_sfs_ptr->newFile(user, monid);
26  if (chain_file)
27  {
28  unique_sfs_ptr chain_file_ptr(chain_file);
29  // We should really be giving out shared_ptrs to m_throttle, but alas, no boost.
30 #if __cplusplus >= 201103L
31  return static_cast<XrdSfsFile*>(new File(user, std::move(chain_file_ptr), m_throttle, m_eroute));
32 #else
33  return static_cast<XrdSfsFile*>(new File(user, chain_file_ptr, m_throttle, m_eroute));
34 #endif
35  }
36  return NULL;
37 }
38 
39 int
41  const char *csName,
42  const char *path,
43  XrdOucErrInfo &eInfo,
44  const XrdSecEntity *client,
45  const char *opaque)
46 {
47  return m_sfs_ptr->chksum(Func, csName, path, eInfo, client, opaque);
48 }
49 
50 int
51 FileSystem::chmod(const char *Name,
53  XrdOucErrInfo &out_error,
54  const XrdSecEntity *client,
55  const char *opaque)
56 {
57  return m_sfs_ptr->chmod(Name, Mode, out_error, client, opaque);
58 }
59 
60 void
62 {
63  m_sfs_ptr->Connect(client);
64 }
65 
66 void
68 {
69  m_sfs_ptr->Disc(client);
70 }
71 
72 void
74 {
75  m_sfs_ptr->EnvInfo(envP);
76 }
77 
78 int
79 FileSystem::exists(const char *fileName,
80  XrdSfsFileExistence &exists_flag,
81  XrdOucErrInfo &out_error,
82  const XrdSecEntity *client,
83  const char *opaque)
84 {
85  return m_sfs_ptr->exists(fileName, exists_flag, out_error, client, opaque);
86 }
87 
88 int
90  XrdOucErrInfo &eInfo,
91  const XrdSecEntity *client)
92 {
93  return m_sfs_ptr->FAttr(faReq, eInfo, client);
94 }
95 
96 int
97 FileSystem::fsctl(const int cmd,
98  const char *args,
99  XrdOucErrInfo &out_error,
100  const XrdSecEntity *client)
101 {
102  return m_sfs_ptr->fsctl(cmd, args, out_error, client);
103 }
104 
105 int
107 {
108  return m_sfs_ptr->getChkPSize();
109 }
110 
111 int
113  int blen)
114 {
115  return m_sfs_ptr->getStats(buff, blen);
116 }
117 
118 const char *
120 {
121  return XrdVERSION;
122 }
123 
124 int
126  XrdSfsGPFile &gpReq,
127  XrdOucErrInfo &eInfo,
128  const XrdSecEntity *client)
129 {
130  return m_sfs_ptr->gpFile(gpAct, gpReq, eInfo, client);
131 }
132 
133 int
134 FileSystem::mkdir(const char *dirName,
136  XrdOucErrInfo &out_error,
137  const XrdSecEntity *client,
138  const char *opaque)
139 {
140  return m_sfs_ptr->mkdir(dirName, Mode, out_error, client, opaque);
141 }
142 
143 int
145  XrdOucErrInfo &out_error,
146  const XrdSecEntity *client)
147 {
148  return m_sfs_ptr->prepare(pargs, out_error, client);
149 }
150 
151 int
152 FileSystem::rem(const char *path,
153  XrdOucErrInfo &out_error,
154  const XrdSecEntity *client,
155  const char *info)
156 {
157  return m_sfs_ptr->rem(path, out_error, client, info);
158 }
159 
160 int
161 FileSystem::remdir(const char *dirName,
162  XrdOucErrInfo &out_error,
163  const XrdSecEntity *client,
164  const char *info)
165 {
166  return m_sfs_ptr->remdir(dirName, out_error, client, info);
167 }
168 
169 int
170 FileSystem::rename(const char *oldFileName,
171  const char *newFileName,
172  XrdOucErrInfo &out_error,
173  const XrdSecEntity *client,
174  const char *infoO,
175  const char *infoN)
176 {
177  return m_sfs_ptr->rename(oldFileName, newFileName, out_error, client, infoO, infoN);
178 }
179 
180 int
181 FileSystem::stat(const char *Name,
182  struct stat *buf,
183  XrdOucErrInfo &out_error,
184  const XrdSecEntity *client,
185  const char *opaque)
186 {
187  return m_sfs_ptr->stat(Name, buf, out_error, client, opaque);
188 }
189 
190 int
191 FileSystem::stat(const char *Name,
192  mode_t &mode,
193  XrdOucErrInfo &out_error,
194  const XrdSecEntity *client,
195  const char *opaque)
196 {
197  return m_sfs_ptr->stat(Name, mode, out_error, client, opaque);
198 }
199 
200 int
201 FileSystem::truncate(const char *Name,
202  XrdSfsFileOffset fileOffset,
203  XrdOucErrInfo &out_error,
204  const XrdSecEntity *client,
205  const char *opaque)
206 {
207  return m_sfs_ptr->truncate(Name, fileOffset, out_error, client, opaque);
208 }
209 
#define stat(a, b)
Definition: XrdPosix.hh:105
int Mode
XrdOucString File
int XrdSfsMode
XrdSfsFileExistence
long long XrdSfsFileOffset
< Prepare parameters
virtual XrdSfsDirectory * newDir(char *user=0, int MonID=0)=0
virtual void Connect(const XrdSecEntity *client=0)
virtual int chmod(const char *path, XrdSfsMode mode, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual void EnvInfo(XrdOucEnv *envP)
virtual void Disc(const XrdSecEntity *client=0)
virtual int getStats(char *buff, int blen)=0
virtual int fsctl(const int cmd, const char *args, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)=0
virtual int rename(const char *oPath, const char *nPath, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaqueO=0, const char *opaqueN=0)=0
virtual int mkdir(const char *path, XrdSfsMode mode, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual int truncate(const char *path, XrdSfsFileOffset fsize, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual int chksum(csFunc Func, const char *csName, const char *path, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)
virtual int remdir(const char *path, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual int getChkPSize()
virtual int exists(const char *path, XrdSfsFileExistence &eFlag, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual int prepare(XrdSfsPrep &pargs, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)=0
virtual int gpFile(gpfFunc &gpAct, XrdSfsGPFile &gpReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)
virtual int stat(const char *Name, struct stat *buf, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual int FAttr(XrdSfsFACtl *faReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0)
virtual XrdSfsFile * newFile(char *user=0, int MonID=0)=0
virtual int rem(const char *path, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0)=0
virtual void Connect(const XrdSecEntity *client=0) override
virtual XrdSfsFile * newFile(char *user=0, int monid=0) override
virtual int gpFile(gpfFunc &gpAct, XrdSfsGPFile &gpReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0) override
virtual int rem(const char *path, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *info=0) override
virtual int getStats(char *buff, int blen) override
virtual void EnvInfo(XrdOucEnv *envP) override
virtual int fsctl(const int cmd, const char *args, XrdOucErrInfo &out_error, const XrdSecEntity *client) override
virtual int mkdir(const char *dirName, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0) override
virtual int truncate(const char *Name, XrdSfsFileOffset fileOffset, XrdOucErrInfo &out_error, const XrdSecEntity *client=0, const char *opaque=0) override
virtual void Disc(const XrdSecEntity *client=0) override
virtual const char * getVersion() override
virtual int exists(const char *fileName, XrdSfsFileExistence &exists_flag, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0) override
virtual XrdSfsDirectory * newDir(char *user=0, int monid=0) override
virtual int rename(const char *oldFileName, const char *newFileName, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *infoO=0, const char *infoN=0) override
virtual int chmod(const char *Name, XrdSfsMode Mode, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0) override
virtual int prepare(XrdSfsPrep &pargs, XrdOucErrInfo &out_error, const XrdSecEntity *client=0) override
virtual int remdir(const char *dirName, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *info=0) override
virtual int getChkPSize() override
virtual int stat(const char *Name, struct stat *buf, XrdOucErrInfo &out_error, const XrdSecEntity *client, const char *opaque=0) override
virtual int chksum(csFunc Func, const char *csName, const char *path, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0, const char *opaque=0) override
virtual int FAttr(XrdSfsFACtl *faReq, XrdOucErrInfo &eInfo, const XrdSecEntity *client=0) override
XrdOucEnv * envP
Definition: XrdPss.cc:110
std::auto_ptr< XrdSfsFile > unique_sfs_ptr
Definition: XrdThrottle.hh:23