Skip to content

Commit

Permalink
[Server] Align Throttle plugin with the new SFS headers.
Browse files Browse the repository at this point in the history
  • Loading branch information
abh3 authored and simonmichal committed Oct 16, 2019
1 parent 5e0beb7 commit 4429090
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/XrdThrottle/XrdThrottle.hh
Expand Up @@ -53,6 +53,26 @@ public:
virtual int
getMmap(void **Addr, off_t &Size);

virtual XrdSfsXferSize
pgRead(XrdSfsFileOffset offset,
char *buffer,
XrdSfsXferSize rdlen,
uint32_t *csvec,
bool verify=true);

virtual XrdSfsXferSize
pgRead(XrdSfsAio *aioparm, bool verify=true);

virtual XrdSfsXferSize
pgWrite(XrdSfsFileOffset offset,
char *buffer,
XrdSfsXferSize rdlen,
uint32_t *csvec,
bool verify=true);

virtual XrdSfsXferSize
pgWrite(XrdSfsAio *aioparm, bool verify=true);

virtual int
read(XrdSfsFileOffset fileOffset, // Preread only
XrdSfsXferSize amount);
Expand Down Expand Up @@ -135,6 +155,9 @@ public:
const XrdSecEntity *client,
const char *opaque = 0);

virtual void
Connect(const XrdSecEntity *client = 0);

virtual void
Disc(const XrdSecEntity *client = 0);

Expand All @@ -148,6 +171,15 @@ public:
const XrdSecEntity *client,
const char *opaque = 0);

virtual int
FAttr( XrdSfsFACtl *faReq,
XrdOucErrInfo &eInfo,
const XrdSecEntity *client = 0);


virtual uint64_t
Features();

virtual int
fsctl(const int cmd,
const char *args,
Expand All @@ -160,6 +192,12 @@ public:
virtual const char *
getVersion();

virtual int
gpFile( gpfFunc &gpAct,
XrdSfsGPFile &gpReq,
XrdOucErrInfo &eInfo,
const XrdSecEntity *client = 0);

virtual int
mkdir(const char *dirName,
XrdSfsMode Mode,
Expand Down
44 changes: 44 additions & 0 deletions src/XrdThrottle/XrdThrottleFile.cc
Expand Up @@ -85,6 +85,50 @@ File::getMmap(void **Addr, off_t &Size)
return SFS_ERROR;
}

XrdSfsXferSize
File::pgRead(XrdSfsFileOffset offset,
char *buffer,
XrdSfsXferSize rdlen,
uint32_t *csvec,
bool verify)
{
DO_THROTTLE(rdlen)
return m_sfs->pgRead(offset, buffer, rdlen, csvec, verify);
}

XrdSfsXferSize
File::pgRead(XrdSfsAio *aioparm, bool verify)
{ // We disable all AIO-based reads.
aioparm->Result = this->pgRead((XrdSfsFileOffset)aioparm->sfsAio.aio_offset,
(char *)aioparm->sfsAio.aio_buf,
(XrdSfsXferSize)aioparm->sfsAio.aio_nbytes,
aioparm->cksVec, verify);
aioparm->doneRead();
return SFS_OK;
}

XrdSfsXferSize
File::pgWrite(XrdSfsFileOffset offset,
char *buffer,
XrdSfsXferSize rdlen,
uint32_t *csvec,
bool verify)
{
DO_THROTTLE(rdlen)
return m_sfs->pgWrite(offset, buffer, rdlen, csvec, verify);
}

XrdSfsXferSize
File::pgWrite(XrdSfsAio *aioparm, bool verify)
{ // We disable all AIO-based writes.
aioparm->Result = this->pgWrite((XrdSfsFileOffset)aioparm->sfsAio.aio_offset,
(char *)aioparm->sfsAio.aio_buf,
(XrdSfsXferSize)aioparm->sfsAio.aio_nbytes,
aioparm->cksVec, verify);
aioparm->doneWrite();
return SFS_OK;
}

int
File::read(XrdSfsFileOffset fileOffset,
XrdSfsXferSize amount)
Expand Down
29 changes: 29 additions & 0 deletions src/XrdThrottle/XrdThrottleFileSystem.cc
Expand Up @@ -55,6 +55,12 @@ FileSystem::chmod(const char *Name,
return m_sfs_ptr->chmod(Name, Mode, out_error, client, opaque);
}

void
FileSystem::Connect(const XrdSecEntity *client)
{
m_sfs_ptr->Connect(client);
}

void
FileSystem::Disc(const XrdSecEntity *client)
{
Expand All @@ -77,6 +83,20 @@ FileSystem::exists(const char *fileName,
return m_sfs_ptr->exists(fileName, exists_flag, out_error, client, opaque);
}

int
FileSystem::FAttr( XrdSfsFACtl *faReq,
XrdOucErrInfo &eInfo,
const XrdSecEntity *client)
{
return m_sfs_ptr->FAttr(faReq, eInfo, client);
}

uint64_t
FileSystem::Features()
{
return m_sfs_ptr->Features();
}

int
FileSystem::fsctl(const int cmd,
const char *args,
Expand All @@ -99,6 +119,15 @@ FileSystem::getVersion()
return XrdVERSION;
}

int
FileSystem::gpFile( gpfFunc &gpAct,
XrdSfsGPFile &gpReq,
XrdOucErrInfo &eInfo,
const XrdSecEntity *client)
{
return m_sfs_ptr->gpFile(gpAct, gpReq, eInfo, client);
}

int
FileSystem::mkdir(const char *dirName,
XrdSfsMode Mode,
Expand Down

0 comments on commit 4429090

Please sign in to comment.