Go to the documentation of this file. 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 XrdSysMutex Mutex
Definition: XrdOssCache.hh:233
unsigned int seen
Definition: XrdOssCache.hh:116
~allocInfo()
Definition: XrdOssCache.hh:213
long long Inleft
Definition: XrdOssCache.hh:86
static double fuzAlloc
Definition: XrdOssCache.hh:248
XrdOssCache_FS * next
Definition: XrdOssCache.hh:134
int plen
Definition: XrdOssCache.hh:137
const char * path
Definition: XrdOssCache.hh:136
~XrdOssCache_FS()
Definition: XrdOssCache.hh:153
Definition: XrdSysPthread.hh:165
static char * Parse(const char *token, char *cbuff, int cblen)
long long Largest
Definition: XrdOssCache.hh:84
static int Add(const char *Path)
static long long fsSize
Definition: XrdOssCache.hh:239
dev_t fsid
Definition: XrdOssCache.hh:112
XrdOssCache_Group * fsgroup
Definition: XrdOssCache.hh:141
static long long PubQuota
Definition: XrdOssCache.hh:174
static int getSpace(XrdOssCache_Space &Space, const char *sname)
~XrdOssCache_FSData()
Definition: XrdOssCache.hh:119
XrdOssCache_Group * next
Definition: XrdOssCache.hh:168
static XrdOssCache_FS * fsfirst
Definition: XrdOssCache.hh:240
const char * path
Definition: XrdOssCache.hh:113
long long Usage
Definition: XrdOssCache.hh:87
Definition: XrdOssCache.hh:105
const char * group
Definition: XrdOssCache.hh:135
static int Init(const char *UDir, const char *Qfile, int isSOL)
long long Quota
Definition: XrdOssCache.hh:88
static int ovhAlloc
Definition: XrdOssCache.hh:249
XrdOssCache_FSData * fsdata
Definition: XrdOssCache.hh:140
int GRPid
Definition: XrdOssCache.hh:173
static XrdOssCache_FS * Find(const char *Path, int lklen=0)
static long long fsLarge
Definition: XrdOssCache.hh:236
Definition: XrdOssCache.hh:188
XrdOssCache_FS * curr
Definition: XrdOssCache.hh:170
Definition: XrdOssCache.hh:77
long long Total
Definition: XrdOssCache.hh:81
Definition: XrdOssCache.hh:198
XrdOssCache_FSData * next
Definition: XrdOssCache.hh:109
long long Inodes
Definition: XrdOssCache.hh:85
char * cgPFbf
Definition: XrdOssCache.hh:205
~XrdOssCache_Group()
Definition: XrdOssCache.hh:181
static long long fsFree
Definition: XrdOssCache.hh:238
static int Quotas
Definition: XrdOssCache.hh:250
@ isXA
Definition: XrdOssCache.hh:132
long long cgSize
Definition: XrdOssCache.hh:201
~XrdOssCache_Space()
Definition: XrdOssCache.hh:92
static XrdOssCache_Group * fsgroups
Definition: XrdOssCache.hh:176
long long frsz
Definition: XrdOssCache.hh:111
static void List(const char *lname, XrdSysError &Eroute)
static long long fsTotal
Definition: XrdOssCache.hh:235
char * cgPsfx
Definition: XrdOssCache.hh:206
const char * Path
Definition: XrdOssCache.hh:199
allocInfo(const char *pP, char *bP, int bL)
Definition: XrdOssCache.hh:210
static int Usage
Definition: XrdOssCache.hh:251
int cgPlen
Definition: XrdOssCache.hh:203
static long long freeSpace(long long &Size, const char *path=0)
@ None
Definition: XrdOssCache.hh:132
static void * Scan(int cscanint)
long long Quota
Definition: XrdOssCache.hh:172
~XrdOssCache()
Definition: XrdOssCache.hh:231
static XrdOssCache_FSData * fsdata
Definition: XrdOssCache.hh:242
const char * cgName
Definition: XrdOssCache.hh:200
long long Usage
Definition: XrdOssCache.hh:171
XrdOssCache_FS * cgFSp
Definition: XrdOssCache.hh:207
long long Maxfree
Definition: XrdOssCache.hh:83
mode_t aMode
Definition: XrdOssCache.hh:208
long long Free
Definition: XrdOssCache.hh:82
static int Alloc(allocInfo &aInfo)
char suffix[4]
Definition: XrdOssCache.hh:139
const char * cgPath
Definition: XrdOssCache.hh:202
time_t updt
Definition: XrdOssCache.hh:114
static long long fsTotFr
Definition: XrdOssCache.hh:237
Definition: XrdOssCache.hh:164
static XrdOssCache_FS * fslast
Definition: XrdOssCache.hh:241
static int fsCount
Definition: XrdOssCache.hh:243
Definition: XrdOssCache.hh:128
static long long minAlloc
Definition: XrdOssCache.hh:247
#define stat(a, b)
Definition: XrdPosix.hh:96
static void Adjust(dev_t devid, off_t size)
int stat
Definition: XrdOssCache.hh:115
Definition: XrdSysError.hh:89
long long size
Definition: XrdOssCache.hh:110
XrdOssCache_Space()
Definition: XrdOssCache.hh:90
XrdOssCache()
Definition: XrdOssCache.hh:230
XrdOssCache_FS(int &retc, const char *fsg, const char *fsp, FSOpts opt)
char * group
Definition: XrdOssCache.hh:169
FSOpts opts
Definition: XrdOssCache.hh:138
XrdOssCache_Group(const char *grp, XrdOssCache_FS *fsp=0)
Definition: XrdOssCache.hh:178
XrdOssCache_FSData(const char *, STATFS_t &, dev_t)
FSOpts
Definition: XrdOssCache.hh:132
int cgPFsz
Definition: XrdOssCache.hh:204