|
| 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 *aoip) |
|
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) |
|
virtual int | Opendir (const char *, XrdOucEnv &) |
|
virtual int | Readdir (char *buff, int blen) |
|
virtual int | StatRet (struct stat *buff) |
|
virtual int | Fchmod (mode_t mode) |
|
virtual int | Fsync (XrdSfsAio *aiop) |
|
virtual int | getFD () |
|
virtual off_t | getMmap (void **addr) |
|
virtual int | isCompressed (char *cxidp=0) |
|
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.
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.