xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 int Fstat (struct stat *)
 
virtual int Fsync ()
 
virtual int Fsync (XrdSfsAio *aiop)
 
virtual int Ftruncate (unsigned long long)
 
virtual int getFD ()
 
virtual off_t getMmap (void **addr)
 
virtual int isCompressed (char *cxidp=0)
 
virtual int Open (const char *, int, mode_t, XrdOucEnv &)
 
virtual ssize_t Read (off_t, size_t)
 
virtual ssize_t Read (void *, off_t, size_t)
 
virtual int Read (XrdSfsAio *aoip)
 
virtual ssize_t ReadRaw (void *, off_t, size_t)
 
virtual ssize_t Write (const void *, off_t, size_t)
 
virtual int Write (XrdSfsAio *aiop)
 
virtual ssize_t ReadV (XrdOucIOVec *readV, int n)
 
virtual ssize_t WriteV (XrdOucIOVec *writeV, int n)
 
int Handle ()
 
virtual int Fctl (int cmd, int alen, const char *args, char **resp=0)
 
 XrdOssDF ()
 
virtual ~XrdOssDF ()
 

Private Attributes

DIR * m_dirp
 
XrdCephOssm_cephOss
 

Additional Inherited Members

- Protected Attributes inherited from XrdOssDF
int fd
 

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 ( XrdCephOss cephoss)
virtual XrdCephOssDir::~XrdCephOssDir ( )
inlinevirtual

Member Function Documentation

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

Implements XrdOssDF.

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

Reimplemented from XrdOssDF.

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

Reimplemented from XrdOssDF.

Member Data Documentation

XrdCephOss* XrdCephOssDir::m_cephOss
private
DIR* XrdCephOssDir::m_dirp
private

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