1 #ifndef __XRDOSS_CACHE_H__ 2 #define __XRDOSS_CACHE_H__ 44 #include <sys/statvfs.h> 45 #define STATFS_t struct statvfs 46 #define FS_Stat(a,b) statvfs(a,b) 47 #define FS_BLKSZ f_frsize 48 #define FS_FFREE f_favail 52 #define FS_Stat(a,b) statfs(a,b) 53 #define STATFS_t struct statfs 54 #define FS_BLKSZ f_bsize 55 #define FS_FFREE f_ffree 58 #include <sys/statfs.h> 59 #define STATFS_t struct statfs 60 #define FS_Stat(a,b) statfs(a,b) 61 #define FS_BLKSZ f_bsize 62 #define FS_FFREE f_ffree 64 #if defined(__APPLE__) || defined(__FreeBSD__) 65 #include <sys/param.h> 66 #include <sys/mount.h> 67 #define STATFS_t struct statfs 68 #define FS_Stat(a,b) statfs(a,b) 69 #define FS_BLKSZ f_bsize 70 #define FS_FFREE f_ffree 101 #define XrdOssFSData_OFFLINE 0x0001 102 #define XrdOssFSData_ADJUSTED 0x0002 103 #define XrdOssFSData_REFRESH 0x0004 143 static int Add(
const char *Path);
144 static long long freeSpace(
long long &Size,
const char *
path=0);
192 static void Adjust(dev_t devid, off_t size);
194 static void Adjust(
const char *Path, off_t size,
struct stat *buf=0);
216 static int Alloc(allocInfo &aInfo);
220 static int Init(
const char *UDir,
const char *Qfile,
int isSOL);
222 static int Init(
long long aMin,
int ovhd,
int aFuzz);
226 static char *
Parse(
const char *token,
char *cbuff,
int cblen);
228 static void *
Scan(
int cscanint);
static double fuzAlloc
Definition: XrdOssCache.hh:248
const char * cgName
Definition: XrdOssCache.hh:200
XrdOssCache_FS(int &retc, const char *fsg, const char *fsp, FSOpts opt)
XrdOssCache_Group * fsgroup
Definition: XrdOssCache.hh:141
int cgPlen
Definition: XrdOssCache.hh:203
static XrdSysMutex Mutex
Definition: XrdOssCache.hh:233
long long Quota
Definition: XrdOssCache.hh:172
static char * Parse(const char *token, char *cbuff, int cblen)
time_t updt
Definition: XrdOssCache.hh:114
XrdOssCache_Space()
Definition: XrdOssCache.hh:90
unsigned int seen
Definition: XrdOssCache.hh:116
static int Init(const char *UDir, const char *Qfile, int isSOL)
long long Quota
Definition: XrdOssCache.hh:88
Definition: XrdOssCache.hh:105
XrdOssCache_Group(const char *grp, XrdOssCache_FS *fsp=0)
Definition: XrdOssCache.hh:178
const char * group
Definition: XrdOssCache.hh:135
const char * cgPath
Definition: XrdOssCache.hh:202
XrdOssCache_FS * next
Definition: XrdOssCache.hh:134
int plen
Definition: XrdOssCache.hh:137
~XrdOssCache_FS()
Definition: XrdOssCache.hh:153
XrdOssCache_FS * curr
Definition: XrdOssCache.hh:170
allocInfo(const char *pP, char *bP, int bL)
Definition: XrdOssCache.hh:210
~allocInfo()
Definition: XrdOssCache.hh:213
dev_t fsid
Definition: XrdOssCache.hh:112
long long frsz
Definition: XrdOssCache.hh:111
static int Add(const char *Path)
static int ovhAlloc
Definition: XrdOssCache.hh:249
Definition: XrdOssCache.hh:132
long long Largest
Definition: XrdOssCache.hh:84
static XrdOssCache_FS * Find(const char *Path, int lklen=0)
static XrdOssCache_FS * fsfirst
Definition: XrdOssCache.hh:240
Definition: XrdSysError.hh:89
const char * Path
Definition: XrdOssCache.hh:199
Definition: XrdSysPthread.hh:165
static long long fsFree
Definition: XrdOssCache.hh:238
static int Usage
Definition: XrdOssCache.hh:251
long long Usage
Definition: XrdOssCache.hh:87
static XrdOssCache_FSData * fsdata
Definition: XrdOssCache.hh:242
static long long fsLarge
Definition: XrdOssCache.hh:236
static long long fsTotal
Definition: XrdOssCache.hh:235
long long cgSize
Definition: XrdOssCache.hh:201
static void List(const char *lname, XrdSysError &Eroute)
long long Usage
Definition: XrdOssCache.hh:171
static int getSpace(XrdOssCache_Space &Space, const char *sname)
Definition: XrdOssCache.hh:77
long long Total
Definition: XrdOssCache.hh:81
long long Maxfree
Definition: XrdOssCache.hh:83
static void * Scan(int cscanint)
long long size
Definition: XrdOssCache.hh:110
XrdOssCache_FSData * fsdata
Definition: XrdOssCache.hh:140
char suffix[4]
Definition: XrdOssCache.hh:139
XrdOssCache_Group * next
Definition: XrdOssCache.hh:168
long long Inodes
Definition: XrdOssCache.hh:85
char * cgPsfx
Definition: XrdOssCache.hh:206
static int Quotas
Definition: XrdOssCache.hh:250
~XrdOssCache_Space()
Definition: XrdOssCache.hh:92
char * cgPFbf
Definition: XrdOssCache.hh:205
Definition: XrdOssCache.hh:188
Definition: XrdOssCache.hh:164
XrdOssCache_FSData(const char *, STATFS_t &, dev_t)
static int Alloc(allocInfo &aInfo)
#define stat(a, b)
Definition: XrdPosix.hh:96
XrdOssCache_FSData * next
Definition: XrdOssCache.hh:109
const char * path
Definition: XrdOssCache.hh:113
static XrdOssCache_Group * fsgroups
Definition: XrdOssCache.hh:176
static long long freeSpace(long long &Size, const char *path=0)
static long long minAlloc
Definition: XrdOssCache.hh:247
const char * path
Definition: XrdOssCache.hh:136
int GRPid
Definition: XrdOssCache.hh:173
Definition: XrdOssCache.hh:198
static long long PubQuota
Definition: XrdOssCache.hh:174
XrdOssCache_FS * cgFSp
Definition: XrdOssCache.hh:207
Definition: XrdOssCache.hh:132
char * group
Definition: XrdOssCache.hh:169
~XrdOssCache()
Definition: XrdOssCache.hh:231
static void Adjust(dev_t devid, off_t size)
int cgPFsz
Definition: XrdOssCache.hh:204
FSOpts opts
Definition: XrdOssCache.hh:138
FSOpts
Definition: XrdOssCache.hh:132
Definition: XrdOssCache.hh:128
static long long fsTotFr
Definition: XrdOssCache.hh:237
long long Inleft
Definition: XrdOssCache.hh:86
~XrdOssCache_Group()
Definition: XrdOssCache.hh:181
long long Free
Definition: XrdOssCache.hh:82
XrdOssCache()
Definition: XrdOssCache.hh:230
static XrdOssCache_FS * fslast
Definition: XrdOssCache.hh:241
~XrdOssCache_FSData()
Definition: XrdOssCache.hh:119
static int fsCount
Definition: XrdOssCache.hh:243
static long long fsSize
Definition: XrdOssCache.hh:239
int stat
Definition: XrdOssCache.hh:115
mode_t aMode
Definition: XrdOssCache.hh:208