#include <string.h>
#include <sys/types.h>
#include <iostream>
#include <libgen.h>
#include <unistd.h>
#include <netdb.h>
#include <pwd.h>
#include <grp.h>
#include <time.h>
#include <pthread.h>
#include <syslog.h>
#include "XrdClient/XrdClientUrlInfo.hh"
#include "XrdClient/XrdClientEnv.hh"
#include "XrdClient/XrdClientConst.hh"
#include "XrdClient/XrdClient.hh"
#include "XrdClient/XrdClientAdmin.hh"
#include "XrdOuc/XrdOucString.hh"
#include "XrdSec/XrdSecEntity.hh"
#include "XrdSecsss/XrdSecsssID.hh"
#include "XrdFfs/XrdFfsDent.hh"
#include "XrdFfs/XrdFfsFsinfo.hh"
#include "XrdFfs/XrdFfsMisc.hh"
#include "XrdFfs/XrdFfsPosix.hh"
#include "XrdFfs/XrdFfsQueue.hh"
Go to the source code of this file.
Defines | |
#define | _FILE_OFFSET_BITS 64 |
Functions | |
char | XrdFfsMisc_get_current_url (const char *oldurl, char *newurl) |
uint32_t | XrdFfsMisc_ip2nl (char *ip) |
char * | XrdFfsMisc_getNameByAddr (char *ipaddr) |
int | XrdFfsMisc_get_all_urls_real (const char *oldurl, char **newurls, const int nnodes) |
int | XrdFfsMisc_get_all_urls (const char *oldurl, char **newurls, const int nnodes) |
int | XrdFfsMisc_get_list_of_data_servers (char *list) |
void | XrdFfsMisc_refresh_url_cache (const char *url) |
void | XrdFfsMisc_xrd_init (const char *rdrurl, int startQueue) |
void | XrdFfsMisc_xrd_secsss_init () |
void | XrdFfsMisc_xrd_secsss_register (uid_t user_uid, gid_t user_gid) |
void | XrdFfsMisc_xrd_secsss_editurl (char *url, uid_t user_uid) |
Variables | |
char | XrdFfsMiscCururl [1024] = "" |
char * | XrdFfsMiscUrlcache [XrdFfs_MAX_NUM_NODES] |
int | XrdFfsMiscNcachedurls = 0 |
time_t | XrdFfsMiscUrlcachetime = 0 |
pthread_mutex_t | XrdFfsMiscUrlcache_mutex = PTHREAD_MUTEX_INITIALIZER |
XrdSecEntity * | XrdFfsMiscUent |
XrdSecsssID * | XrdFfsMiscSssid |
bool | XrdFfsMiscSecsss = false |
pthread_mutex_t | XrdFfsMiscSecsss_mutex = PTHREAD_MUTEX_INITIALIZER |
#define _FILE_OFFSET_BITS 64 |
Definition at line 10 of file XrdFfsMisc.cc.
int XrdFfsMisc_get_all_urls | ( | const char * | oldurl, | |
char ** | newurls, | |||
const int | nnodes | |||
) |
Definition at line 171 of file XrdFfsMisc.cc.
References free(), i, malloc(), NULL, pthread_mutex_lock(), pthread_mutex_unlock(), strcpy(), XrdFfs_MAX_NUM_NODES, and XrdFfsMisc_get_all_urls_real().
Referenced by XrdFfsMisc_get_all_urls_real(), XrdFfsMisc_refresh_url_cache(), XrdFfsPosix_deleteall(), XrdFfsPosix_readdirall(), XrdFfsPosix_renameall(), XrdFfsPosix_statall(), XrdFfsPosix_statvfsall(), and XrdFfsPosix_truncateall().
int XrdFfsMisc_get_all_urls_real | ( | const char * | oldurl, | |
char ** | newurls, | |||
const int | nnodes | |||
) |
Definition at line 119 of file XrdFfsMisc.cc.
References XrdOucString::c_str(), XrdClientAdmin::Connect(), XrdClientLocate_Info::Infotype, XrdClientLocate_Info::kXrdcLocManager, XrdClientLocate_Info::kXrdcLocManagerPending, XrdClientAdmin::Locate(), XrdClientLocate_Info::Location, p, strcat(), strcpy(), and XrdFfsMisc_get_all_urls().
Referenced by XrdFfsMisc_get_all_urls().
char XrdFfsMisc_get_current_url | ( | const char * | oldurl, | |
char * | newurl | |||
) |
Definition at line 42 of file XrdFfsMisc.cc.
References XrdOucString::c_str(), XrdClientAdmin::Connect(), flags, XrdClientAbs::GetCurrentUrl(), XrdClientUrlInfo::GetUrl(), id, XrdClientUrlInfo::IsValid(), p, S_ISDIR, size, stat, XrdClientAdmin::Stat(), strcpy(), and XrdFfsPosix_stat().
int XrdFfsMisc_get_list_of_data_servers | ( | char * | list | ) |
Definition at line 205 of file XrdFfsMisc.cc.
References free(), i, malloc(), p, XrdMonCtrCollector::port, pthread_mutex_lock(), pthread_mutex_unlock(), strcat(), strcpy(), XrdFfs_MAX_NUM_NODES, and XrdFfsMisc_getNameByAddr().
Referenced by XrdFfsMisc_xrd_init().
char* XrdFfsMisc_getNameByAddr | ( | char * | ipaddr | ) |
Definition at line 107 of file XrdFfsMisc.cc.
References malloc(), strcpy(), and XrdFfsMisc_ip2nl().
Referenced by XrdFfsMisc_get_list_of_data_servers().
uint32_t XrdFfsMisc_ip2nl | ( | char * | ip | ) |
void XrdFfsMisc_refresh_url_cache | ( | const char * | url | ) |
Definition at line 237 of file XrdFfsMisc.cc.
References free(), i, malloc(), NULL, pthread_mutex_lock(), pthread_mutex_unlock(), XrdFfs_MAX_NUM_NODES, and XrdFfsMisc_get_all_urls().
Referenced by XrdPssSys::Configure(), and XrdFfsMisc_xrd_init().
void XrdFfsMisc_xrd_init | ( | const char * | rdrurl, | |
int | startQueue | |||
) |
Definition at line 261 of file XrdFfsMisc.cc.
References EnvPutInt, free(), getenv(), i, malloc(), NAME_DATASERVERCONN_TTL, NAME_FIRSTCONNECTMAXCNT, NAME_READAHEADSIZE, NAME_READCACHESIZE, NAME_REQUESTTIMEOUT, NULL, p1(), p2(), XrdFfs_MAX_NUM_NODES, XrdFfsDent_cache_init(), XrdFfsMisc_get_list_of_data_servers(), XrdFfsMisc_refresh_url_cache(), XrdFfsMisc_xrd_secsss_init(), XrdFfsQueue_count_workers(), and XrdFfsQueue_create_workers().
void XrdFfsMisc_xrd_secsss_editurl | ( | char * | url, | |
uid_t | user_uid | |||
) |
Definition at line 360 of file XrdFfsMisc.cc.
References sprintf(), strcat(), and strcpy().
Referenced by XrdFfsPosix_deleteall(), XrdFfsPosix_readdirall(), XrdFfsPosix_renameall(), XrdFfsPosix_statall(), and XrdFfsPosix_truncateall().
void XrdFfsMisc_xrd_secsss_init | ( | ) |
Definition at line 331 of file XrdFfsMisc.cc.
References XrdSecsssID::idDynamic, XrdFfsMiscSssid, and XrdFfsMiscUent.
Referenced by XrdFfsMisc_xrd_init().
void XrdFfsMisc_xrd_secsss_register | ( | uid_t | user_uid, | |
gid_t | user_gid | |||
) |
Definition at line 338 of file XrdFfsMisc.cc.
References gr, XrdSecEntity::grps, XrdSecEntity::name, pthread_mutex_lock(), pthread_mutex_unlock(), passwd::pw_name, XrdSecsssID::Register(), sprintf(), XrdFfsMiscSssid, and XrdFfsMiscUent.
char XrdFfsMiscCururl[1024] = "" |
Definition at line 165 of file XrdFfsMisc.cc.
int XrdFfsMiscNcachedurls = 0 |
Definition at line 167 of file XrdFfsMisc.cc.
bool XrdFfsMiscSecsss = false |
Definition at line 328 of file XrdFfsMisc.cc.
pthread_mutex_t XrdFfsMiscSecsss_mutex = PTHREAD_MUTEX_INITIALIZER |
Definition at line 329 of file XrdFfsMisc.cc.
Definition at line 327 of file XrdFfsMisc.cc.
Referenced by XrdFfsMisc_xrd_secsss_init(), and XrdFfsMisc_xrd_secsss_register().
Definition at line 326 of file XrdFfsMisc.cc.
Referenced by XrdFfsMisc_xrd_secsss_init(), and XrdFfsMisc_xrd_secsss_register().
char* XrdFfsMiscUrlcache[XrdFfs_MAX_NUM_NODES] |
Definition at line 166 of file XrdFfsMisc.cc.
pthread_mutex_t XrdFfsMiscUrlcache_mutex = PTHREAD_MUTEX_INITIALIZER |
Definition at line 169 of file XrdFfsMisc.cc.
time_t XrdFfsMiscUrlcachetime = 0 |
Definition at line 168 of file XrdFfsMisc.cc.