53extern thread_local XrdOucECMsg
ecMsg;
63 const std::string& args, std::string& resp)
74 {resp =
"Invalid file descriptor.";
79 resp =
"File operation not supported.";
94 const std::string& args, std::string& resp,
95 bool viaCache,
bool viaRedir)
106 resp =
"Filesystem operation not supported.";
124 if (viaRedir && !admin.
Stat())
return -1;
128 return admin.
Query(clOp, resp);
136 off_t offset,
size_t rdlen,
137 std::vector<uint32_t>& csvec,
142 long long offs, bytes;
149 {
if (!cbp)
return -1;
156 if (rdlen > (
size_t)0x7fffffff)
166 iosz =
static_cast<int>(rdlen);
167 offs =
static_cast<long long>(offset);
174 {bytes = fp->
XCio->
pgRead((
char *)buffer, offs, (
int)iosz, csvec, fOpts);
181 return (ssize_t)bytes;
191 fp->
XCio->
pgRead(*cbp, (
char *)buffer, offs, (
int)iosz, csvec, fOpts);
200 off_t offset,
size_t wrlen,
201 std::vector<uint32_t>& csvec,
212 {
if (!cbp)
return -1;
219 if (wrlen > (
size_t)0x7fffffff)
229 if (csvec.size() == 0)
241 iosz =
static_cast<int>(wrlen);
242 offs =
static_cast<long long>(offset);
247 {bytes = fp->
XCio->
pgWrite((
char *)buffer, offs, (
int)iosz, csvec);
255 return (ssize_t)bytes;
265 fp->
XCio->
pgWrite(*cbp, (
char *)buffer, offs, (
int)iosz, csvec);
std::vector< XrdOucRange > XrdOucRangeList
virtual int Fcntl(XrdOucCacheOp::Code opc, const std::string &args, std::string &resp)
static const uint64_t forceCS
virtual int pgRead(char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0)
virtual int pgWrite(char *buff, long long offs, int wrlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0)
int SetErrno(int ecc, int ret=-1, const char *alt=0)
static void csCalc(const char *data, off_t offs, size_t count, uint32_t *csval)
static int csNum(off_t offs, int count)
Compute the required size of a checksum vector based on offset & length.
bool Stat(mode_t *flags=0, time_t *mtime=0)
int Query(XrdCl::QueryCode::Code reqCode, void *buff, int bsz)
virtual void Complete(ssize_t Result)=0
void UpdtSize(size_t newsz)
static XrdPosixFile * File(int fildes, bool glk=false)
Code
XRootD query request codes.
@ FSInfo
Query op-dependant file information on FS path.