XrdFfsMisc.cc File Reference

#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
XrdSecEntityXrdFfsMiscUent
XrdSecsssIDXrdFfsMiscSssid
bool XrdFfsMiscSecsss = false
pthread_mutex_t XrdFfsMiscSecsss_mutex = PTHREAD_MUTEX_INITIALIZER


Define Documentation

#define _FILE_OFFSET_BITS   64

Definition at line 10 of file XrdFfsMisc.cc.


Function Documentation

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  ) 

Definition at line 79 of file XrdFfsMisc.cc.

References n, and strcpy().

Referenced by XrdFfsMisc_getNameByAddr().

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.


Variable Documentation

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.

XrdSecsssID* XrdFfsMiscSssid

Definition at line 327 of file XrdFfsMisc.cc.

Referenced by XrdFfsMisc_xrd_secsss_init(), and XrdFfsMisc_xrd_secsss_register().

XrdSecEntity* XrdFfsMiscUent

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.


Generated on Tue Jul 5 16:08:06 2011 for ROOT_528-00b_version by  doxygen 1.5.1