54 int XrdXrootdProtocol::do_ChkPnt()
56 static const char *ckpName[] = {
"begin",
"commit",
"query",
"rollback",
"xeq"};
74 "chkpoint does not refer to an open file");
91 htonl(
static_cast<uint32_t
>(ckpVec.offset));
99 "chkpoint subcode is invalid");
113 snprintf(eBuff,
sizeof(eBuff),
"chkpoint %s returned invalid rc=%d!",
130 int XrdXrootdProtocol::do_ChkPntXeq()
170 "Insufficient memory for chkpoint request");
176 {
Resume = &XrdXrootdProtocol::do_ChkPntXeq;
return rc;}
207 if ((rc = do_WriteV()))
return rc;
214 "multi-file chkpoint writev not supported");
219 "chkpoint request is invalid");
226 "chkpoint does not refer to an open file");
228 return Link->
setEtext(
"chkpnt xeq write protocol violation");
244 if (!rc)
return do_PgWrite();
251 if (!rc)
return do_Truncate();
259 if (!rc)
return do_Write();
267 return do_WriteVec();
274 TRACEP(FS,
"fh=" <<fh.handle <<
" chkpnt " <<xeqOp <<
" rc=" <<rc);
282 snprintf(eBuff,
sizeof(eBuff),
283 "chkpoint xeq %s returned invalid rc=%d!", xeqOp, rc);
static const int kXR_ckpRollback
struct ClientTruncateRequest truncate
static const int kXR_ckpXeq
struct ClientPgWriteRequest pgwrite
struct ClientRequestHdr header
struct ClientChkPointRequest chkpoint
static const int kXR_ckpCommit
static const int kXR_ckpQuery
struct ClientWriteRequest write
static const int kXR_ckpBegin
XrdSysTrace XrdXrootdTrace
void Release(XrdBuffer *bp)
XrdBuffer * Obtain(int bsz)
int setEtext(const char *text)
int setErrInfo(int code, const char *emsg)
virtual int checkpoint(cpAct act, struct iov *range=0, int n=0)
@ cpTrunc
Truncate a file within checkpoint.
@ cpDelete
Delete an existing checkpoint.
@ cpRestore
Restore an active checkpoint and delete it.
@ cpWrite
Add data to an existing checkpoint.
@ cpQuery
Return checkpoint limits.
@ cpCreate
Create a checkpoint, one must not be active.
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)
XrdXrootdFile * Get(int fnum)
static XrdXrootdStats * SI
XrdXrootdFileTable * FTab
static XrdSysError & eDest
int getData(gdCallBack *gdcbP, const char *dtype, char *buff, int blen)
int(XrdXrootdProtocol::* Resume)()
XrdXrootdResponse Response
static XrdBuffManager * BPool
static const int maxWvecln