xrootd
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
XrdCephOssFile Class Reference

#include <XrdCephOssFile.hh>

Inheritance diagram for XrdCephOssFile:
Inheritance graph
[legend]
Collaboration diagram for XrdCephOssFile:
Collaboration graph
[legend]

Public Member Functions

 XrdCephOssFile (XrdCephOss *cephoss)
 
virtual ~XrdCephOssFile ()
 
virtual int Open (const char *path, int flags, mode_t mode, XrdOucEnv &env)
 
virtual int Close (long long *retsz=0)
 
virtual ssize_t Read (off_t offset, size_t blen)
 
virtual ssize_t Read (void *buff, off_t offset, size_t blen)
 
virtual int Read (XrdSfsAio *aiop)
 
virtual ssize_t ReadRaw (void *, off_t, size_t)
 
virtual int Fstat (struct stat *buff)
 
virtual ssize_t Write (const void *buff, off_t offset, size_t blen)
 
virtual int Write (XrdSfsAio *aiop)
 
virtual int Fsync (void)
 
virtual int Ftruncate (unsigned long long)
 
- Public Member Functions inherited from XrdOssDF
virtual int Opendir (const char *path, XrdOucEnv &env)
 
virtual int Readdir (char *buff, int blen)
 
virtual int StatRet (struct stat *buff)
 
virtual int Fchmod (mode_t mode)
 
virtual void Flush ()
 Flush filesystem cached pages for this file (used for checksums).
 
virtual int Fsync (XrdSfsAio *aiop)
 
virtual off_t getMmap (void **addr)
 
virtual int isCompressed (char *cxidp=0)
 
virtual ssize_t pgRead (void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts)
 
virtual int pgRead (XrdSfsAio *aioparm, uint64_t opts)
 
virtual ssize_t pgWrite (void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts)
 
virtual int pgWrite (XrdSfsAio *aioparm, uint64_t opts)
 
virtual ssize_t ReadV (XrdOucIOVec *readV, int rdvcnt)
 
virtual ssize_t WriteV (XrdOucIOVec *writeV, int wrvcnt)
 
uint16_t DFType ()
 
virtual int Fctl (int cmd, int alen, const char *args, char **resp=0)
 
virtual int getFD ()
 
virtual const char * getTID ()
 
 XrdOssDF (const char *tid="", uint16_t dftype=0, int fdnum=-1)
 
virtual ~XrdOssDF ()
 

Private Attributes

int m_fd
 
XrdCephOssm_cephOss
 

Additional Inherited Members

- Static Public Attributes inherited from XrdOssDF
static const uint64_t Verify = 0x8000000000000000ULL
 all: Verify checksums
 
static const uint64_t doCalc = 0x4000000000000000ULL
 pgw: Calculate checksums
 
static const uint16_t DF_isDir = 0x0001
 Object is for a directory.
 
static const uint16_t DF_isFile = 0x0002
 Object is for a file.
 
static const uint16_t DF_isProxy = 0x0010
 Object is a proxy object.
 
static const int Fctl_ckpObj = 0
 
static const int Fctl_utimes = 1
 
- Protected Attributes inherited from XrdOssDF
const char * tident
 
off_t pgwEOF
 
int fd
 
uint16_t dfType
 
short rsvd
 

Detailed Description

This class implements XrdOssDF interface for usage with a CEPH storage.

This plugin is able to use any pool of ceph with any userId. There are several ways to provide the pool and userId to be used for a given operation. Here is the ordered list of possibilities. First one defined wins :

Note that the definition of a default via the ofs.osslib directive may clash with one used in a ofs.xattrlib directive. In case both directives have a default and they are different, the behavior is not defined. In case one of the two only has a default, it will be applied for both plugins.

Constructor & Destructor Documentation

◆ XrdCephOssFile()

XrdCephOssFile::XrdCephOssFile ( XrdCephOss cephoss)

◆ ~XrdCephOssFile()

virtual XrdCephOssFile::~XrdCephOssFile ( )
inlinevirtual

Member Function Documentation

◆ Close()

virtual int XrdCephOssFile::Close ( long long *  retsz = 0)
virtual

Close a directory or file.

Parameters
retszIf not nil, where the size of the file is to be returned.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Implements XrdOssDF.

◆ Fstat()

virtual int XrdCephOssFile::Fstat ( struct stat buf)
virtual

Return state information for this file.

Parameters
buf- Pointer to the structure where info it to be returned.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Fsync()

virtual int XrdCephOssFile::Fsync ( void  )
virtual

Synchronize associated file with media (synchronous).

Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Ftruncate()

virtual int XrdCephOssFile::Ftruncate ( unsigned long long  flen)
virtual

Set the size of the associated file.

Parameters
flen- The new size of the file.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Open()

virtual int XrdCephOssFile::Open ( const char *  path,
int  Oflag,
mode_t  Mode,
XrdOucEnv env 
)
virtual

Open a file.

Parameters
path- Pointer to the path of the file to be opened.
Oflag- Standard open flags.
Mode- File open mode (ignored unless creating a file).
env- Reference to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Read() [1/3]

virtual ssize_t XrdCephOssFile::Read ( off_t  offset,
size_t  size 
)
virtual

Preread file blocks into the file system cache.

Parameters
offset- The offset where the read is to start.
size- The number of bytes to pre-read.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Read() [2/3]

virtual ssize_t XrdCephOssFile::Read ( void *  buffer,
off_t  offset,
size_t  size 
)
virtual

Read file bytes into a buffer.

Parameters
buffer- pointer to buffer where the bytes are to be placed.
offset- The offset where the read is to start.
size- The number of bytes to read.
Returns
>= 0 The number of bytes that placed in buffer.
< 0 -errno or -osserr upon failure (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Read() [3/3]

virtual int XrdCephOssFile::Read ( XrdSfsAio aiop)
virtual

Read file bytes using asynchronous I/O.

Parameters
aiop- Pointer to async I/O object controlling the I/O.
Returns
0 upon if request started success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ ReadRaw()

virtual ssize_t XrdCephOssFile::ReadRaw ( void *  buffer,
off_t  offset,
size_t  size 
)
virtual

Read uncompressed file bytes into a buffer.

Parameters
buffer- pointer to buffer where the bytes are to be placed.
offset- The offset where the read is to start.
size- The number of bytes to read.
Returns
>= 0 The number of bytes that placed in buffer.
< 0 -errno or -osserr upon failure (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Write() [1/2]

virtual ssize_t XrdCephOssFile::Write ( const void *  buffer,
off_t  offset,
size_t  size 
)
virtual

Write file bytes from a buffer.

Parameters
buffer- pointer to buffer where the bytes reside.
offset- The offset where the write is to start.
size- The number of bytes to write.
Returns
>= 0 The number of bytes that were written.
< 0 -errno or -osserr upon failure (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Write() [2/2]

virtual int XrdCephOssFile::Write ( XrdSfsAio aiop)
virtual

Write file bytes using asynchronous I/O.

Parameters
aiop- Pointer to async I/O object controlling the I/O.
Returns
0 upon if request started success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

Member Data Documentation

◆ m_cephOss

XrdCephOss* XrdCephOssFile::m_cephOss
private

◆ m_fd

int XrdCephOssFile::m_fd
private

The documentation for this class was generated from the following file: