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 int
95 FileSystem::fsctl(const int cmd,
96  const char *args,
97  XrdOucErrInfo &out_error,
98  const XrdSecEntity *client)
99 {
100  return m_sfs_ptr->fsctl(cmd, args, out_error, client);
101 }
102 
103 int
105 {
106  return m_sfs_ptr->getChkPSize();
107 }
108 
109 int
111  int blen)
112 {
113  return m_sfs_ptr->getStats(buff, blen);
114 }
115 
116 const char *
118 {
119  return XrdVERSION;
120 }
121 
122 int
124  XrdSfsGPFile &gpReq,
125  XrdOucErrInfo &eInfo,
126  const XrdSecEntity *client)
127 {
128  return m_sfs_ptr->gpFile(gpAct, gpReq, eInfo, client);
129 }
130 
131 int
132 FileSystem::mkdir(const char *dirName,
134  XrdOucErrInfo &out_error,
135  const XrdSecEntity *client,
136  const char *opaque)
137 {
138  return m_sfs_ptr->mkdir(dirName, Mode, out_error, client, opaque);
139 }
140 
141 int
143  XrdOucErrInfo &out_error,
144  const XrdSecEntity *client)
145 {
146  return m_sfs_ptr->prepare(pargs, out_error, client);
147 }
148 
149 int
150 FileSystem::rem(const char *path,
151  XrdOucErrInfo &out_error,
152  const XrdSecEntity *client,
153  const char *info)
154 {
155  return m_sfs_ptr->rem(path, out_error, client, info);
156 }
157 
158 int
159 FileSystem::remdir(const char *dirName,
160  XrdOucErrInfo &out_error,
161  const XrdSecEntity *client,
162  const char *info)
163 {
164  return m_sfs_ptr->remdir(dirName, out_error, client, info);
165 }
166 
167 int
168 FileSystem::rename(const char *oldFileName,
169  const char *newFileName,
170  XrdOucErrInfo &out_error,
171  const XrdSecEntity *client,
172  const char *infoO,
173  const char *infoN)
174 {
175  return m_sfs_ptr->rename(oldFileName, newFileName, out_error, client, infoO, infoN);
176 }
177 
178 int
179 FileSystem::stat(const char *Name,
180  struct stat *buf,
181  XrdOucErrInfo &out_error,
182  const XrdSecEntity *client,
183  const char *opaque)
184 {
185  return m_sfs_ptr->stat(Name, buf, out_error, client, opaque);
186 }
187 
188 int
189 FileSystem::stat(const char *Name,
190  mode_t &mode,
191  XrdOucErrInfo &out_error,
192  const XrdSecEntity *client,
193  const char *opaque)
194 {
195  return m_sfs_ptr->stat(Name, mode, out_error, client, opaque);
196 }
197 
198 int
199 FileSystem::truncate(const char *Name,
200  XrdSfsFileOffset fileOffset,
201  XrdOucErrInfo &out_error,
202  const XrdSecEntity *client,
203  const char *opaque)
204 {
205  return m_sfs_ptr->truncate(Name, fileOffset, out_error, client, opaque);
206 }
207 
#define stat(a, b)
Definition: XrdPosix.hh:101
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:109
std::auto_ptr< XrdSfsFile > unique_sfs_ptr
Definition: XrdThrottle.hh:23