xrootd
|
#include <XrdOfsPoscq.hh>
Classes | |
struct | FileSlot |
struct | recEnt |
struct | Request |
Public Member Functions | |
int | Add (const char *Tident, const char *Lfn) |
int | Commit (const char *Lfn, int Offset) |
int | Del (const char *Lfn, int Offset, int Unlink=0) |
recEnt * | Init (int &Ok) |
int | Num () |
XrdOfsPoscq (XrdSysError *erp, XrdOss *oss, const char *fn) | |
~XrdOfsPoscq () | |
Static Public Member Functions | |
static recEnt * | List (XrdSysError *Say, const char *theFN) |
Static Public Attributes | |
static const int | ReqOffs = 64 |
static const int | ReqSize = sizeof(Request) |
Private Member Functions | |
void | FailIni (const char *lfn) |
int | reqRead (void *Buff, int Offs) |
int | reqWrite (void *Buff, int Bsz, int Offs) |
int | ReWrite (recEnt *rP) |
int | VerOffset (const char *Lfn, int Offset) |
Private Attributes | |
XrdSysMutex | myMutex |
XrdSysError * | eDest |
XrdOss * | ossFS |
FileSlot * | SlotList |
FileSlot * | SlotLust |
char * | pocFN |
int | pocSZ |
int | pocFD |
int | pocIQ |
XrdOfsPoscq::XrdOfsPoscq | ( | XrdSysError * | erp, |
XrdOss * | oss, | ||
const char * | fn | ||
) |
XrdOfsPoscq::~XrdOfsPoscq | ( | ) | [inline] |
int XrdOfsPoscq::Add | ( | const char * | Tident, |
const char * | Lfn | ||
) |
References XrdOfsPoscq::Request::addT, eDest, XrdSysError::Emsg(), XrdOfsPoscq::Request::LFN, XrdSysMutex::Lock(), myMutex, XrdOfsPoscq::FileSlot::Next, XrdOfsPoscq::FileSlot::Offset, pocIQ, pocSZ, ReqSize, reqWrite(), XrdOfsPoscq::Request::Reserved, SlotList, SlotLust, strlcpy(), XrdSysMutex::UnLock(), and XrdOfsPoscq::Request::User.
Referenced by XrdOfsFile::open().
int XrdOfsPoscq::Commit | ( | const char * | Lfn, |
int | Offset | ||
) |
References eDest, XrdSysError::Emsg(), reqWrite(), and VerOffset().
Referenced by XrdOfsFile::open().
int XrdOfsPoscq::Del | ( | const char * | Lfn, |
int | Offset, | ||
int | Unlink = 0 |
||
) |
References eDest, XrdSysError::Emsg(), XrdSysMutex::Lock(), myMutex, XrdOfsPoscq::FileSlot::Next, XrdOfsPoscq::FileSlot::Offset, ossFS, pocIQ, reqWrite(), SlotList, SlotLust, XrdOss::Unlink(), XrdSysMutex::UnLock(), and VerOffset().
Referenced by XrdOfsFile::close(), XrdOfs::ConfigPosc(), XrdOfsFile::open(), and XrdOfs::Unpersist().
void XrdOfsPoscq::FailIni | ( | const char * | lfn | ) | [private] |
References eDest, XrdSysError::Emsg(), and pocFN.
Referenced by Init().
XrdOfsPoscq::recEnt * XrdOfsPoscq::Init | ( | int & | Ok | ) |
References eDest, XrdSysError::Emsg(), FailIni(), fstat(), ftruncate(), XrdOfsPoscq::Request::LFN, Mode, open(), ossFS, pocFD, pocFN, pocSZ, pread(), ReqOffs, ReqSize, ReWrite(), S_IAMB, S_IRGRP, S_IROTH, S_IRUSR, S_ISREG, S_IWUSR, XrdSysError::Say(), XrdOss::Stat(), and stat().
Referenced by XrdOfs::ConfigPosc().
XrdOfsPoscq::recEnt * XrdOfsPoscq::List | ( | XrdSysError * | Say, |
const char * | theFN | ||
) | [static] |
References close, XrdSysError::Emsg(), fstat(), XrdOfsPoscq::Request::LFN, open(), pread(), ReqOffs, ReqSize, and stat().
int XrdOfsPoscq::Num | ( | ) | [inline] |
References pocIQ.
int XrdOfsPoscq::reqRead | ( | void * | Buff, |
int | Offs | ||
) | [private] |
int XrdOfsPoscq::reqWrite | ( | void * | Buff, |
int | Bsz, | ||
int | Offs | ||
) | [private] |
int XrdOfsPoscq::ReWrite | ( | XrdOfsPoscq::recEnt * | rP | ) | [private] |
References close, eDest, XrdSysError::Emsg(), Mode, XrdOfsPoscq::recEnt::Next, XrdOfsPoscq::recEnt::Offset, open(), pocFD, pocFN, pocSZ, rename(), XrdOfsPoscq::recEnt::reqData, ReqOffs, ReqSize, reqWrite(), S_IRGRP, S_IROTH, S_IRUSR, and S_IWUSR.
Referenced by Init().
int XrdOfsPoscq::VerOffset | ( | const char * | Lfn, |
int | Offset | ||
) | [private] |
XrdSysError* XrdOfsPoscq::eDest [private] |
Referenced by Add(), Commit(), Del(), FailIni(), Init(), reqWrite(), ReWrite(), VerOffset(), and XrdOfsPoscq().
XrdSysMutex XrdOfsPoscq::myMutex [private] |
XrdOss* XrdOfsPoscq::ossFS [private] |
Referenced by Del(), Init(), and XrdOfsPoscq().
int XrdOfsPoscq::pocFD [private] |
Referenced by Init(), reqWrite(), ReWrite(), and XrdOfsPoscq().
char* XrdOfsPoscq::pocFN [private] |
Referenced by FailIni(), Init(), reqWrite(), ReWrite(), and XrdOfsPoscq().
int XrdOfsPoscq::pocIQ [private] |
Referenced by Add(), Del(), Num(), and XrdOfsPoscq().
int XrdOfsPoscq::pocSZ [private] |
Referenced by Add(), Init(), ReWrite(), and XrdOfsPoscq().
const int XrdOfsPoscq::ReqOffs = 64 [static] |
Referenced by Init(), List(), ReWrite(), and VerOffset().
const int XrdOfsPoscq::ReqSize = sizeof(Request) [static] |
Referenced by Add(), Init(), List(), ReWrite(), and VerOffset().
FileSlot* XrdOfsPoscq::SlotList [private] |
Referenced by Add(), Del(), and XrdOfsPoscq().
FileSlot* XrdOfsPoscq::SlotLust [private] |
Referenced by Add(), Del(), and XrdOfsPoscq().