|
| 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) |
|
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 () |
|
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 :
- the path can be prepended with userId and pool. Syntax is : [[userId@]pool:]<actual path>="">
- the XrdOucEnv parameter, when existing, can have 'cephUserId' and/or 'cephPool' entries
- the ofs.osslib directive can provide an argument with format : [userID@]pool
- default are 'admin' and 'default' for userId and pool respectively
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.