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

#include <XrdCephOssDir.hh>

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

Public Member Functions

 XrdCephOssDir (XrdCephOss *cephoss)
 
virtual ~XrdCephOssDir ()
 
virtual int Opendir (const char *, XrdOucEnv &)
 
virtual int Readdir (char *buff, int blen)
 
virtual int Close (long long *retsz=0)
 
- Public Member Functions inherited from XrdOssDF
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 Fstat (struct stat *buf)
 
virtual int Fsync ()
 
virtual int Fsync (XrdSfsAio *aiop)
 
virtual int Ftruncate (unsigned long long flen)
 
virtual off_t getMmap (void **addr)
 
virtual int isCompressed (char *cxidp=0)
 
virtual int Open (const char *path, int Oflag, mode_t Mode, XrdOucEnv &env)
 
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 Read (off_t offset, size_t size)
 
virtual ssize_t Read (void *buffer, off_t offset, size_t size)
 
virtual int Read (XrdSfsAio *aiop)
 
virtual ssize_t ReadRaw (void *buffer, off_t offset, size_t size)
 
virtual ssize_t ReadV (XrdOucIOVec *readV, int rdvcnt)
 
virtual ssize_t Write (const void *buffer, off_t offset, size_t size)
 
virtual int Write (XrdSfsAio *aiop)
 
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

DIR * m_dirp
 
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. It has a very restricted usage as the only valid path for opendir is '/'. The reason is that ceph is an object store where you can only list all objects, and that has no notion of hierarchy

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

◆ XrdCephOssDir()

XrdCephOssDir::XrdCephOssDir ( XrdCephOss cephoss)

◆ ~XrdCephOssDir()

virtual XrdCephOssDir::~XrdCephOssDir ( )
inlinevirtual

Member Function Documentation

◆ Close()

virtual int XrdCephOssDir::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.

◆ Opendir()

virtual int XrdCephOssDir::Opendir ( const char *  path,
XrdOucEnv env 
)
virtual

Open a directory.

Parameters
path- Pointer to the path of the directory to be opened.
env- Reference to environmental information.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

◆ Readdir()

virtual int XrdCephOssDir::Readdir ( char *  buff,
int  blen 
)
virtual

Get the next directory entry.

Parameters
buff- Pointer to buffer where a null terminated string of the entry name is to be returned. If no more entries exist, a null string is returned.
blen- Length of the buffer.
Returns
0 upon success or -errno or -osserr (see XrdOssError.hh).

Reimplemented from XrdOssDF.

Member Data Documentation

◆ m_cephOss

XrdCephOss* XrdCephOssDir::m_cephOss
private

◆ m_dirp

DIR* XrdCephOssDir::m_dirp
private

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