#include <XrdBwm.hh>
Public Member Functions | |
| XrdBwmFile (const char *user, int monid) | |
| virtual | ~XrdBwmFile () |
| int | close () |
| int | fctl (const int cmd, const char *args, XrdOucErrInfo &out_error) |
| virtual int | fctl (const int cmd, int alen, const char *args, const XrdSecEntity *client=0) |
| const char * | FName () |
| int | getCXinfo (char cxtype[4], int &cxrsz) |
| int | getMmap (void **Addr, off_t &Size) |
| int | open (const char *fileName, XrdSfsFileOpenMode openMode, mode_t createMode, const XrdSecEntity *client, const char *opaque=0) |
| int | read (XrdSfsAio *aioparm) |
| XrdSfsXferSize | read (XrdSfsFileOffset fileOffset, char *buffer, XrdSfsXferSize buffer_size) |
| int | read (XrdSfsFileOffset fileOffset, XrdSfsXferSize amount) |
| int | stat (struct stat *buf) |
| int | sync () |
| int | sync (XrdSfsAio *aiop) |
| int | truncate (XrdSfsFileOffset fileOffset) |
| int | write (XrdSfsAio *aioparm) |
| XrdSfsXferSize | write (XrdSfsFileOffset fileOffset, const char *buffer, XrdSfsXferSize buffer_size) |
| Public Member Functions inherited from XrdSfsFile | |
| XrdSfsFile (const char *user=0, int MonID=0) | |
| XrdSfsFile (XrdOucErrInfo &eInfo) | |
| XrdSfsFile (XrdSfsFile &wrapF) | |
| virtual | ~XrdSfsFile () |
| Destructor. | |
| virtual int | checkpoint (cpAct act, struct iov *range=0, int n=0) |
| virtual int | Clone (const std::vector< XrdOucCloneSeg > &cVec) |
| virtual int | Clone (XrdSfsFile &srcFile) |
| virtual int | pgRead (XrdSfsAio *aioparm, uint64_t opts=0) |
| virtual XrdSfsXferSize | pgRead (XrdSfsFileOffset offset, char *buffer, XrdSfsXferSize rdlen, uint32_t *csvec, uint64_t opts=0) |
| virtual int | pgWrite (XrdSfsAio *aioparm, uint64_t opts=0) |
| virtual XrdSfsXferSize | pgWrite (XrdSfsFileOffset offset, char *buffer, XrdSfsXferSize wrlen, uint32_t *csvec, uint64_t opts=0) |
| virtual XrdSfsXferSize | read (XrdOucRangeList &rlist) |
| virtual XrdSfsXferSize | readv (XrdOucIOVec *readV, int rdvCnt) |
| virtual int | SendData (XrdSfsDio *sfDio, XrdSfsFileOffset offset, XrdSfsXferSize size) |
| virtual void | setXio (XrdSfsXio *xioP) |
| virtual XrdSfsXferSize | writev (XrdOucIOVec *writeV, int wdvCnt) |
Protected Attributes | |
| const char * | tident |
Additional Inherited Members | |
| Public Types inherited from XrdSfsFile | |
| enum | cpAct { cpCreate =0 , cpDelete , cpRestore , cpQuery , cpTrunc , cpWrite } |
| Public Attributes inherited from XrdSfsFile | |
| XrdOucErrInfo & | error |
| Static Public Attributes inherited from XrdSfsFile | |
| static const uint64_t | Verify = 0x8000000000000000ULL |
| Options for pgRead() and pgWrite() as noted below. | |
| XrdBwmFile::XrdBwmFile | ( | const char * | user, |
| int | monid ) |
Definition at line 135 of file XrdBwm.cc.
References XrdSfsFile::XrdSfsFile(), and tident.
Referenced by stat().
|
inlinevirtual |
|
virtual |
Close the file.
Implements XrdSfsFile.
Definition at line 336 of file XrdBwm.cc.
References EPNAME, FTRACE, XrdBwmHandle::Retire(), SFS_OK, and XrdBwmFS.
Referenced by ~XrdBwmFile().
|
virtual |
Execute a special operation on the file (version 1)
| cmd | - The operation to be performed (see below). SFS_FCTL_GETFD Return file descriptor if possible SFS_FCTL_STATV Reserved for future use. |
| args | - specific arguments to cmd SFS_FCTL_GETFD Set to zero. |
| eInfo | - The object where error info or results are to be returned. This is legacy and the error onject may be used as well. |
Implements XrdSfsFile.
Definition at line 373 of file XrdBwm.cc.
References XrdOucErrInfo::setErrInfo(), SFS_ERROR, SFS_FCTL_GETFD, SFS_FCTL_STATV, SFS_OK, and XrdBwmFS.
|
virtual |
Execute a special operation on the file (version 2)
| cmd | - The operation to be performed: SFS_FCTL_SPEC1 Perform implementation defined action V1 SFS_FCTL_SPEC2 Perform implementation defined action V2 |
| alen | - Length of data pointed to by args. |
| args | - Data sent with request, zero if alen is zero. |
| client | - Client's identify (see common description). |
Reimplemented from XrdSfsFile.
Definition at line 521 of file XrdSfsInterface.cc.
|
inlinevirtual |
Get the file path.
Implements XrdSfsFile.
Definition at line 100 of file XrdBwm.hh.
Referenced by stat().
|
virtual |
Get compression information for the file.
| cxtype | - Place where the compression algorithm name is to be placed |
| cxrsz | - Place where the compression page size is to be returned |
Implements XrdSfsFile.
Definition at line 672 of file XrdBwm.cc.
References SFS_OK.
|
virtual |
Get file's memory mapping if one exists (memory mapped files only).
| Addr | - Place where the starting memory address is returned. |
| Size | - Place where the file's size is returned. |
Implements XrdSfsFile.
Definition at line 548 of file XrdBwm.cc.
References SFS_OK.
|
virtual |
Open a file.
| fileName | - Pointer to the path of the file to be opened. |
| openMode | - Flags indicating how the open is to be handled. SFS_O_CREAT create the file SFS_O_CREATAT create the file in a perticular FS SFS_O_MKPTH Make directory path if missing SFS_O_NOWAIT do not impose operational delays SFS_O_NOTPC do not allow TPC operation SFS_O_POSC persist only on successful close SFS_O_RAWIO allow client-side decompression SFS_O_RDONLY open read/only SFS_O_RDWR open read/write SFS_O_REPLICA Open for replication SFS_O_RESET Reset any cached information SFS_O_TRUNC truncate existing file to zero length SFS_O_WRONLY open write/only |
| createMode | - The file's mode if it will be created. |
| client | - Client's identify (see common description). |
| opaque | - path's CGI information (see common description). |
Implements XrdSfsFile.
Definition at line 244 of file XrdBwm.cc.
References XrdBwmHandle::Alloc(), AOP_Update, XrdOucUtils::endsWith(), EPNAME, XrdSfsFile::error, XrdOucEnv::Get(), Mode, SFS_O_RDWR, SFS_OK, XrdBwmFS, and ZTRACE.
|
virtual |
Read file bytes using asynchronous I/O.
| aioparm | - Pointer to async I/O object controlling the I/O. |
Implements XrdSfsFile.
Definition at line 480 of file XrdBwm.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::doneRead(), read, XrdSfsAio::Result, and XrdSfsAio::sfsAio.
|
virtual |
Read file bytes into a buffer.
| offset | - The offset where the read is to start. |
| buffer | - pointer to buffer where the bytes are to be placed. |
| size | - The number of bytes to read. |
Implements XrdSfsFile.
Definition at line 439 of file XrdBwm.cc.
|
virtual |
Preread a file block into the file system cache.
| offset | - The offset where the read is to start. |
| size | - The number of bytes to pre-read. |
Implements XrdSfsFile.
Definition at line 413 of file XrdBwm.cc.
|
virtual |
Return state information on the file.
| buf | - Pointer to the structure where info it to be returned. |
Implements XrdSfsFile.
Definition at line 570 of file XrdBwm.cc.
References XrdBwmFile(), EPNAME, FName(), FTRACE, SFS_OK, and stat().
Referenced by stat().
|
virtual |
Make sure all outstanding data is actually written to the file (sync).
Implements XrdSfsFile.
Definition at line 609 of file XrdBwm.cc.
References EPNAME, FTRACE, and SFS_OK.
Referenced by sync().
|
virtual |
Make sure all outstanding data is actually written to the file (async).
Implements XrdSfsFile.
Definition at line 635 of file XrdBwm.cc.
References XrdSfsAio::doneWrite(), XrdSfsAio::Result, and sync().
|
virtual |
Truncate the file.
| fsize | - The size that the file is to have. |
Implements XrdSfsFile.
Definition at line 646 of file XrdBwm.cc.
References EPNAME, XrdSfsFile::error, FTRACE, and XrdBwmFS.
|
virtual |
Write file bytes using asynchronous I/O.
| aioparm | - Pointer to async I/O object controlling the I/O. |
Implements XrdSfsFile.
Definition at line 532 of file XrdBwm.cc.
References aiocb::aio_buf, aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::doneWrite(), XrdSfsAio::Result, XrdSfsAio::sfsAio, and write.
|
virtual |
Write file bytes from a buffer.
| offset | - The offset where the write is to start. |
| buffer | - pointer to buffer where the bytes reside. |
| size | - The number of bytes to write. |
Implements XrdSfsFile.
Definition at line 496 of file XrdBwm.cc.
|
protected |
Definition at line 134 of file XrdBwm.hh.
Referenced by XrdBwmFile().