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