![]() |
XRootD
|
#include <cerrno>
#include <cstdio>
#include <cstring>
#include <sys/types.h>
#include <sys/xattr.h>
#include <iostream>
#include <libgen.h>
#include <unistd.h>
#include <cstdlib>
#include <syslog.h>
#include "XrdFfs/XrdFfsPosix.hh"
#include "XrdPosix/XrdPosixXrootd.hh"
#include "XrdFfs/XrdFfsMisc.hh"
#include "XrdFfs/XrdFfsDent.hh"
#include "XrdFfs/XrdFfsQueue.hh"
#include "XrdCl/XrdClFileSystem.hh"
#include "XrdCl/XrdClFile.hh"
#include "XrdCl/XrdClURL.hh"
#include "XrdCl/XrdClXRootDResponses.hh"
Go to the source code of this file.
Classes | |
struct | XrdFfsPosixX_deleteall_args |
struct | XrdFfsPosixX_readdirall_args |
struct | XrdFfsPosixX_statall_args |
struct | XrdFfsPosixX_statvfsall_args |
Macros | |
#define | _FILE_OFFSET_BITS 64 |
#define | ENOATTR ENODATA |
#define | MAXROOTURLLEN 1024 |
Functions | |
void | XrdFfsPosix_clear_from_rdr_cache (const char *rdrurl) |
int | XrdFfsPosix_close (int fildes) |
int | XrdFfsPosix_closedir (DIR *dirp) |
int | XrdFfsPosix_deleteall (const char *rdrurl, const char *path, uid_t user_uid, mode_t st_mode) |
int | XrdFfsPosix_fsync (int fildes) |
int | XrdFfsPosix_ftruncate (int fildes, off_t offset) |
long long | XrdFfsPosix_getxattr (const char *path, const char *name, void *value, unsigned long long size) |
off_t | XrdFfsPosix_lseek (int fildes, off_t offset, int whence) |
int | XrdFfsPosix_mkdir (const char *path, mode_t mode) |
int | XrdFfsPosix_open (const char *path, int oflags, mode_t mode) |
DIR * | XrdFfsPosix_opendir (const char *path) |
ssize_t | XrdFfsPosix_pread (int fildes, void *buf, size_t nbyte, off_t offset) |
ssize_t | XrdFfsPosix_pwrite (int fildes, const void *buf, size_t nbyte, off_t offset) |
ssize_t | XrdFfsPosix_read (int fildes, void *buf, size_t nbyte) |
struct dirent * | XrdFfsPosix_readdir (DIR *dirp) |
int | XrdFfsPosix_readdirall (const char *rdrurl, const char *path, char ***direntarray, uid_t user_uid) |
int | XrdFfsPosix_rename (const char *oldpath, const char *newpath) |
int | XrdFfsPosix_renameall (const char *rdrurl, const char *from, const char *to, uid_t user_uid) |
int | XrdFfsPosix_rmdir (const char *path) |
int | XrdFfsPosix_rmdirall (const char *rdrurl, const char *path, uid_t user_uid) |
int | XrdFfsPosix_stat (const char *path, struct stat *buf) |
int | XrdFfsPosix_statall (const char *rdrurl, const char *path, struct stat *stbuf, uid_t user_uid) |
int | XrdFfsPosix_statvfsall (const char *rdrurl, const char *path, struct statvfs *stbuf, uid_t user_uid) |
int | XrdFfsPosix_truncate (const char *path, off_t Size) |
int | XrdFfsPosix_truncateall (const char *rdrurl, const char *path, off_t size, uid_t user_uid) |
int | XrdFfsPosix_unlink (const char *path) |
int | XrdFfsPosix_unlinkall (const char *rdrurl, const char *path, uid_t user_uid) |
ssize_t | XrdFfsPosix_write (int fildes, const void *buf, size_t nbyte) |
void * | XrdFfsPosix_x_deleteall (void *x) |
void * | XrdFfsPosix_x_readdirall (void *x) |
void * | XrdFfsPosix_x_statall (void *x) |
void * | XrdFfsPosix_x_statvfsall (void *x) |
struct XrdFfsPosixX_deleteall_args |
Definition at line 248 of file XrdFfsPosix.cc.
Class Members | ||
---|---|---|
int * | err | |
int * | res | |
mode_t | st_mode | |
char * | url |
struct XrdFfsPosixX_readdirall_args |
Definition at line 429 of file XrdFfsPosix.cc.
Class Members | ||
---|---|---|
struct XrdFfsDentnames ** | dents | |
int * | err | |
int * | res | |
char * | url |
struct XrdFfsPosixX_statall_args |
Definition at line 743 of file XrdFfsPosix.cc.
Class Members | ||
---|---|---|
int * | err | |
int * | res | |
struct stat * | stbuf | |
char * | url |
struct XrdFfsPosixX_statvfsall_args |
Definition at line 611 of file XrdFfsPosix.cc.
Class Members | ||
---|---|---|
int * | err | |
short | osscgroup | |
int * | res | |
struct statvfs * | stbuf | |
char * | url |
#define _FILE_OFFSET_BITS 64 |
Definition at line 30 of file XrdFfsPosix.cc.
#define ENOATTR ENODATA |
Definition at line 41 of file XrdFfsPosix.cc.
#define MAXROOTURLLEN 1024 |
Definition at line 64 of file XrdFfsPosix.cc.
void XrdFfsPosix_clear_from_rdr_cache | ( | const char * | rdrurl | ) |
Definition at line 235 of file XrdFfsPosix.cc.
References XrdFfsPosix_close(), XrdFfsPosix_open(), and XrdFfsPosix_unlink().
int XrdFfsPosix_close | ( | int | fildes | ) |
Definition at line 127 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Close().
Referenced by XrdFfsPosix_clear_from_rdr_cache().
int XrdFfsPosix_closedir | ( | DIR * | dirp | ) |
Definition at line 92 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Closedir().
Referenced by XrdFfsPosix_x_readdirall().
int XrdFfsPosix_deleteall | ( | const char * | rdrurl, |
const char * | path, | ||
uid_t | user_uid, | ||
mode_t | st_mode | ||
) |
Definition at line 268 of file XrdFfsPosix.cc.
References XrdFfsQueueTasks::args, MAXROOTURLLEN, XrdFfsPosixX_deleteall_args::res, XrdFfs_MAX_NUM_NODES, XrdFfsMisc_get_all_urls(), XrdFfsMisc_xrd_secsss_editurl(), XrdFfsPosix_x_deleteall(), and XrdFfsQueue_create_task().
Referenced by XrdFfsPosix_rmdirall(), and XrdFfsPosix_unlinkall().
int XrdFfsPosix_fsync | ( | int | fildes | ) |
Definition at line 157 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Fsync().
int XrdFfsPosix_ftruncate | ( | int | fildes, |
off_t | offset | ||
) |
Definition at line 172 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Ftruncate().
long long XrdFfsPosix_getxattr | ( | const char * | path, |
const char * | name, | ||
void * | value, | ||
unsigned long long | size | ||
) |
Definition at line 181 of file XrdFfsPosix.cc.
References ENOATTR, and XrdPosixXrootd::Getxattr().
Referenced by XrdFfsPosix_x_statvfsall().
off_t XrdFfsPosix_lseek | ( | int | fildes, |
off_t | offset, | ||
int | whence | ||
) |
Definition at line 132 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Lseek().
int XrdFfsPosix_mkdir | ( | const char * | path, |
mode_t | mode | ||
) |
Definition at line 97 of file XrdFfsPosix.cc.
References XrdCl::LocationInfo::At(), XrdCl::FileSystem::DeepLocate(), XrdCl::LocationInfo::Location::GetAddress(), XrdCl::URL::GetPath(), XrdCl::Status::IsOK(), XrdPosixXrootd::Mkdir(), and XrdCl::OpenFlags::None.
int XrdFfsPosix_open | ( | const char * | path, |
int | oflags, | ||
mode_t | mode | ||
) |
Definition at line 122 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Open().
Referenced by XrdFfsPosix_clear_from_rdr_cache().
DIR* XrdFfsPosix_opendir | ( | const char * | path | ) |
Definition at line 82 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Opendir().
Referenced by XrdFfsPosix_x_readdirall().
ssize_t XrdFfsPosix_pread | ( | int | fildes, |
void * | buf, | ||
size_t | nbyte, | ||
off_t | offset | ||
) |
Definition at line 142 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Pread().
Referenced by XrdFfsWcache_pread().
ssize_t XrdFfsPosix_pwrite | ( | int | fildes, |
const void * | buf, | ||
size_t | nbyte, | ||
off_t | offset | ||
) |
Definition at line 152 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Pwrite().
Referenced by XrdFfsWcache_flush(), and XrdFfsWcache_pwrite().
ssize_t XrdFfsPosix_read | ( | int | fildes, |
void * | buf, | ||
size_t | nbyte | ||
) |
Definition at line 137 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Read().
struct dirent* XrdFfsPosix_readdir | ( | DIR * | dirp | ) |
Definition at line 87 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Readdir().
Referenced by XrdFfsPosix_x_readdirall().
int XrdFfsPosix_readdirall | ( | const char * | rdrurl, |
const char * | path, | ||
char *** | direntarray, | ||
uid_t | user_uid | ||
) |
Definition at line 474 of file XrdFfsPosix.cc.
References XrdFfsQueueTasks::args, MAXROOTURLLEN, XrdFfs_MAX_NUM_NODES, XrdFfsMisc_get_all_urls(), XrdFfsMisc_xrd_secsss_editurl(), XrdFfsPosix_x_readdirall(), and XrdFfsQueue_create_task().
int XrdFfsPosix_rename | ( | const char * | oldpath, |
const char * | newpath | ||
) |
Definition at line 167 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Rename().
Referenced by XrdFfsPosix_renameall().
int XrdFfsPosix_renameall | ( | const char * | rdrurl, |
const char * | from, | ||
const char * | to, | ||
uid_t | user_uid | ||
) |
Definition at line 339 of file XrdFfsPosix.cc.
References MAXROOTURLLEN, stat(), XrdZip::to(), XrdFfs_MAX_NUM_NODES, XrdFfsMisc_get_all_urls(), XrdFfsMisc_xrd_secsss_editurl(), XrdFfsPosix_rename(), and XrdFfsPosix_stat().
int XrdFfsPosix_rmdir | ( | const char * | path | ) |
Definition at line 117 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Rmdir().
Referenced by XrdFfsPosix_x_deleteall().
int XrdFfsPosix_rmdirall | ( | const char * | rdrurl, |
const char * | path, | ||
uid_t | user_uid | ||
) |
Definition at line 334 of file XrdFfsPosix.cc.
References XrdFfsPosix_deleteall().
int XrdFfsPosix_stat | ( | const char * | path, |
struct stat * | buf | ||
) |
Definition at line 66 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Stat().
Referenced by XrdFfsMisc_get_current_url(), XrdFfsPosix_renameall(), XrdFfsPosix_statall(), XrdFfsPosix_truncateall(), and XrdFfsPosix_x_statall().
int XrdFfsPosix_statall | ( | const char * | rdrurl, |
const char * | path, | ||
struct stat * | stbuf, | ||
uid_t | user_uid | ||
) |
Definition at line 759 of file XrdFfsPosix.cc.
References XrdFfsQueueTasks::args, MAXROOTURLLEN, XrdFfsPosixX_statall_args::res, stat(), XrdFfs_MAX_NUM_NODES, XrdFfsDent_cache_search(), XrdFfsMisc_get_all_urls(), XrdFfsMisc_get_number_of_data_servers(), XrdFfsMisc_xrd_secsss_editurl(), XrdFfsPosix_stat(), XrdFfsPosix_x_statall(), XrdFfsQueue_count_tasks(), and XrdFfsQueue_create_task().
int XrdFfsPosix_statvfsall | ( | const char * | rdrurl, |
const char * | path, | ||
struct statvfs * | stbuf, | ||
uid_t | user_uid | ||
) |
Definition at line 677 of file XrdFfsPosix.cc.
References XrdFfsQueueTasks::args, MAXROOTURLLEN, XrdFfsPosixX_statvfsall_args::osscgroup, statvfs(), XrdFfs_MAX_NUM_NODES, XrdFfsMisc_get_all_urls(), XrdFfsPosix_x_statvfsall(), and XrdFfsQueue_create_task().
int XrdFfsPosix_truncate | ( | const char * | path, |
off_t | Size | ||
) |
Definition at line 176 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Truncate().
Referenced by XrdFfsPosix_truncateall().
int XrdFfsPosix_truncateall | ( | const char * | rdrurl, |
const char * | path, | ||
off_t | size, | ||
uid_t | user_uid | ||
) |
Definition at line 390 of file XrdFfsPosix.cc.
References MAXROOTURLLEN, stat(), XrdFfs_MAX_NUM_NODES, XrdFfsMisc_get_all_urls(), XrdFfsMisc_xrd_secsss_editurl(), XrdFfsPosix_stat(), and XrdFfsPosix_truncate().
int XrdFfsPosix_unlink | ( | const char * | path | ) |
Definition at line 162 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Unlink().
Referenced by XrdFfsPosix_clear_from_rdr_cache(), and XrdFfsPosix_x_deleteall().
int XrdFfsPosix_unlinkall | ( | const char * | rdrurl, |
const char * | path, | ||
uid_t | user_uid | ||
) |
Definition at line 329 of file XrdFfsPosix.cc.
References XrdFfsPosix_deleteall().
ssize_t XrdFfsPosix_write | ( | int | fildes, |
const void * | buf, | ||
size_t | nbyte | ||
) |
Definition at line 147 of file XrdFfsPosix.cc.
References XrdPosixXrootd::Write().
void* XrdFfsPosix_x_deleteall | ( | void * | x | ) |
Definition at line 255 of file XrdFfsPosix.cc.
References XrdFfsPosixX_deleteall_args::err, XrdFfsPosixX_deleteall_args::res, XrdFfsPosixX_deleteall_args::st_mode, XrdFfsPosixX_deleteall_args::url, XrdFfsPosix_rmdir(), and XrdFfsPosix_unlink().
Referenced by XrdFfsPosix_deleteall().
void* XrdFfsPosix_x_readdirall | ( | void * | x | ) |
Definition at line 445 of file XrdFfsPosix.cc.
References XrdFfsPosixX_readdirall_args::dents, XrdFfsPosixX_readdirall_args::err, XrdFfsPosixX_readdirall_args::res, XrdFfsPosixX_readdirall_args::url, XrdFfsDent_names_add(), XrdFfsPosix_closedir(), XrdFfsPosix_opendir(), and XrdFfsPosix_readdir().
Referenced by XrdFfsPosix_readdirall().
void* XrdFfsPosix_x_statall | ( | void * | x | ) |
Definition at line 750 of file XrdFfsPosix.cc.
References XrdFfsPosixX_statall_args::err, XrdFfsPosixX_statall_args::res, XrdFfsPosixX_statall_args::stbuf, XrdFfsPosixX_statall_args::url, and XrdFfsPosix_stat().
Referenced by XrdFfsPosix_statall().
void* XrdFfsPosix_x_statvfsall | ( | void * | x | ) |
Definition at line 619 of file XrdFfsPosix.cc.
References XrdFfsPosixX_statvfsall_args::err, XrdFfsPosixX_statvfsall_args::osscgroup, XrdFfsPosixX_statvfsall_args::res, XrdFfsPosixX_statvfsall_args::stbuf, XrdFfsPosixX_statvfsall_args::url, and XrdFfsPosix_getxattr().
Referenced by XrdFfsPosix_statvfsall().